Actions Tab - Complete User Guide
The Actions Tab is where you bring your data to life - merge documents, build complex placeholders visually, create exports, and send email campaigns.
---
๐ Table of Contents
- Overview
- Sub-Tab: Merge
- Sub-Tab: Builder
- Sub-Tab: Export
- Sub-Tab: Email Campaigns
- Sub-Tab: Email Analytics
- Sub-Tab: Email Config
- Quick Reference
- Common Workflows
- Troubleshooting
---
Overview
The Actions Tab contains 6 sub-tabs organized in two rows:
Row 1:
- ๐ Merge - Generate documents with your data
- ๐จ Builder - Visual tool to build placeholders and logic
- ๐ค Export - Create workflow automation packages
- ๐ง Email Campaigns - Send tracked email campaigns via Microsoft Graph
- ๐ Email Analytics - View email performance metrics
- โ๏ธ Email Config - Configure email connection and settings
This is where you take data from the Data Tab and DO SOMETHING with it. Each sub-tab serves a specific action-oriented purpose.
---
Sub-Tab: Merge
Purpose: Generate Word documents by merging your data files with template placeholders.
๐ Data Actions
The core document generation interface where data flows through your template.
What You Need First
Before using the Merge tab:
- Data file uploaded (from Data โ Files tab)
- Placeholders in your document (like
<or> [[ImageName]]) - Optional: Word template loaded (from Data โ Files โ Word Templates)
---
๐ Step-by-Step: Generate Documents
Step 1: Select Your Data File
Where: Top dropdown labeled "Data File:"
What To Do:
- Click the dropdown
- Select your uploaded CSV file from the list
- The dropdown shows all files from Data โ Files tab
- File names with row counts
- Example: "customers.csv (150 rows)"
---
Step 2: Choose a Word Template (Optional)
Where: "Word Template:" dropdown under "Layout & Flow" section
What To Do:
- Option A: Use current document
- Current document will be used as template
- Option B: Load a saved template
- Click "Load" button
- Template content loads into current document
- Or click "Download" to get the .docx file
Pro Tip: Templates are Word documents you saved in Data โ Files โ Word Templates tab
---
Step 3: Select Data Flow Option
Where: "Data Flow:" dropdown
The 3 Data Flow Options:
| Option | What It Does | Best For | Result |
|--------|--------------|----------|--------|
| One Per Page | Creates one page for each data row | Printing multiple items, labels, flyers | Multi-page document (1 page = 1 record) |
| Single Document (ForEach Loops) | Uses <% %> loop blocks for dynamic lists | Invoices with line items, reports | Single document with repeating sections |
| Flow Columns | Arranges data in newspaper-style columns | Product catalogs, directories | Data flows continuously through columns |
---
##### Flow Option 1: One Per Page
When to use: You want separate pages for each row of data.
Examples:
- Personalized letters (1 letter per customer)
- Product specification sheets (1 page per product)
- Name badges or labels
- Real estate listing sheets
- Your template becomes a "master" page
- System creates a copy of that page for each data row
- Placeholders are replaced with data from that row
- Pages are separated by page breaks
- Final document has N pages for N rows
``
Dear <
Thank you for your order #<
Your total is $<
Sincerely,
Company Name
---PAGE BREAK---
Dear <
...
`
Result: If you have 10 customers, you get a 10-page document
---
##### Flow Option 2: Single Document (ForEach Loops)
When to use: You need repeating sections within a single document.
Examples:
- Invoice with multiple line items
- Purchase order with product list
- Report with data table rows
- Email with dynamic bullet lists
- Uses special <%...%>
loop blocks in your template - Loop blocks repeat for related data (master-detail relationships)
- Main document placeholders show master record data
- Loop blocks show detail records
`
<%ArrayName%>
Content that repeats for each item
Use <
<%end%>
`
Example Template:
`
Invoice #<
Customer: <
Date: <
ITEMS:
<%OrderItems%>
โข <
<%end%>
Total: $<
`
Result: Single invoice document with however many line items that customer ordered
Setup Required:
- Must link detail file to master file (in Data โ Files โ Create relationship)
- Array name comes from the relationship name
---
##### Flow Option 3: Flow Columns
When to use: You want data to flow through multiple columns like a newspaper.
Examples:
- Product catalog with 2-3 columns
- Directory listing
- Menu items arranged in columns
- Multi-column price lists
- Template defines column layout
- Data flows from top of first column down
- Continues at top of next column
- Like reading a newspaper
---
Step 4: Optional - Select Graphic Library
Where: "Graphic Library:" dropdown under "Options" section
What To Do:
- Option A: Leave as "Auto-detect (default)"
- Works if image names are unique
- Option B: Select specific library
- Limits image search to that library
- Faster if you have many libraries
When to select specific library:
- Multiple images with same filename across libraries
- Want to control which image version is used
- Performance optimization for large image collections
---
Step 5: Run the Action
Where: "Run Action" button under "Data Flow" section
What To Do:
- Click the "Run Action" button
- Progress indicator appears showing:
- Record counter (e.g., "Record 5 of 20")
- Progress percentage
- Time elapsed and estimated remaining
- Wait for completion
- Document is generated!
- System reads your template
- For each data row:
- Inserts images
- Applies post-processing functions
- Formats content
- Creates pages based on data flow option
- Shows final document in Word
- Real-time updates - See which record is processing
- Time estimates - Know how long it will take
- Cancel button - Stop processing if needed
- Close button (appears when done) - Dismiss the indicator
---
๐ Understanding the Process
Behind the Scenes:
`
Template + Data + Settings
โ
Read template
โ
Load CSV data
โ
For each row:
- Replace <
- Insert [[images]]
- Apply {{functions}}
- Create page/section
โ
Format document
โ
Show in Word
`
Performance:
- 10 rows: ~5 seconds
- 50 rows: ~20 seconds
- 100 rows: ~40 seconds
- 500 rows: ~3-4 minutes
Times vary based on:
- Number of images
- Post-processing functions used
- Computer speed
- Document complexity
---
๐ฏ Example Workflow: Customer Letters
Goal: Generate 50 personalized customer letters
Setup (5 minutes):
- Data โ Files โ Upload "customers.csv" (50 rows with FirstName, LastName, AccountNumber)
- In Word, type your letter template:
Dear <> <>,
Your account #<> has been updated.
Thank you for your continued business.
Sincerely,
Customer Service Team
`
- Save current document as template (Data โ Files โ Word Templates โ Save Current Doc โ "Customer Letter Template")
Generate (1 minute):
- Actions โ Merge
- Data File: Select "customers.csv"
- Word Template: Select "Customer Letter Template" โ Click "Load"
- Data Flow: Select "One Per Page"
- Click "Run Action"
- Wait ~30 seconds
- Done! 50-page document with one personalized letter per page
Print: File โ Print โ Print all pages or select pages 1-10 for first batch
---
๐ก Pro Tips for Merge
Tip 1: Test with Small Data First
Before running with 500 rows, test with 5 rows:
- Create a test CSV with just 5 rows
- Upload and run merge
- Verify output looks correct
- Then use full data file
Tip 2: Use Templates for Consistency
Don't recreate templates each time:
- Design once, save as template
- Load template each time you need it
- Placeholders already in place
- Formatting preserved
Tip 3: Monitor Progress for Large Jobs
For 100+ rows:
- Watch the progress indicator
- Note time per record (e.g., 2 seconds each)
- Calculate total: 200 records ร 2 sec = 6.7 minutes
- Plan accordingly
Tip 4: Cancel and Restart If Needed
Made a mistake?
- Click "Cancel" button in progress indicator
- Fix your template or settings
- Run again
Tip 5: Use ForEach Loops for Complex Documents
Invoices, reports with tables:
- Set up master-detail relationships (Data โ Files)
- Use Single Document flow
- Add
<%ArrayName%> loop blocks
Much more powerful than One Per Page
---
Sub-Tab: Builder
Purpose: Visual tool to build complex placeholders, post-processing functions, conditional logic, and loops without memorizing syntax.
๐จ Smart Insertion Builder
Stop memorizing syntax! Use the Builder to construct everything visually.
What You Can Build:
- Basic field placeholders (
<)
Image placeholders ( [[ImageName]])
Post-processing functions ( {{Function|params}})
Conditional blocks ( <#if>...#if>)
Loop blocks ( <%ArrayName%>...<%end%>)
Pre-built snippets (financial, contact info, etc.)
All without typing confusing syntax!
---
๐๏ธ The 5 Builder Tabs
The Builder has 5 tabs at the top:
- Basic Fields - Simple text and image placeholders
- Post-Processing - Add formatting and transformation functions
- Conditionals - If/then/else logic
- Loops - Repeating sections (master-detail)
- Snippets - Pre-built common patterns
---
Tab 1: Basic Fields
Purpose: Insert simple placeholders for text or images.
Building a Text Placeholder
Steps:
- Select data file from dropdown
- Select field from dropdown
- Choose "Text <
>" radio button (selected by default)
- Preview shows:
<
Click "Insert into Document"
Placeholder appears at your cursor in Word
Example:
- Data file: customers.csv
- Field: FirstName
- Preview:
<
Click Insert โ < appears in document
---
Building an Image Placeholder
Steps:
- Select data file from dropdown
- Select field from dropdown (field should contain image filename)
- Choose "Image [[field]]" radio button
- Preview shows:
[[FieldName]]
Click "Insert into Document"
Image placeholder appears in document
Example:
- Data file: products.csv
- Field: ProductImage
- Preview:
[[ProductImage]]
Click Insert โ [[ProductImage]] appears
During merge, if ProductImage = "widget.jpg", system inserts that image
Important: The field value must match an image filename in your Media libraries
---
Tab 2: Post-Processing
Purpose: Add functions to format, transform, or style your data.
What Are Post-Processing Functions?
Functions that transform data AFTER it's retrieved but BEFORE it's displayed.
Syntax: {{FunctionName|param1|param2|...}}
How to Build
Steps:
- Select data file
- Select field
- Select function category from dropdown:
- Text Formatting (uppercase, lowercase, capitalize, etc.)
- Data Formatting (dates, numbers, currency)
- Conditional Logic (default values, replace)
- Visual Styling (bold, italic, colors)
- Image Functions (resize, borders, positioning)
- Layout Functions (spacing, alignment)
- Function list appears showing available functions in that category
- Click a function card to add it
- Function appears in "Selected Functions" list
- Enter parameters if needed
- Preview updates to show full syntax
- Click "Insert into Document"
---
Example: Format Currency
Goal: Display price as currency
Steps:
- Data file: products.csv
- Field: Price
- Category: Data Formatting
- Click "FormatCurrency" function
- Preview shows:
{{FormatCurrency|<
Click Insert
Result: If Price = 29.99, displays as "$29.99"
---
Example: Multiple Functions (Chaining)
Goal: Make name uppercase and bold
Steps:
- Data file: customers.csv
- Field: LastName
- Category: Text Formatting
- Click "Uppercase" โ Added to selected functions
- Category: Visual Styling
- Click "Bold" โ Added to selected functions
- Preview:
{{Bold|{{Uppercase|<
Click Insert
Result: "SMITH" appears in bold
Function Order Matters:
- Inner function runs first (Uppercase)
- Outer function runs second (Bold)
- Think of it like nested parentheses
---
Common Post-Processing Functions
Text Formatting:
| Function | Example Input | Example Output |
|----------|--------------|----------------|
| Uppercase | john smith | JOHN SMITH |
| Lowercase | JOHN SMITH | john smith |
| Capitalize | john smith | John Smith |
| TitleCase | john smith | John Smith |
| Trim | " text " | "text" |
Data Formatting:
| Function | Example Input | Example Output |
|----------|--------------|----------------|
| FormatCurrency | 1234.5 | $1,234.50 |
| FormatDate | 2026-01-23 | January 23, 2026 |
| FormatNumber | 1234567 | 1,234,567 |
| FormatPhone | 5551234567 | (555) 123-4567 |
Conditional Logic:
| Function | What It Does |
|----------|--------------|
| Default | Show default value if field is empty |
| Replace | Replace text with other text |
| IfEmpty | Show message if field is empty |
Visual Styling:
| Function | What It Does |
|----------|--------------|
| Bold | Make text bold |
| Italic | Make text italic |
| Color | Change text color |
| FontSize | Change font size |
Image Functions:
| Function | Parameters | What It Does |
|----------|------------|--------------|
| InsertImage | path, width, height | Insert and size image |
| ImageBorder | thickness, color | Add border to image |
| ImagePosition | left, right, center | Position image |
---
Tab 3: Conditionals
Purpose: Show different content based on data values (if/then/else logic).
Syntax:
`
<#if condition>
Content when TRUE
<#else>
Content when FALSE
#if>
`
---
How to Build
Steps:
- Select data file
- Select condition field (the field you're checking)
- Select operator:
- = Equal to
-
!= Not equal to
-
> Greater than
-
< Less than
-
>= Greater than or equal
-
<= Less than or equal
-
CONTAINS Text contains
-
STARTSWITH Text starts with
-
ENDSWITH Text ends with
- Enter comparison value
- Enter content to show when TRUE
- (Optional) Enter content to show when FALSE (else clause)
- Preview updates
- Click "Insert Conditional Block"
---
Example: VIP Customer Greeting
Goal: Show "Dear Valued VIP Customer" if Status=VIP, otherwise "Dear Customer"
Steps:
- Data file: customers.csv
- Condition Field: Status
- Operator:
=
Value: VIP
Content when TRUE: Dear Valued VIP Customer <
Content when FALSE: Dear Customer <
Preview shows full if/else block
Click Insert
Result in Document:
`
<#if Status = VIP>
Dear Valued VIP Customer <> <>,
<#else>
Dear Customer <> <>,
#if>
`
After Merge:
- If Status = "VIP" โ "Dear Valued VIP Customer John Smith,"
- If Status = "Regular" โ "Dear Customer Jane Doe,"
---
Example: Discount Notice
Goal: Show discount message only if purchase amount > 1000
Steps:
- Data file: orders.csv
- Condition Field: TotalAmount
- Operator:
>
Value: 1000
Content when TRUE: ๐ You qualify for our premium discount!
Content when FALSE: (leave empty)
Click Insert
Result:
- Orders over $1000 see the discount message
- Orders under $1000 see nothing
---
Tab 4: Loops
Purpose: Create repeating sections for master-detail relationships (like invoice line items).
When to Use:
- Invoices with multiple products
- Orders with line items
- Reports with data tables
- Any one-to-many relationship
Syntax:
`
<%ArrayName%>
Content that repeats
<>
<>
<%end%>
`
---
How to Build
Prerequisites:
- You must have set up a master-detail relationship in Data โ Files
- Master file (e.g., invoices.csv) linked to detail file (e.g., line_items.csv)
- Array name comes from the relationship
Steps:
- Select master data file
- Select related array from dropdown (shows linked arrays)
- Enter loop content template
- Use < syntax for array fields
- Can include regular text, formatting, etc.
- Preview updates
- Click "Insert Loop Block"
---
Example: Invoice Line Items
Setup:
- Master file: invoices.csv (InvoiceNumber, CustomerName, InvoiceDate)
- Detail file: line_items.csv (InvoiceNumber, Product, Quantity, Price)
- Relationship: "OrderItems" linking invoices to line_items via InvoiceNumber
Steps in Builder:
- Master file: invoices.csv
- Related Array: OrderItems
- Loop Content:
`
โข <> - Qty: <> - $<>
`
- Preview shows full loop block
- Click Insert
Result in Document:
`
Invoice #<>
Customer: <>
Date: <>
ITEMS:
<%OrderItems%>
โข <> - Qty: <> - $<>
<%end%>
Total: $<>
`
After Merge (if invoice has 3 items):
`
Invoice #12345
Customer: Acme Corp
Date: 2026-01-23
ITEMS:
โข Widget - Qty: 2 - $29.99
โข Gadget - Qty: 1 - $49.99
โข Doohickey - Qty: 5 - $9.99
Total: $159.94
`
---
Tab 5: Snippets
Purpose: Use pre-built templates for common patterns.
What Are Snippets?
Ready-made placeholder patterns for frequently used scenarios.
Categories:
- Financial - Currency, totals, invoices
- Contact - Addresses, phone numbers, emails
- Conditional - Common if/then patterns
- Custom - Your saved snippets
---
How to Use
Steps:
- (Optional) Type in search box to filter snippets
- Click a category button to filter by type
- Browse snippet cards
- Each card shows:
- Snippet name
- Description
- Preview of syntax
- Click "Insert" button on any snippet
- Snippet code appears in your document
---
Example Snippets
Financial Category:
- Invoice Total with Tax
`
Subtotal: $<>
Tax ({{multiply|<>|0.08}}): $<>
Total: $<>
`
- Currency with Symbol
`
{{FormatCurrency|<>}}
`
Contact Category:
- Full Address Block
`
<>
<>, <> <>
`
- Phone Number Formatted
`
{{FormatPhone|<>}}
`
Conditional Category:
- Discount If Qualifies
`
<#if TotalAmount > 500>
Special Discount: -$50
#if>
`
---
Creating Custom Snippets
How to Save Your Own:
- Build a complex placeholder pattern you use often
- Give it a name
- Add description
- Save to Custom category
- Reuse anytime!
Example Custom Snippet:
Name: "VIP Customer Header"
Code:
`
<#if Status = VIP>
โญ VALUED VIP CUSTOMER โญ
<> <>
Member Since: <>
<#else>
<> <>
#if>
`
---
๐ Builder Benefits
Why Use Builder Instead of Typing?
- No Syntax Memorization
- Point and click
- Preview before inserting
- Impossible to get syntax wrong
- Discover Features
- See all available functions
- Learn what's possible
- Find functions you didn't know existed
- Faster
- Select from dropdowns
- Click to add functions
- Instant preview
- Error-Free
- Builder generates correct syntax
- Parameter validation
- No typos
- Visual Feedback
- See what you're building
- Preview updates in real-time
- Verify before inserting
---
๐ก Builder Pro Tips
Tip 1: Open in Window for More Space
Click "Open in Window" button (top right)
- Opens Builder in larger popup window
- More room to work
- See more functions at once
- Better for complex builds
Tip 2: Use Snippets as Starting Points
- Insert a snippet
- Edit the code in Word
- Customize for your needs
- Save as new custom snippet
Tip 3: Build Complex Placeholders Step by Step
Don't try to build everything at once:
- Start with basic placeholder
- Add one function
- Test it
- Add another function
- Test again
- Repeat
Tip 4: Preview is Your Friend
Always check the preview before inserting:
- Verify syntax looks correct
- Check parameter order
- Make sure it matches what you want
Tip 5: Save Common Patterns as Snippets
If you build the same thing multiple times:
- Save it as a custom snippet
- Reuse instantly next time
- Build your personal snippet library
---
Sub-Tab: Export
Purpose: Create complete workflow automation packages for advanced integration scenarios. For most users, sending emails directly via Microsoft Graph / Office 365 (Email Campaigns tab) is the recommended approach.
๐ค Workflow Automation Export
Generate ZIP packages for advanced workflow automation scenarios. Note: For most email campaigns, using Microsoft Graph / Office 365 integration directly (Email Campaigns tab) is simpler and recommended.
What's a Workflow Automation Package?
A downloadable ZIP file containing:
- Merged HTML email bodies (one per recipient)
- Email data CSV with recipient info
- Optional merged Word/PDF attachments
- Static files (logos, PDFs, etc.)
- Pre-configured flow.json file
- README with setup instructions
Use Case:
You have 500 customers and want to send personalized emails with attachments through an automated workflow.
---
๐ Quick Export vs. Full Wizard
Two ways to create exports:
- Quick Export Form (shown in Export tab)
- Fill out form
- Click Generate Package
- Download ZIP
- Best for: Simple campaigns, no fancy features
- Full Email Campaign Wizard (in Email Campaigns tab)
- 4-step guided wizard
- More options and features
- Built-in send via Microsoft Graph
- Best for: Complex campaigns, direct sending
This section covers the Quick Export form. See Email Campaigns section for the wizard.
---
๐ Quick Export Form
Fields to Fill Out
Export Name (Required)
- Descriptive name for this export
- Example: "January Newsletter", "Q4 Invoice Mailing"
- Helps you identify it later
Data File (Required)
- Select CSV from dropdown
- Must contain email addresses
- Shows files from Data โ Files tab
Template (Optional)
- Select Word template for email body
- If blank, uses current Word document
- Template should contain placeholders
Email Field (Required)
- Which CSV column contains recipient email addresses
- Dropdown shows columns from selected data file
- Example: "Email", "CustomerEmail", "contact_email"
Subject Field or Default Subject
- Option A: Subject Field - Column that contains unique subjects per recipient
- Option B: Default Subject - Same subject for everyone
- Can use merge fields: "Invoice for {{CustomerName}}"
Attachment Options (Optional)
- Check "Include attachments" if needed
- Select attachment type: Word (.docx) or PDF
- System generates one per recipient with merged data
---
Creating an Export Package
Steps:
- Fill out all required fields
- Click "Save Configuration" (optional - saves settings for later)
- Click "Generate Package" button
- Wait for processing:
- Shows progress bar
- Indicates current operation
- Time estimates
- When complete, package downloads automatically
- ZIP file saved to your Downloads folder
Processing Time:
- 10 recipients: ~15 seconds
- 50 recipients: ~1 minute
- 100 recipients: ~2-3 minutes
- 500 recipients: ~10-15 minutes
---
What's in the ZIP Package?
File Structure:
`
campaign-package-2026-01-23.zip
โโโ emails/
โ โโโ recipient-001.html
โ โโโ recipient-002.html
โ โโโ ...
โโโ attachments/ (if enabled)
โ โโโ invoice-001.pdf
โ โโโ invoice-002.pdf
โ โโโ ...
โโโ static/ (if any)
โ โโโ logo.png
โ โโโ terms.pdf
โโโ email-data.csv
โโโ flow.json
โโโ README.txt
`
File Descriptions:
| File/Folder | Contents | Purpose |
|-------------|----------|---------|
|
emails/ | HTML files, one per recipient | Pre-rendered email bodies |
|
attachments/ | PDF/Word files, one per recipient | Personalized attachments |
|
static/ | Shared files (logos, PDFs) | Files used across all emails |
|
email-data.csv | Recipient list with metadata | For workflow automation tools |
|
flow.json | Pre-configured flow | For workflow automation tools |
|
README.txt | Setup instructions | How to use the package |
---
Using the Package in Workflow Automation Tools
Steps:
- Extract the ZIP file
- Import into your workflow automation tool (e.g., Power Automate at flow.microsoft.com)
- Click "Import" โ "Import Package (.zip)"
- Select the
flow.json file
Flow imported with settings pre-configured:
- Server URL already set
- Authentication token embedded
- Connections ready
- Review flow settings
- Click "Run" โ Emails send automatically!
Magic:
- No manual configuration needed!
- Server URL points to your Data Publisher backend
- Auth token securely embedded
- Just import and run
---
๐พ Saved Export Configurations
What Are These?
When you click "Save Configuration", your settings are stored:
- Export name
- Data file selection
- Template selection
- Email field
- Subject settings
- Attachment options
Why Save?
- Reuse same settings later
- Monthly newsletters
- Recurring campaigns
- Quick regeneration
Where to Find:
Saved exports appear in Data โ Packages tab:
- Click "View Details" โ Opens Export tab with settings loaded
- Click "Download" โ Get the ZIP if already generated
- Click "Delete" โ Remove the configuration
---
Sub-Tab: Email Campaigns
Purpose: Send tracked email campaigns directly from Word using Microsoft Graph / Office 365 integration. This is the recommended approach for most users.
๐ง Email Campaign Wizard
What It Does:
Send personalized emails to multiple recipients with:
- Merged data from CSV
- HTML email bodies
- Optional Word/PDF attachments
- Open tracking
- Click tracking
- Reply tracking
Advantage over Export:
- Immediate sending - Send directly via Microsoft Graph / Office 365
- Real-time tracking - See opens/clicks instantly
- Simpler - All in one wizard, no external tools needed
- Built-in analytics - Dashboard included
When to Use:
- Quick campaigns (10-100 recipients)
- Want immediate sending via Office 365
- Need tracking analytics
- Prefer direct Microsoft Graph / Office 365 integration
---
๐ง The 4-Step Wizard
Click "Launch Email Campaign Wizard" to open the wizard modal.
---
Step 0: Configuration
What You Configure:
Data Source:
- Select CSV file with recipient data
- Must include email addresses
- Shows files from Data โ Files tab
Email Column:
- Which column contains email addresses
- Dropdown shows available columns
Subject Line:
- Email subject
- Can use merge fields: "Hello {{FirstName}}!"
- Same for all or per-recipient from column
Email Body Template:
- Option A: Use current Word document
- Option B: Load saved email template
- Option C: Enter HTML directly
Graphic Library (Optional):
- For images in email
- Auto-detect or specific library
Attachments (Optional):
- Check "Generate attachments"
- Word (.docx) or PDF format
- One unique file per recipient
Tracking:
- โ
Track email opens
- โ
Track link clicks
- โ
Track replies
What Happens:
- Wizard validates settings
- Checks Microsoft account connection
- Enables "Next" button when ready
---
Step 1: Generate Email Bodies
What Happens:
- System reads your email template
- Merges data for each recipient
- Creates personalized HTML files
- One file per recipient
- Progress bar shows status
Time:
- 10 recipients: ~10 seconds
- 50 recipients: ~30 seconds
- 100 recipients: ~1 minute
Result:
- Email bodies ready
- Stored temporarily in system
- Preview available
What You See:
- Success message
- Email count
- "Next" button enabled
---
Step 2: Generate Attachments (If Enabled)
What Happens (if you checked attachments):
- System generates Word or PDF for each recipient
- Merges unique data into each file
- Attaches to corresponding email
- Progress bar shows status
Time:
- 10 recipients: ~30 seconds
- 50 recipients: ~2-3 minutes
- 100 recipients: ~5-6 minutes
If You Skipped Attachments:
- Step skipped automatically
- Goes straight to Step 3
---
Step 3: Send Campaign
Summary Screen:
- Total recipients
- Subject line preview
- Tracking options enabled
- Attachment info
- Estimated send time
Final Check:
- Review all settings
- Confirm you want to send
- Important: Can't undo after clicking Send!
Confirmation Dialog:
`
๐ Ready to Send Campaign!
Recipients: 50
Subject: January Newsletter
Attachments: Yes (PDF, 50 files)
Tracking:
โ
Open tracking
โ
Click tracking
โ
Reply tracking
This will send 50 emails immediately.
Continue?
`
Click "Send Campaign":
- Emails start sending via Microsoft Graph
- Progress bar shows:
- Current recipient
- Emails sent count
- Estimated remaining time
- Takes ~1-2 seconds per email
When Complete:
- Success message
- Wizard closes
- Email Config tab opens automatically
- Analytics dashboard shows new campaign
---
๐พ Saved Campaign Configurations
What Are These?
As you work through the wizard, your configuration is saved automatically:
- Data source selection
- Email settings
- Template choice
- Tracking options
Why?
- Resume if you close wizard
- Reuse same settings for next month
- Quick setup for recurring campaigns
Where to Find:
In the Email Campaigns tab (scroll down past wizard button):
Section: "Saved Campaign Configurations"
- Shows all your saved configs
- Click "Resume Wizard" โ Opens wizard with settings loaded
- Click "Delete" โ Remove configuration
Example Card:
`
๐ง Monthly Newsletter
Created: 2026-01-15
Data: customers.csv (500 recipients)
Subject: "Hello {{FirstName}}!"
Status: Draft (not sent)
[Resume Wizard] [Delete]
`
---
๐ Campaign History
What Is This?
After sending campaigns, they appear in history with analytics.
Where: Email Campaigns tab โ "Sent Campaign Analytics" section
What You See:
Campaign Card:
`
๐ง January Newsletter
Sent: 2026-01-23 at 2:30 PM
Recipients: 50
Status: Completed
๐ Performance:
โข Sent: 50 (100%)
โข Opened: 35 (70%)
โข Clicked: 12 (24%)
โข Replied: 3 (6%)
[View Details] [Export Report] [Delete]
`
Actions:
- View Details โ Opens detailed analytics for that campaign
- Export Report โ Download CSV with full data
- Delete โ Remove campaign from history
---
๐ฆ Campaign Status Indicators
| Status | What It Means | Color |
|--------|---------------|-------|
| Sending | Currently in progress | ๐ต Blue |
| Completed | All emails sent successfully | ๐ข Green |
| Partial | Some emails failed | ๐ก Yellow |
| Failed | Campaign failed entirely | ๐ด Red |
| Draft | Saved but not sent | โช Gray |
---
โ ๏ธ Prerequisites
Before Using Email Campaigns:
- Microsoft account connected
- Go to Email Config tab
- Click "Connect Microsoft Account"
- Complete OAuth flow
- Account must have email sending permissions
- Data file uploaded
- CSV with email addresses
- In Data โ Files tab
- Email template ready
- Word document with placeholders
- Or HTML template
If Not Connected:
- Wizard will prompt you
- Click "Go to Email Config"
- Connect account
- Return and launch wizard again
---
๐ก Email Campaign Pro Tips
Tip 1: Test with Small Group First
Before sending to 500 people:
- Create test CSV with 5 email addresses (yours, coworkers)
- Run complete campaign to those 5
- Check received emails
- Verify tracking works
- Then use full list
Tip 2: Use Saved Configs for Recurring Campaigns
Monthly newsletter?
- Set up once
- Save configuration
- Next month: Resume wizard โ Update data file โ Send
- Much faster!
Tip 3: Check Campaign History Before Resending
Avoid duplicate sends:
- Check Email Campaigns tab โ Campaign History
- See if you already sent this campaign
- Check dates and recipients
Tip 4: Monitor Opens to Find Best Send Time
Try different send times:
- Week 1: Send Monday 9am
- Week 2: Send Tuesday 2pm
- Week 3: Send Thursday 10am
- Compare open rates
- Use best time going forward
Tip 5: Use Click Tracking to Measure Engagement
Include links in emails:
- Call-to-action buttons
- Product links
- Survey links
- Track which recipients clicked
- Follow up with clickers
---
Sub-Tab: Email Analytics
Purpose: View detailed performance metrics for all sent email campaigns.
๐ Analytics Dashboard
What You See:
Real-time analytics for tracking email campaign performance.
---
๐ Summary Cards
Four Main Metrics:
Card 1: Emails Sent
`
๐ง Emails Sent
150
`
- Total emails sent across all campaigns
- Successful deliveries only
- Updated in real-time
Card 2: Opens
`
๐๏ธ Opens
105 (70%)
`
- How many recipients opened emails
- Percentage of total sent
- Unique opens (not multiple opens by same person)
Card 3: Clicks
`
๐ Clicks
42 (28%)
`
- Recipients who clicked links in emails
- Percentage of total sent
- Unique clicks
Card 4: Replies
`
โฉ๏ธ Replies
8 (5%)
`
- Recipients who replied to emails
- Percentage of total sent
- Tracked via webhooks
---
๐ Campaign Activity Log
Table View:
| Campaign | Sent Date | Recipients | Opens | Clicks | Replies | Status |
|----------|-----------|------------|-------|--------|---------|--------|
| January Newsletter | 2026-01-23 | 50 | 35 (70%) | 12 (24%) | 3 (6%) |
โ
Complete |
| Product Launch | 2026-01-20 | 100 | 68 (68%) | 30 (30%) | 5 (5%) |
โ
Complete |
| Holiday Promo | 2025-12-15 | 200 | 140 (70%) | 58 (29%) | 0 (0%) |
โ
Complete |
Sortable Columns:
- Click any column header to sort
- Click again to reverse sort
- Find best/worst performing campaigns
Actions Per Row:
- ๐๏ธ View Details - See individual recipient data
- ๐ Export - Download campaign report
- ๐๏ธ Delete - Remove campaign from history
---
๐ Detailed Campaign View
Click "View Details" on any campaign:
Recipient-Level Analytics:
| Recipient | Email | Sent | Opened | Clicked | Replied |
|-----------|-------|------|--------|---------|---------|
| John Smith | john@example.com |
โ
| โ
1/23 2:45pm | โ
1/23 3:10pm | โ |
| Jane Doe | jane@example.com |
โ
| โ
1/23 3:20pm | โ | โ |
| Bob Johnson | bob@example.com |
โ
| โ | โ | โ |
Insights:
- Who opened (and when)
- Who clicked (and when)
- Who didn't engage
- Failed deliveries
Use Cases:
- Follow up with non-openers - Resend or different approach
- Engage with clickers - They're interested!
- Investigate failures - Fix email addresses
---
๐ฅ Export Analytics
Button: "Export Analytics" (top right)
What It Does:
- Downloads CSV file with all data
- Includes all campaigns
- Recipient-level detail
- Timestamps for opens/clicks/replies
CSV Columns:
- Campaign Name
- Campaign Date
- Recipient Name
- Recipient Email
- Sent Status
- Opened (Yes/No + Timestamp)
- Clicked (Yes/No + Timestamp)
- Replied (Yes/No + Timestamp)
- Email Subject
- Tracking ID
Use In:
- Excel for pivot tables
- Data analysis tools
- CRM import
- Reporting to management
---
๐ Analytics Metrics Explained
Open Tracking
How It Works:
- Invisible 1x1 pixel image embedded in email
- Pixel hosted on tracking server
- When email opened, pixel loads
- Server logs the open event
Limitations:
- Some email clients block images
- Opens may be underreported
- Can't detect "plain text only" opens
Click Tracking
How It Works:
- Links in email route through tracking server
- Server logs the click
- Redirects to actual destination
- Fast redirect (imperceptible to user)
Example:
- Original link: https://yoursite.com/product
- Tracked link: https://track.datapub.com/c/abc123
- User clicks, server logs, redirects to yoursite.com
Reply Tracking
How It Works:
- Email sent with special reply-to address
- Replies go to tracking server
- Server logs the reply
- Forwards to your actual inbox
- You receive reply normally
---
๐ Understanding Performance
Good Open Rates:
- 20-30% = Average for B2C
- 30-40% = Above average
- 40%+ = Excellent
Good Click Rates:
- 2-5% = Average
- 5-10% = Above average
- 10%+ = Excellent
Factors Affecting Performance:
- Subject line quality
- Send time (day and hour)
- Audience relevance
- Email design
- Content quality
- Sender reputation
---
๐ก Analytics Pro Tips
Tip 1: Check Analytics Daily for First Week
After sending campaign:
- Day 1: Check after 4 hours
- Day 2: Check morning
- Day 3-7: Check daily
- Week 2+: Check weekly
Most opens happen in first 48 hours.
Tip 2: Compare Campaigns to Find Patterns
Look for trends:
- Do Tuesday emails perform better?
- Are shorter subject lines more effective?
- Do certain topics get more clicks?
- Use data to improve future campaigns
Tip 3: Segment Non-Openers for Follow-Up
After 3 days:
- Export analytics
- Filter for opens = No
- Create new CSV with non-openers
- Send follow-up with different subject line
- Often gets another 10-20% open rate
Tip 4: Use Click Data for Lead Scoring
In CRM:
- Opened email = 5 points
- Clicked link = 10 points
- Replied = 20 points
- Score leads based on engagement
- Sales team follows up with high scores
Tip 5: A/B Test Subject Lines
Send to small test groups:
- Group A: 50 people with Subject 1
- Group B: 50 people with Subject 2
- Compare open rates after 24 hours
- Use winning subject for remaining recipients
---
Sub-Tab: Email Config
Purpose: Configure Microsoft account connection, tracking settings, and test email functionality.
โ๏ธ Email Configuration
What This Tab Does:
- Connect/disconnect Microsoft account
- Configure tracking options
- Test email sending
- View connection status
---
๐ Connection Status
When Not Connected:
`
โ Not Connected
Connect your Microsoft account to enable email sending
[Connect Microsoft Account]
[Refresh Status]
๐ก Tip: After connecting, click Refresh Status to update the display.
`
When Connected:
`
โ
Connected
John Doe
john.doe@company.com
[Refresh] [Disconnect]
`
---
๐ Connecting Microsoft Account
Steps:
- Click "Connect Microsoft Account" button
- Popup window opens
- Sign in with Microsoft credentials
- Work account (Microsoft 365)
- Personal account (Outlook.com)
- Grant permissions:
- Send email on your behalf
- Read basic profile
- Access mailbox
- Popup closes automatically
- Back in add-in, click "Refresh Status"
- Connection status updates to "Connected"
Required Permissions:
- Mail.Send - Send emails
- Mail.ReadWrite - Access mailbox
- User.Read - Basic profile
Troubleshooting:
- Popup blocked? Allow popups for this site
- Sign in failed? Check credentials
- Permissions denied? Admin may need to approve
- Still not connected? Click Refresh Status
---
โ๏ธ Tracking Options
Available after connecting.
Three Tracking Types:
1. Track Email Opens โ
What It Does: Detects when recipients open emails
How:
- Adds invisible 1x1 pixel to email
- Pixel hosted on tracking server
- Loads when email opened
- Logs open event
Toggle On/Off:
- Checkbox enabled by default
- Uncheck to disable
- Setting applies to future campaigns
Privacy Note:
Most email tracking uses this method. It's industry standard.
---
2. Track Link Clicks โ
What It Does: Tracks when recipients click links in emails
How:
- Links route through tracking server
- Server logs click
- Redirects to actual destination
- ~100ms delay (imperceptible)
Toggle On/Off:
- Checkbox enabled by default
- Uncheck to disable links remain direct
What Gets Tracked:
- Which link was clicked
- Who clicked it
- When they clicked
- How many times
---
3. Track Replies โ
What It Does: Monitors email responses
How:
- Email sent with special Reply-To address
- Replies go to tracking server first
- Server logs the reply
- Forwards to your actual inbox
- You receive reply normally
Toggle On/Off:
- Checkbox enabled by default
- Uncheck to use normal replies
Use Case:
- Measure engagement level
- Identify highly interested recipients
- Sales follow-up prioritization
---
๐งช Test Send
Purpose: Verify your connection works before sending campaigns.
Available after connecting.
---
Test Send Form
Fields:
To: (Required)
- Recipient email address
- Try your own email first
- Can send to anyone
Subject: (Required)
- Email subject line
- Example: "Test Email from Data Publisher"
Body: (Required)
- Email content
- HTML supported
- Merge fields NOT processed (it's a test)
Buttons:
Send Email:
- Sends the test email immediately
- Success message if sent
- Error message if failed
- Check your inbox!
Use Document Content:
- Copies current Word document to Body field
- Converts Word to HTML
- Useful for testing email templates
- Review HTML before sending
---
Testing Workflow
Recommended Steps:
- Fill out form:
- To: your email
- Subject: "Test Email"
- Body: "This is a test message."
- Click "Send Email"
- Check your inbox (usually arrives in <10 seconds)
- Verify:
- Email received
- Subject correct
- Body displays properly
- โ
Connection works!
If Testing Template:
- Open your email template in Word
- Click "Use Document Content"
- Body field fills with HTML
- Send to yourself
- Check formatting in received email
- Make adjustments in Word template if needed
---
๐ Refresh Status
Button: "Refresh Status" or "Refresh"
When to Use:
- After connecting account
- Status not updating
- Need to check current state
- After disconnecting and reconnecting
What It Does:
- Queries Microsoft Graph API
- Checks account status
- Updates connection info
- Refreshes display
How Often:
- Click manually when needed
- No automatic refresh
- Quick (1-2 seconds)
---
๐ Disconnect Account
Button: "Disconnect"
What It Does:
- Removes Microsoft account connection
- Revokes access tokens
- Clears stored credentials
- Email features become disabled
When to Disconnect:
- Switching to different account
- Done using email features
- Security reasons
- Sharing computer
Warning:
After disconnecting:
- Can't send email campaigns
- Can't track emails
- Must reconnect to use features again
Safe:
- Saved campaigns preserved
- Historical analytics retained
- Can reconnect anytime
---
๐ก Email Config Pro Tips
Tip 1: Test Email First
Before first campaign:
- Connect account
- Send test email to yourself
- Verify formatting
- Check tracking pixels work
- Then proceed with confidence
Tip 2: Use Work Account for Business Emails
For professional campaigns:
- Use Microsoft 365 work account
- Better deliverability
- Corporate branding
- Compliance with company policies
Tip 3: Disable Tracking for Internal Emails
Sending to coworkers?
- Uncheck all tracking options
- More professional
- Respects privacy
- Direct links faster
Tip 4: Refresh Status If Something's Off
Seeing "Not Connected" but you connected?
- Click Refresh Status
- Usually fixes display issues
- May need to reconnect if token expired
Tip 5: Document Your Test Results
Keep notes:
- Test email times
- Success/failure
- Any formatting issues
- Tracking verification
- Helps troubleshoot later
---
Quick Reference
Sub-Tab Quick Actions
| Tab | Primary Action | Button | Time |
|-----|----------------|--------|------|
| Merge | Generate documents | Run Action | 30 sec - 5 min |
| Builder | Insert placeholders | Insert into Document | Instant |
| Export | Create PA package | Generate Package | 1-15 min |
| Email Campaigns | Send emails | Launch Wizard | 5-30 min |
| Email Analytics | View metrics | (View-only) | Instant |
| Email Config | Connect account | Connect Microsoft Account | 1 min |
---
Data Flow Options
| Option | Best For | Pages Created |
|--------|----------|---------------|
| One Per Page | Letters, labels, flyers | N pages for N rows |
| Single Document | Invoices, reports | 1 document with loops |
| Flow Columns | Catalogs, directories | Data flows through columns |
---
Builder Tabs
| Tab | Creates | Example |
|-----|---------|---------|
| Basic Fields | Simple placeholders |
< |
| Post-Processing | Functions |
{{Uppercase\|< |
| Conditionals | If/then logic |
<#if Status=VIP>...#if> |
| Loops | Repeating sections |
<%Items%>...<%end%> |
| Snippets | Pre-built patterns | Address block, currency |
---
Email Campaign Steps
- Configure - Set up campaign settings
- Generate Bodies - Create HTML emails
- Generate Attachments - Create PDFs (optional)
- Send - Send via Microsoft Graph
---
Performance Estimates
| Action | 10 Records | 50 Records | 100 Records | 500 Records |
|--------|------------|------------|-------------|-------------|
| Merge (One Per Page) | 5 sec | 20 sec | 40 sec | 3-4 min |
| Export Package | 15 sec | 1 min | 2-3 min | 10-15 min |
| Email Campaign | 30 sec | 2 min | 5 min | 20-30 min |
---
Common Workflows
Workflow 1: Monthly Customer Letters (15 min)
Goal: Generate 50 personalized letters
Steps:
- Data โ Files โ Upload customers.csv (50 rows)
- In Word, create letter template with
<
Data โ Files โ Word Templates โ Save Current Doc โ "Customer Letter"
Actions โ Merge:
- Data File: customers.csv
- Word Template: Customer Letter โ Load
- Data Flow: One Per Page
- Run Action
- Wait ~30 seconds โ 50-page document created
- Print or save
Time: 15 minutes total
---
Workflow 2: Invoice with Line Items (20 min)
Goal: Create invoice with dynamic product list
Setup:
- Data โ Files โ Upload invoices.csv (master)
- Data โ Files โ Upload line_items.csv (detail)
- Create relationship: Link via InvoiceNumber โ Name: "OrderItems"
- In Word, create invoice template:
`
Invoice #<>
Customer: <>
ITEMS:
<%OrderItems%>
โข <> - $<>
<%end%>
Total: $<>
`
Generate:
- Actions โ Merge:
- Data File: invoices.csv
- Data Flow: Single Document
- Run Action
- Wait ~10 seconds โ Invoice created with all line items
Time: 20 minutes total
---
Workflow 3: Email Campaign to 100 Customers (30 min)
Goal: Send personalized newsletter with tracking
Prep:
- Data โ Files โ Upload customers.csv (100 rows with emails)
- Create HTML email template in Word
- Email Config โ Connect Microsoft Account
Send:
- Actions โ Email Campaigns:
- Launch Email Campaign Wizard
- Step 0: Configure
- Data: customers.csv
- Email Column: Email
- Subject: "Hello {{FirstName}}!"
- Body: Current document
- Tracking: All enabled
- Step 1: Generate Bodies (~1 min)
- Step 2: Skip attachments
- Step 3: Send Campaign (~3-4 min)
- Done! Check Email Analytics for results
Time: 30 minutes total (includes setup)
---
Workflow 4: Build Complex Placeholder (5 min)
Goal: Create formatted, conditional placeholder
Steps:
- Actions โ Builder:
- Tab: Post-Processing
- Data File: products.csv
- Field: Price
- Category: Data Formatting
- Add Function: FormatCurrency
- Category: Conditional Logic
- Add Function: Default
- Param: "$0.00"
- Preview:
{{Default|{{FormatCurrency|<
- Insert into Document
Result: Shows price as currency, or "$0.00" if price is empty
Time: 5 minutes
---
Workflow 5: Workflow Automation Package - Advanced (20 min)
Goal: Create workflow automation package for advanced integration. Note: For most users, direct Microsoft Graph / Office 365 sending (Workflow 3) is recommended.
Steps:
- Actions โ Export:
- Export Name: "Monthly Newsletter"
- Data File: subscribers.csv
- Template: newsletter-template
- Email Field: Email
- Subject: "{{Month}} Newsletter"
- Attachments: PDF
- Generate Package
- Wait ~10-15 min for 500 recipients
- Download ZIP
- Import to Power Automate
- Run flow
Time: 20 minutes (plus processing time)
---
Troubleshooting
Merge Issues
"No data file selected"
Cause: Didn't select file from dropdown
Fix: Select data file before running action
"Template not found"
Cause: Selected template deleted or moved
Fix: Select different template or use current document
Progress stuck at 0%
Cause: Large file, slow processing, or error
Fix:
- Wait 30 seconds
- Check browser console for errors
- Cancel and try again
- Try smaller data file first
Images not inserting
Cause: Image filename doesn't match placeholder
Fix:
- Check Media โ Libraries โ Verify image exists
- Match filename exactly (case-sensitive)
- Check placeholder syntax:
[[imagename.jpg]]`
---
Builder Issues
"Insert" button disabled
Cause: Required fields not filled Fix:- Select data file
- Select field
- Add at least one function (for post-processing tab)
- Fill all required parameters
Preview shows wrong syntax
Cause: Parameter order incorrect Fix:- Review function documentation
- Check parameter order
- Use Builder instead of typing manually
Function not working after insert
Cause: Typo in manually edited code Fix:- Delete placeholder
- Rebuild in Builder
- Don't manually edit generated code
---
Export Issues
Package generation fails
Cause: Missing required fields, server error Fix:- Check all required fields filled
- Verify data file has email column
- Try smaller data file
- Check server status
ZIP file doesn't download
Cause: Browser blocking, popup blocker Fix:- Allow downloads from this site
- Check Downloads folder
- Try different browser
- Disable popup blocker
flow.json import fails in workflow automation tools
Cause: Corrupted file, wrong version Fix:- Re-download package
- Check workflow tool version compatibility
- Contact support
---
Email Campaign Issues
"Microsoft account not connected"
Cause: Not connected or token expired Fix:- Go to Email Config tab
- Click Connect Microsoft Account
- Complete OAuth flow
- Return to Email Campaigns
Emails not sending
Cause: Connection issue, rate limiting, permissions Fix:- Check Email Config โ Refresh Status
- Verify connected account has send permissions
- Try test send first
- Check recipient addresses valid
Tracking not working
Cause: Tracking disabled, email client blocking Fix:- Email Config โ Verify tracking enabled
- Some email clients block images (opens)
- Test with own email first
- Check analytics after 24 hours
Wizard closes unexpectedly
Cause: Browser issue, session timeout Fix:- Resume from Saved Campaigns
- Configuration auto-saved
- Check browser console for errors
---
Email Analytics Issues
Analytics showing 0 for everything
Cause: No campaigns sent yet, data not loaded Fix:- Send test campaign first
- Click Refresh button
- Wait 5 minutes after sending
- Check Email Config connection
Opens underreported
Cause: Email clients blocking images Fix:- Normal behavior (10-20% block images)
- Opens are minimum count
- Focus on click rate instead
Can't export analytics
Cause: No data, browser blocking Fix:- Verify campaigns exist
- Check browser download permissions
- Try different browser
---
General Issues
Tab content not showing
Cause: JavaScript error, not loaded Fix:- Refresh add-in
- Close and reopen Word
- Check browser console
- Clear cache
Buttons not responding
Cause: Processing in progress, error Fix:- Wait for current operation to finish
- Check for error messages
- Refresh add-in
- Restart Word
Slow performance
Cause: Large data files, many images, slow connection Fix:- Use smaller data files for testing
- Reduce image count
- Check internet speed
- Close other programs
---
Need More Help?
- Quick syntax lookup: See ACTIONS_TAB_QUICK_REF.md
- Visual workflows: See ACTIONS_TAB_VISUAL_GUIDE.md
- First time setup: See ACTIONS_TAB_5MIN_START.md
- Data management: See DATA_TAB_GUIDE.md
- Template syntax: See USER_GUIDE.md โ Template Syntax section
---
You now have complete command of the Actions Tab! Time to bring your data to life! ๐
Remember: Actions Tab is where the magic happens - from simple mail merges to complex email campaigns with tracking. Master these tools and you'll be a document automation expert! ๐