What this is for
This is the power-user reference for AcelleMail's automation system — the catalog you skim when designing a flow, not a how-to walkthrough. If you're just starting with automations, read Build a Welcome Email Series first; come back here when you need to know what trigger to pick for a specific scenario.
All 12 built-in triggers
These are every trigger card on the Create Automation page:

| # | Trigger | Fires when | Most common use | Deep-dive article |
|---|---|---|---|---|
| 1 | Welcome new subscribers | New subscriber added to the connected list | Welcome series | Welcome Series |
| 2 | Say goodbye to subscriber | Subscriber unsubscribes from the connected list | Exit survey, win-back, internal alert | — |
| 3 | Say 'Happy birthday' | Subscriber's Birthday date field matches today (year-agnostic) | Birthday email | Birthday + Anniversary |
| 4 | Subscriber added date | Yearly anniversary of subscribed_at |
Anniversary email | Birthday + Anniversary |
| 5 | Specific date | One-time send on a fixed calendar date | Event reminder, appointment | — |
| 6 | API 3.0 | External webhook call to AcelleMail's API | Custom server-side triggers | API Triggers |
| 7 | Weekly recurring | Same day every week | Weekly digest, weekly check-in | — |
| 8 | Monthly recurring | Same day every month | Monthly invoice, billing reminder | — |
| 9 | Tag based | Subscriber receives a specified tag | Post-purchase, re-engagement, lead scoring | Post-Purchase, Re-engagement, Lead Scoring |
| 10 | Remove Tag | Subscriber loses a specified tag | Exit-flow, bucket transitions | — |
| 11 | Contact Attribute Update | Custom field value matches a specified condition (incl. wildcards) | Lifecycle stage changes, score thresholds | Lead Scoring |
| 12 | Abandoned Cart Reminder | WC cart abandonment via the sync plugin | Cart recovery | Abandoned Cart |
Trigger anatomy
Every trigger you configure has the same three pieces:
| Piece | What it does |
|---|---|
| Trigger event | One of the 12 above. Determines WHAT starts the workflow. |
| Audience list | Limits which subscribers are eligible. Only subscribers on this list enter the flow. |
| Filters (trigger-dependent) | Tag-based / Contact Attribute Update / Specific date need additional config (which tag, which field+value, which date). |
Every trigger fires once per subscriber per qualifying event. AcelleMail prevents re-firing on the same subscriber while they're in the flow — to re-enter, they need to be removed from the active session first (via Contacts → Delete trigger on the automation's Contacts tab).
The CONDITION node — the branching workhorse
The CONDITION node creates a YES/NO split in your flow. It's how you build "if engaged, do X; if not, do Y".
CONDITION evaluates against four kinds of facts
| Fact | Example | Use |
|---|---|---|
| Tag presence | "Has tag engagement-hot?" |
Bucket-based routing |
| Custom field value | "Plan field equals enterprise?" |
Account-type-based content |
| Activity history | "Opened campaign 'Welcome'?" | Engagement-based pruning |
| Compound (AND/OR) | "Tag X AND field Y > 50?" | Complex multi-criteria checks |
For each fact, AcelleMail offers operators appropriate to the data type:
| Data type | Operators |
|---|---|
| Tag | has tag · doesn't have tag |
| Custom field (text) | equals · not equals · contains · doesn't contain · starts with · ends with · is empty · is not empty |
| Custom field (number) | equals · greater than · less than · between |
| Custom field (date) | greater than (days) · less than (days) · is past · is future |
| Activity (email opened) | opened · did not open |
| Activity (link clicked) | clicked any link · clicked specific link · did not click |
Build a CONDITION node
In the flow builder:
- Click + on the downstream arrow where you want the split
- Pick CONDITION from the node picker
- The side panel opens with three dropdowns: Field → Operator → Value
- Configure your check
- Two arrows appear from the new node: YES (top) and NO (bottom)
- Build the downstream flow on each branch
Multi-branch via chained CONDITIONs
The YES/NO split is binary. For more than two outcomes, chain CONDITION nodes:
CONDITION → Has tag `vip`?
├─ YES → SEND EMAIL: VIP exclusive
└─ NO → CONDITION → Has tag `customer`?
├─ YES → SEND EMAIL: Customer offer
└─ NO → CONDITION → Engagement-warm?
├─ YES → SEND EMAIL: Warm nurture
└─ NO → SEND EMAIL: Cold-list welcome
4 branches built from 3 CONDITIONs. Each YES/NO is one decision; the chain reaches every outcome.
The OPERATION node — mutate the subscriber
The OPERATION node is how a flow changes the subscriber's data, not just sends them email. Five operation types:
| Operation | What it does | Use |
|---|---|---|
| Add tag | Adds a tag to the subscriber | Mark progress (completed-onboarding), trigger downstream flows |
| Remove tag | Removes a tag | Reset state, exit a bucket |
| Update field | Sets a custom field to a new value (literal or formula) | Lead scoring, lifecycle stage |
| Move to blacklist | Permanent block on all sends | Sunset non-responders (Re-engagement) |
| Copy to list (in some installs) | Add the subscriber to another mail list | Multi-list segmentation |
The Update field operation can take a literal value (Plan = enterprise) OR a formula referencing the current value ({{subscriber.lead_score}} + 25). Formula support makes OPERATION the engine of any points-based scoring system.
The WAIT node — pause the flow
WAIT pauses the subscriber's journey for a configurable duration before the next node fires.
| WAIT unit | Practical range | Use |
|---|---|---|
| Minutes | 5 min – 60 min | Cart-recovery near-real-time |
| Hours | 1h – 48h | Day-to-day welcome series |
| Days | 1d – 365d | Multi-week nurture, anniversaries |
WAIT pauses persist across automation pauses — if you pause the automation, all WAIT nodes hold their place; un-pausing resumes from where each subscriber was. This is critical to know if you're iterating on a flow in production.
Designing multi-trigger flows
Sometimes one automation isn't enough. Common patterns:
Pattern 1 — One canonical flow, multiple entries
Build one "customer nurture" automation with a Tag based trigger on customer-new. Then build:
- Pre-purchase flow → adds
customer-newtag → enters nurture - Post-purchase flow → adds
customer-newtag → enters nurture (via the same trigger)
The nurture flow doesn't care HOW the subscriber became a customer — it just sees the tag.
Pattern 2 — Coordinated trigger pairs
For a 2-stage funnel:
Automation A — Welcome series
TRIGGER: Welcome new subscribers
…5-email flow…
Final OPERATION: Add tag `nurture-eligible`
Automation B — Long-tail nurture
TRIGGER: Tag based: nurture-eligible
…monthly content + offers…
Two automations, one handoff. The first ends with a tag operation; the second triggers off that tag. Clean separation, easier to maintain than one giant flow.
Pattern 3 — Exit-on-tag-set
Any automation can exit early if a sentinel tag appears. The pattern:
… (any path) …
CONDITION → Has tag `exit-now`?
├─ YES → END
└─ NO → continue
Place these checks before each SEND EMAIL. Useful for "stop sending if customer complained" or "stop sending if customer converted".
Anti-patterns
| Pattern | Problem | Better |
|---|---|---|
| One giant flow with 30+ nodes | Hard to debug, slow to evaluate, easy to break | Split into multiple smaller automations linked via tags |
| CONDITION on every step | Performance overhead; flow becomes unreadable | Use ONE upstream CONDITION + segment-based filtering |
| Trigger on Contact Attribute Update with no filter | Fires on every field change to any field — chaos | Always specify the field + condition in the trigger config |
| WAIT 0 between nodes | Pointless; just remove the WAIT | Remove |
| Multiple automations triggering on the same event | Subscribers receive duplicate emails | Use one canonical automation + handoff via tags |
| Manual subscriber adds to "trigger" the flow | Easy to forget, doesn't scale | Use the actual trigger — Tag based with a bulk-tag action |
Performance notes
- AcelleMail evaluates trigger conditions on a polling basis (typically every minute for tag/attribute changes, daily for date triggers). Don't expect sub-second responsiveness.
- A subscriber can be in multiple automations simultaneously — each automation tracks them independently. Watch for cross-automation send overlaps.
- The Contacts → Trigger all subscribers action on an automation fires the trigger for every subscriber on the list at once. Use sparingly on large lists (10k+).
Related articles
- Build a Welcome Email Series in AcelleMail (Visual Flow Builder)
- Tag-Based Re-engagement Pattern
- Lead Scoring in AcelleMail
- Using API Triggers for Custom Automation Workflows
6 bình luận