MailPilot Logo MailPilot / Docs
bolt Workflows & Automations

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

  1. Navigate to Automations in the sidebar
  2. Click Create Workflow
  3. Give your workflow a name
  4. Choose whether to activate it immediately or keep it as draft
  5. Click Open Builder

Building a Workflow

  1. Add a Trigger: Every workflow starts with a trigger node. Drag one from the sidebar onto the canvas.
  2. Add Actions: Drag action nodes onto the canvas.
  3. Connect Nodes: Click on a node's output port and drag to another node's input port to create connections.
  4. Configure Nodes: Click any node to open its configuration panel on the right.
  5. Save: Click Save Workflow when done.
info

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

  1. In the workflow builder, click Test Workflow
  2. Select a test subscriber or use a test email address
  3. Click Run Test
  4. The workflow executes immediately for the test subscriber
  5. Check that emails send correctly, waits work, and branches execute as expected

Manual Trigger Testing

For non-trigger testing, use the Manual Trigger node:

  1. Add a Manual Trigger to your workflow
  2. Connect it to the actions you want to test
  3. Save and activate the workflow
  4. Go to the workflow's execution page
  5. Click Run Manually and select test subscribers
warning

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:

  1. Open your workflow
  2. Click Executions tab
  3. See a list of all subscribers who entered the workflow
  4. 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:

  1. Send Email: Welcome email with introduction
  2. Wait: 2 days
  3. Send Email: Share your best content
  4. Wait: 3 days
  5. Send Email: Special offer for new subscribers

Abandoned Cart

Trigger: WordPress/WooCommerce → Cart Abandoned
Actions:

  1. Wait: 1 hour
  2. Send Email: "You left something behind"
  3. Wait: 1 day
  4. If/Else: Check if order completed
    • Yes: Exit workflow
    • No: Continue
  5. Send Email: "Here's 10% off to complete your order"

Birthday Campaign

Trigger: Date Match → Birthday field (1 day before)
Actions:

  1. Send Email: Birthday wishes with special discount code
  2. Add Tag: "Birthday 2024"

Re-engagement

Trigger: Subscriber Inactive (90 days)
Actions:

  1. Send Email: "We miss you! Here's what you've been missing"
  2. Wait: 7 days
  3. If/Else: Check if email was opened
    • Yes: Add Tag "Re-engaged" and exit
    • No: Continue
  4. Send Email: "Last chance - 20% off to come back"
  5. Wait: 7 days
  6. If/Else: Check if any recent activity
    • Yes: Exit
    • No: Remove Tag "Active Subscriber"
info

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.