Automations
Automations let you set up workflows that run on autopilot. When a subscriber does something -- like joining a list, clicking a link, or getting tagged -- Punchmail can automatically send emails, update their data, add tags, and more. Build it once and it works around the clock.
The Automations Page
Go to Automations in the sidebar to see all your automations in a table. Each row shows:
- Name -- Click to open the workflow designer
- Trigger -- What kicks off the automation
- Status -- Draft (gray), Active (green), or Paused (yellow)
- Steps -- How many nodes are in the workflow
- Created -- When the automation was created
- Actions -- Toggle active/pause, Edit, or Delete
Click Create Automation to start building a new one.
The Workflow Designer
This is where the magic happens. The designer is a visual canvas where you drag, drop, and connect nodes to build your workflow. It has four main areas:
Top Bar
Across the top, you'll find:
- Back arrow -- Returns to the automations list
- Name field -- Type a name for your automation
- Status dropdown -- Set to Draft, Active, or Paused
- Re-entry checkbox -- If checked, subscribers can go through this automation more than once. If unchecked, each subscriber only goes through it once.
- SMTP Connector -- Optionally override the default SMTP server for all emails in this automation
- Save Workflow -- Saves your current design
- Delete -- Removes the automation entirely (only visible for saved automations)
- Exit -- Returns to the automations list without saving
Left Sidebar -- Node Palette
The node palette lists all the building blocks you can add to your workflow. They're organized into three categories:
Triggers -- What starts the automation:
| Node | Description |
|---|---|
| Trigger | A general-purpose trigger with many options (see Trigger Types below) |
| Incoming Webhook | Starts the automation when an external system sends data to a webhook URL |
Flow Control -- Decision points and timing:
| Node | Description |
|---|---|
| Condition | Checks a field value and branches into Yes/No paths |
| Delay | Waits a specified amount of time before continuing |
| Engagement | Checks subscriber engagement (opens, clicks) and branches into Yes/No paths |
Actions -- Things that happen to subscribers:
| Node | Description |
|---|---|
| Send Email | Sends an email using a template |
| Add Tag | Adds a tag to the subscriber |
| Remove Tag | Removes a tag from the subscriber |
| Add to List | Adds the subscriber to another mailing list |
| Remove from List | Removes the subscriber from a mailing list |
| Update Field | Changes a subscriber field value |
| Send Webhook | Sends data to an external URL |
| Add to Suppression | Adds the subscriber to a suppression list |
| Unsubscribe | Unsubscribes the subscriber from all lists or a specific list |
To add a node, you can either double-click it in the palette or drag it onto the canvas.
Center -- The Canvas
This is the main workspace where you arrange and connect your nodes. Here's how to work with it:
- Add nodes by dragging from the palette or double-clicking
- Connect nodes by drawing a line from one node's output to another node's input
- Click a node to select it and open its settings in the right panel
- Move nodes by dragging them around the canvas
- Zoom using the controls in the bottom-left corner: minus (-), a percentage display, plus (+), and a Fit button to auto-fit everything in view
Right Sidebar -- Node Configuration
When you click on a node in the canvas, its configuration panel appears on the right side. The options shown depend on the type of node you've selected. When nothing is selected, you'll see: “Click a node to configure it.”
Trigger Types
When you add a Trigger node and click on it, you can choose what event starts the automation:
| Trigger | What Happens |
|---|---|
| Subscriber Joined List | Fires when someone is added to a specific mailing list |
| Tag Added | Fires when a specific tag is added to a subscriber |
| Tag Removed | Fires when a specific tag is removed from a subscriber |
| Campaign Sent | Fires when a specific campaign is sent to a subscriber |
| Campaign Opened | Fires when a subscriber opens a specific campaign |
| Link Clicked | Fires when a subscriber clicks a link in an email |
| Subscriber Inactive | Fires when a subscriber has been inactive for a specified number of days |
| Date Based | Fires based on a date in a custom field (e.g., birthday, anniversary), with an optional offset |
| Webhook Received | Fires when data arrives at the automation's webhook endpoint |
| Incoming Webhook | Similar to webhook received, with token-based authentication |
| Recurring Schedule | Fires on a repeating schedule |
Configuring Action Nodes
Each action node has its own settings. Here are the key ones:
Send Email
- Template -- Select which email template to send
- Subject -- The email subject line
- From Name / From Email -- Override the sender details
- SMTP Override -- Optionally use a different SMTP connector just for this email
Add / Remove Tag
- Choose the tag name to add or remove
Add to / Remove from List
- Select the mailing list
Update Field
- Choose the field to update (core fields like name, or custom fields)
- Set the value mode: a custom value you type in, “now” (current date/time), “today” (current date), or “empty” (clear the field)
Send Webhook
- URL -- The endpoint to send data to
- Method -- POST or PUT
Add to Suppression
- Select the suppression list
Unsubscribe
- Choose to unsubscribe from all lists or a specific list
Condition and Engagement Nodes
Condition
A condition checks a subscriber field against a value and creates two branches:
- Pick a field (any subscriber field)
- Choose an operator: equals, not equals, greater than, less than, contains, or does not contain
- Enter the value to compare against
The workflow then splits into a Yes path (condition is true) and a No path (condition is false).
Engagement
An engagement node checks whether a subscriber has interacted with your emails:
- Choose a metric: opened, clicked, or sent
- Pick an operator: “in last” or “not in last”
- Set the time period: a number plus a unit (minutes, hours, or days)
- Optionally toggle include bot activity
Like the condition, this creates Yes and No branches.
Delay Node
The delay node pauses the workflow for a specified amount of time before moving to the next step:
- Set a duration and unit (minutes, hours, or days)
- Optionally set a “wait until specific time” for more precise scheduling
For example, you might add a 3-day delay between a welcome email and a follow-up.
Incoming Webhook
The Incoming Webhook trigger is special -- when you add one, the node configuration will show:
- A webhook endpoint URL with a copy button, so you can give it to external systems
- Token-based authentication for security
- The webhook expects JSON data with at least an
emailfield to identify the subscriber
This is useful for connecting Punchmail to other tools like your website, CRM, or payment processor.
Automation Statuses
| Status | Meaning |
|---|---|
| Draft | The automation is saved but not running. Use this while you're still building. |
| Active | The automation is live and processing subscribers. New subscribers who match the trigger will enter the workflow. |
| Paused | The automation is temporarily stopped. Subscribers already in the workflow won't progress, and no new subscribers will enter. |
You can toggle between Active and Paused directly from the automations list page using the toggle button, or change the status in the designer's top bar dropdown.
Tips
- Start simple -- A trigger, a delay, and a send email is a perfectly good first automation. You can always add more steps later.
- Use conditions to personalize -- Branch your workflow based on subscriber data to send different content to different people.
- Watch re-entry settings -- For a welcome series, you probably want re-entry off (each person only goes through once). For a recurring promo, you might want it on.
- Test with your own email -- Add yourself to the trigger list to make sure everything works before going live.
- Use delays between emails -- Nobody wants five emails in five minutes. Space things out with delay nodes.