Worked Examples
Build a welcome journey with a re-engagement branch
This is the automation most people want first: greet new contacts, then treat the engaged and the unengaged differently.
What we're building
Trigger: Contact is added to "Newsletter"
│
├── Send an email — "Welcome aboard"
│
├── Wait — 3 days
│
└── Condition: opened "Welcome aboard"? (within 2 days)
├── Yes → Send "Here's where to start"
│ └── Operation: copy to "Engaged"
└── No → Send "Did you miss this?"
Before starting, confirm your setup is complete — the queue driver on Database, the scheduler running, and an active sending node. The Wait and the condition in this journey both depend on the scheduler.
Step 1 — Create the automation
On the Automations page click Add New. Name it Welcome Journey and select your Newsletter list. Click Confirm.
Step 2 — Set the trigger
Click the top node to open Select Automation Event and choose Contact is added to a list.
Set Lists to your Newsletter list. Leave Subscribers Custom Criteria empty to welcome everyone, or add a filter to narrow it. Confirm.
Step 3 — The welcome email
Click + below the trigger and choose Send an email.
Setup:
| Field | Value |
|---|---|
| Action Label | Welcome aboard |
| Sending Nodes | Your active node |
| Sender Info. | Sending Node |
| Select specific time | Off — send on arrival |
| Track Opens | On |
| Track Clicks | On |
| Skip Un-confirmed | On, if you use confirmed opt-in |
| Unsubscribe-Link | On |
| Add List-Unsubscribe header | On, with both sub-options |
The condition in step 5 asks whether this email was opened. If tracking is off here, that condition can never evaluate. Turn it on now.
Email Content: choose Select Broadcast to reuse an existing welcome email, or Design New to build one.
Confirm: send yourself a test preview, then Finish. Remember that previews don't resolve personalisation tags.
Step 4 — Wait three days
Click + below the welcome email and choose Wait. Select 3 days.
This gives contacts a realistic window to open before you judge their engagement.
Step 5 — The condition
Click + below the Wait and choose Evaluate a condition.
| Field | Value |
|---|---|
| Select Workflow Email | Welcome aboard |
| Select Engagement | Subscriber read an Email |
| Select Delay Time | 2 days |
The canvas now splits into a Yes and a No branch.
The 3-day Wait and the condition's 2-day delay stack: a contact reaches the condition after three days, and it then watches for up to two more. Contacts get roughly five days to open before landing on the No branch.
Step 6 — The Yes branch
On the Yes side, add Send an email labelled Here's where to start —
they're engaged, so build on it.
Then add an Operation below it:
| Field | Value |
|---|---|
| Select Operation Type | Copy to another list |
| Select Lists | Engaged |
| If Duplicates Found | Skip duplicate |
You now have a self-maintaining list of engaged contacts.
If Engaged has its own Contact is added to a list automation, this copy
enrols them there too. Make sure that's what you want.
Step 7 — The No branch
On the No side, add Send an email labelled Did you miss this?.
Change the subject line — the whole point is that the first one didn't land. Keep tracking on so you can measure whether the second attempt worked.
Step 8 — Test, then go live
Before switching to Running:
- Add a test contact with a real address you control to the Newsletter list.
- Confirm the welcome email arrives, and that its unsubscribe link works.
- Check the raw source for the
List-Unsubscribeheader. - Don't open it. Wait out the Wait and the condition delay, and confirm the contact lands on the No branch.
- Repeat with a second contact, opening this time, and confirm the Yes
branch and the copy to
Engaged.
Then set the status to Running.
Point the automation at a small internal list, watch a full cycle, then switch it to the real list. It's far easier than unpicking a mistake that reached thousands of contacts.
Recipe: birthday greeting
Sends a greeting on each contact's birthday, every year.
- The list needs a date custom field holding the birthday, populated.
- Trigger: Date based Automation → Based on profile date field.
- Choose the birthday field, and set Apply Filters to Is Today.
- Switch Exclude Year on.
- Add a Send an email action with your greeting.
Exclude Year is the whole trick. A birthday field holds a full date including the year of birth, which as a literal match comes true only once. Excluding the year makes the comparison day-and-month only, so it fires every year.
To send a few days ahead, set Days Before.
Recipe: renewal reminder
Warns contacts a week before their renewal date.
- The list needs a renewal date custom field.
- Trigger: Date based Automation → Based on profile date field, pointing at that field.
- Set Days Before to 1 week.
- Leave Exclude Year off — a renewal is a specific date, not an annual one.
- Add Send an email with the reminder.
- Optionally add a Wait of 5 days and a second, more urgent reminder.
Recipe: click-driven sales hand-off
Alerts your sales team when a contact clicks a high-intent link.
- Send a broadcast with click tracking on containing a pricing link.
- Create an automation with trigger When a contact clicks on a link.
- Select that broadcast, set link type to Custom, and choose the pricing URL.
- Set an Automation expiry matching the campaign's useful life.
- Add Notify admin, with To Email set to your sales address and a subject that identifies the contact.
- Optionally add an Operation copying them to a
Hot Leadslist.
Because the trigger matches only the pricing URL, a click on any other link doesn't raise a false alarm.
Common mistakes
| Mistake | What happens | Fix |
|---|---|---|
| Condition on an untracked email | The condition can't evaluate. | Turn on Track Opens / Track Clicks in the referenced Send an Email action. |
| No scheduler | Contacts enrol, then freeze at the first Wait. | Check the cron entry and automation_waitingpool. |
| Queue driver left on Sync | Settings won't save; nothing runs. | Switch to Database and run a worker. |
| Condition delay too short | Engaged contacts land on the No branch. | Give opens a couple of days. |
| Two lists copying to each other | Contacts loop between automations. | Map hand-offs before building; use Move rather than Copy where it fits. |
| Editing without pausing | Edits are refused. | Pause, edit, resume — and keep the window short. |
| Automation started after the campaign | Engagement triggers ignore what already happened. | Set the automation Running before the campaign goes out. |
Next steps
- Statistics — measure the journey you just built.
- Troubleshooting — when something doesn't fire.