Workflows & Automations
Create powerful automated email sequences triggered by subscriber actions using our visual workflow builder.
Workflows Overview
Workflows are automated email sequences that run in the background based on triggers you define. Unlike one-time campaigns, workflows continuously monitor for trigger conditions and execute actions automatically.
Common workflow examples:
- Welcome Series: Send a sequence of onboarding emails when someone subscribes
- Abandoned Cart: Remind customers about items left in their cart
- Re-engagement: Win back inactive subscribers
- Birthday Emails: Send birthday wishes and special offers
- Post-Purchase: Follow up after a customer makes a purchase
Visual Workflow Builder
MailPilot's workflow builder uses a drag-and-drop canvas where you connect nodes to build automation logic.
Builder Interface
- Left Sidebar: Library of trigger and action nodes
- Center Canvas: Drag nodes here and connect them
- Toolbar: Save, test, undo/redo, zoom controls
- Right Panel: Configure selected node settings
Creating Your First Workflow
- Navigate to Automations in the sidebar
- Click Create Workflow
- Give your workflow a name
- Choose whether to activate it immediately or keep it as draft
- Click Open Builder
Building a Workflow
- Add a Trigger: Every workflow starts with a trigger node. Drag one from the sidebar onto the canvas.
- Add Actions: Drag action nodes onto the canvas.
- Connect Nodes: Click on a node's output port and drag to another node's input port to create connections.
- Configure Nodes: Click any node to open its configuration panel on the right.
- Save: Click Save Workflow when done.
Getting Started Tip
Start simple! Create a basic welcome email workflow first: New Subscriber trigger → Send Email action. Once you understand the basics, add complexity with waits, conditions, and branching logic.
Trigger Nodes
Triggers determine when a workflow starts. A workflow must have at least one trigger node. Below are all available trigger types:
Manual Trigger
Start the workflow manually for specific subscribers or segments.
Use cases: One-time campaigns, testing workflows, manual follow-ups
Configuration: Select which subscribers to run the workflow for (all, segment, or individual)
New Subscriber
Triggers when a new subscriber joins your list.
Use cases: Welcome series, onboarding emails, first-time discount
Configuration: Optionally filter by signup source (specific form, import, API)
New Form Submission
Triggers when someone submits a specific signup form.
Use cases: Lead magnet delivery, form-specific welcome emails
Configuration: Select which form(s) trigger the workflow
Email Opened
Triggers when a subscriber opens a specific campaign or any email in a workflow.
Use cases: Follow-up to engaged subscribers, re-engagement sequences
Configuration: Select which campaign or workflow email to monitor
Link Clicked
Triggers when a subscriber clicks a specific link in an email.
Use cases: Interest-based segmentation, product interest tracking
Configuration: Select email and specific link URL to monitor
Email Not Opened
Triggers when a subscriber doesn't open an email within a specified time period.
Use cases: Re-send with different subject line, follow-up reminders
Configuration: Select email and time period (e.g., 3 days after send)
Email Bounced
Triggers when an email bounces (hard or soft bounce).
Use cases: Alert admin, update subscriber status, clean list
Configuration: Choose bounce type (hard, soft, or both)
Subscriber Updated
Triggers when a subscriber's profile information changes.
Use cases: Acknowledge profile updates, trigger based on preference changes
Configuration: Optionally monitor specific fields
Tag Added
Triggers when a specific tag is added to a subscriber.
Use cases: Customer onboarding, interest-based campaigns, lifecycle automation
Configuration: Select which tag(s) trigger the workflow
Tag Removed
Triggers when a specific tag is removed from a subscriber.
Use cases: Status change notifications, downgrade sequences
Configuration: Select which tag(s) trigger the workflow
Custom Field Changed
Triggers when a specific custom field value changes.
Use cases: Preference updates, purchase tracking, milestone celebrations
Configuration: Select custom field and optionally filter by new value
Date Match
Triggers on a specific date from a custom field (like birthday or anniversary).
Use cases: Birthday emails, anniversary emails, renewal reminders
Configuration: Select date field and when to trigger (on date, X days before/after)
Recurring Schedule
Triggers on a recurring schedule (daily, weekly, monthly).
Use cases: Weekly newsletters, monthly digests, recurring promotions
Configuration: Set frequency, day of week/month, and time
Subscriber Inactive
Triggers when a subscriber hasn't opened any emails for a specified period.
Use cases: Re-engagement campaigns, win-back offers
Configuration: Set inactivity period (e.g., 90 days)
Subscriber Re-engages
Triggers when an inactive subscriber opens an email after being inactive.
Use cases: Welcome back sequence, re-activation confirmation
Configuration: Define inactivity threshold before re-engagement
Webhook Event
Triggers when MailPilot receives a webhook POST request from an external service.
Use cases: Zapier integrations, custom app connections, third-party triggers
Configuration: MailPilot generates a unique webhook URL. Copy and use in external service.
WordPress/WooCommerce
Triggers based on WordPress and WooCommerce events.
Use cases: New order placed, product purchased, cart abandoned, user registered
Configuration: Select event type and optionally filter by product, category, or order value
Action Nodes
Actions are what happens when a workflow is triggered. Chain multiple actions together to create complex automations.
Send Email
Send an email to the subscriber.
Configuration:
- Choose email template or design from scratch
- Set subject line (with merge tags for personalization)
- Set from name and email
- Add preview text
- Design email content in the email builder
Wait/Delay
Pause the workflow before continuing to the next action.
Use cases: Space out emails, wait for response, time-based sequences
Configuration: Set wait duration (minutes, hours, days, weeks)
If/Else Condition
Branch the workflow based on conditions. If condition is true, follow "Yes" path. If false, follow "No" path.
Use cases: Personalized paths based on subscriber data, engagement-based branching
Configuration:
- Left operand (field or value)
- Operator (equals, not equals, greater than, less than, contains)
- Right operand (field or value)
Resend Email
Automatically resend a previous email if it wasn't opened or clicked.
Use cases: Increase open rates, reach inbox at different time
Configuration:
- Select which email to resend
- Condition (not opened or not clicked)
- Wait time before resending
- Optionally change subject line for resend
Add Tag
Add one or more tags to the subscriber.
Use cases: Segment based on behavior, track workflow progress, trigger other workflows
Configuration: Select tag(s) to add
Remove Tag
Remove one or more tags from the subscriber.
Use cases: Clean up tags, update status, remove from segments
Configuration: Select tag(s) to remove
Move to List
Move subscriber to a different list.
Use cases: List organization, customer vs. prospect separation
Configuration: Select destination list
Remove from List
Remove subscriber from a specific list.
Use cases: List cleanup, unsubscribe from specific list
Configuration: Select list to remove from
Update Field
Update a custom field value for the subscriber.
Use cases: Track workflow progress, increment counters, update preferences
Configuration:
- Select custom field
- Set new value (can use variables and merge tags)
- For numbers: can increment, decrement, or set to specific value
A/B Test
Split subscribers into two groups and send different email variations.
Use cases: Test subject lines, content variations, send time optimization
Configuration:
- Split percentage (e.g., 50/50)
- Email A design and settings
- Email B design and settings
- Winning metric (open rate or click rate)
Call Webhook
Send data to an external URL via HTTP POST request.
Use cases: Notify external systems, trigger Zapier, update CRM
Configuration:
- Webhook URL
- Request method (POST, GET, PUT, DELETE)
- Headers (optional)
- Body data (can include subscriber data with merge tags)
API Request
Make a custom HTTP API request to any service.
Use cases: Advanced integrations, custom data syncing, third-party APIs
Configuration:
- API endpoint URL
- HTTP method (GET, POST, PUT, PATCH, DELETE)
- Headers with authentication
- Request body (JSON)
- Store response in workflow variables (optional)
Set Variable
Set a workflow variable that can be used in subsequent actions.
Use cases: Store API responses, calculations, complex logic
Configuration:
- Variable name
- Variable value (can use merge tags and other variables)
WordPress/WooCommerce API
Interact with WordPress and WooCommerce via their REST APIs.
Use cases: Create orders, apply coupons, update customer data, create products
Configuration:
- Select connected WooCommerce store
- Choose API action (create order, update customer, etc.)
- Configure action-specific parameters
Split (Multi-branch)
Create multiple conditional branches in a single node. Unlike If/Else which has two paths, Split can have many paths.
Use cases: Complex segmentation, multiple condition branching, advanced personalization
Configuration:
- Add multiple conditions, each creates a new branch
- Set default branch for subscribers who don't match any condition
- Each condition uses same logic as If/Else (left operand, operator, right operand)
Add Subscriber
Add a new subscriber to your list or update an existing one.
Use cases: Create subscriber from webhook data, duplicate to another account, add based on conditions
Configuration:
- Email address (required)
- First name, last name, phone (optional)
- Custom field values
- Tags to apply
- What to do if subscriber exists (update or skip)
Conditional Logic & Branching
Use conditional nodes to create personalized paths in your workflows:
If/Else Branches
The If/Else node creates two paths: one for true, one for false. Example conditions:
{{custom_field.total_purchases}} > 5→ VIP customer path{{tags}} contains "interested-in-shoes"→ Send shoe promo{{email_opened}} = true→ Engaged subscriber path
Multi-way Splits
The Split node lets you create many paths based on different conditions. Each condition becomes a branch:
- Condition 1:
{{custom_field.purchase_count}} = 0→ Branch 1 (New customer) - Condition 2:
{{custom_field.purchase_count}} between 1-5→ Branch 2 (Regular customer) - Condition 3:
{{custom_field.purchase_count}} > 5→ Branch 3 (VIP customer) - Default → Branch 4 (Everyone else)
Testing Workflows
Always test workflows before activating them:
Test Mode
- In the workflow builder, click Test Workflow
- Select a test subscriber or use a test email address
- Click Run Test
- The workflow executes immediately for the test subscriber
- Check that emails send correctly, waits work, and branches execute as expected
Manual Trigger Testing
For non-trigger testing, use the Manual Trigger node:
- Add a Manual Trigger to your workflow
- Connect it to the actions you want to test
- Save and activate the workflow
- Go to the workflow's execution page
- Click Run Manually and select test subscribers
Testing Warning
Test emails are real emails! They count toward your sending limits and will affect subscriber engagement history. Always use test email addresses, not real subscribers, when testing workflows.
Monitoring Workflow Executions
Track workflow performance and troubleshoot issues:
Workflow Dashboard
Each workflow has a dashboard showing:
- Active Subscribers: How many subscribers are currently in the workflow
- Completed: How many have finished the workflow
- Emails Sent: Total emails sent by this workflow
- Average Open Rate: Engagement across all workflow emails
- Average Click Rate: Click performance
Execution Logs
View detailed logs for each subscriber's journey through the workflow:
- Open your workflow
- Click Executions tab
- See a list of all subscribers who entered the workflow
- Click any subscriber to see:
- Which nodes they passed through
- When each action executed
- Emails sent and their performance
- Condition evaluation results
- Any errors that occurred
Error Handling
If a workflow action fails (e.g., API call fails, email bounces), MailPilot:
- Logs the error in the execution log
- Optionally retries the action (configurable)
- Sends admin notification if critical error
- Continues with next action or stops based on your settings
Workflow Best Practices
Design Tips
- Start simple: Begin with basic workflows, add complexity over time
- Map it out first: Sketch your workflow on paper before building
- Use descriptive names: Name nodes clearly (e.g., "Day 3 Email" not just "Email")
- Organize visually: Keep related nodes close together, use straight lines
- Comment your logic: Add notes to complex conditions
Email Timing
- Space emails appropriately: Don't send too frequently (wait at least 1-2 days between emails)
- Consider time zones: Use wait nodes to send at optimal local times
- Respect engagement: Stop sending if subscriber hasn't opened recent emails
Performance
- Monitor metrics: Check open and click rates regularly
- A/B test: Use A/B test nodes to optimize subject lines and content
- Remove inactive paths: If a branch isn't converting, remove or revise it
- Set exit conditions: Let subscribers exit workflows when they take desired action
Compliance
- Unsubscribe handling: Stop workflows immediately when someone unsubscribes
- Consent: Only send workflow emails to subscribers who opted in
- Frequency caps: Implement maximum email frequency across all workflows
Common Workflow Examples
Welcome Series
Trigger: New Subscriber
Actions:
- Send Email: Welcome email with introduction
- Wait: 2 days
- Send Email: Share your best content
- Wait: 3 days
- Send Email: Special offer for new subscribers
Abandoned Cart
Trigger: WordPress/WooCommerce → Cart Abandoned
Actions:
- Wait: 1 hour
- Send Email: "You left something behind"
- Wait: 1 day
- If/Else: Check if order completed
- Yes: Exit workflow
- No: Continue
- Send Email: "Here's 10% off to complete your order"
Birthday Campaign
Trigger: Date Match → Birthday field (1 day before)
Actions:
- Send Email: Birthday wishes with special discount code
- Add Tag: "Birthday 2024"
Re-engagement
Trigger: Subscriber Inactive (90 days)
Actions:
- Send Email: "We miss you! Here's what you've been missing"
- Wait: 7 days
- If/Else: Check if email was opened
- Yes: Add Tag "Re-engaged" and exit
- No: Continue
- Send Email: "Last chance - 20% off to come back"
- Wait: 7 days
- If/Else: Check if any recent activity
- Yes: Exit
- No: Remove Tag "Active Subscriber"
Pro Tip
Workflows are "set it and forget it" automation, but don't actually forget them! Review performance monthly, test new variations, and update content to keep it fresh. Your best-performing workflows deserve ongoing optimization.
Need help? Contact our support team and we'll be happy to assist you.