Home · Features · Automation
MARKETING AUTOMATION

Twelve triggers, a real graph, and no lock-in on what happens next.

Not a linear drip sequence with branching bolted on. A proper node graph: triggers, sends, waits, conditions, operations and webhooks — wired however the flow actually runs.

THE TRIGGERS

Exactly twelve. Here they are.

Not "dozens of triggers" — twelve, named, so you can check right now whether the one you need is on the list.

01 / LIFECYCLE
Welcome new subscriber
Fires the moment a contact joins the list.
02 / LIFECYCLE
Say goodbye
Fires on unsubscribe. Last word, exit survey, or nothing at all.
03 / DATE
Happy birthday
A date field, an offset in days, and a time of day to send.
04 / DATE
Subscriber added date
Anniversaries, 30-day check-ins, trial-day-seven. Date field plus offset.
05 / DATE
Specific date
One fixed calendar date. The launch, the webinar, the deadline.
06 / SYSTEM
API-triggered
Your application calls us. Anything your code can detect can start a flow.
07 / RECURRING
Weekly recurring
Pick days of the week and a time. Digests, roundups, Monday nudges.
08 / RECURRING
Monthly recurring
Pick days of the month and a time. Statements, reports, renewals.
09 / BEHAVIOUR
Tag added
A tag lands on a contact and the flow starts.
10 / BEHAVIOUR
Tag removed
The tag comes off. Downgrades, churn, exits from a cohort.
11 / DATA
Attribute update
A custom field changes value. Plan, status, score, anything you store.
12 / COMMERCE
WooCommerce abandoned cart
Cart left behind, flow starts.
THE BUILDER

Seven node types. Drag them, join them, and the graph is the logic.

There is no hidden linear sequence underneath. What you draw is what runs.

Trigger — one of the twelve aboveentry
Send — an email, from any templateaction
Wait — an ISO-8601 durationdelay
Wait until — a point in timedelay
Condition — opened, or clickedbranch
Operation — tags, lists, fieldsaction
Webhook — any HTTP verb, mid-flowaction
T
Tag added: trial
trigger
Send: getting started
send · template from library
Wait 2 days
wait · P2D
?
Clicked the setup link?
condition · click · scoped to link · 48h timeout
YES ─────────── NO
Add tag: activated
operation
Send: nudge
send
{}
POST to your CRM
webhook · any HTTP verb
What conditions can and cannot do

Condition nodes branch on open or click. That is the whole list.

Branch on openyes
Branch on clickyes
Scope to a specific emailyes
Scope to a specific linkyes
Set a timeout on the waityes
Generic if-field-equals nodeno

We would rather you knew that now than after you had rebuilt your onboarding flow.

BRANCHING, HONESTLY

The condition node branches on engagement. Not on everything.

Plenty of tools imply that any field can gate any branch. Ours does not, and pretending otherwise would just waste your afternoon.

A condition asks one of two questions: did they open, or did they click. You can point it at a specific email or even a specific link, and give it a timeout — wait 48 hours for the click, then take the "no" path regardless.

In practice this covers most of what onboarding, re-engagement and nurture flows actually need. When you want to route on stored data instead, do it upstream: use the tag-added, tag-removed or attribute-update triggers, or a segment on the entry list.

OPERATIONS

The flow does not just send. It changes your data.

An operation node acts on the contact as it passes through — which is how one automation feeds the next one.

01 / TAGS

Add or remove a tag

Tag a contact mid-flow, and — because tag-added and tag-removed are themselves triggers — hand them straight to another automation.

02 / LISTS

Copy or move to another list

Copy keeps them where they are. Move takes them out. Graduate a trial contact into the customer list without touching a CSV.

03 / FIELDS

Update a field

Set a custom field with equals, not_equals or contains. Your stored data stays current while the flow is still running.

04 / TIME

Wait, or wait until

Wait takes an ISO-8601 duration. Wait-until holds the contact to a point in time. Both are nodes, so both can sit anywhere in the graph.

05 / OUTBOUND

Webhook, mid-flow

Any HTTP verb, to any URL you control. Tell your billing system, your CRM, your Slack, your own database — while the flow is still in progress.

06 / SEND

Send from any template

Send nodes pull from the same reusable template library your campaigns use. Build it once, use it in both. Templates →

OPERATING IT

You can reach into a running automation and fix it.

Automations fail in boring ways: someone is stuck at a node, a webhook 500'd, a contact should never have entered. Every one of those is fixable from the contacts panel.

Each automation has its own contacts panel listing everyone currently inside it and where they are. From there you can manually trigger a contact into the flow, hold and unhold them, advance them past a node they are stuck on, retry a failed step, or retry-all when a downstream service was down and a batch of them failed together.

No support ticket. No waiting for someone else to run a script.

automation · contacts
Manually trigger a contact intrigger
Pause one contact, not the flowhold
Let them continueunhold
Push past a stuck nodeadvance
Re-run one failed stepretry
Re-run every failed stepretry-all
REPORTING

Every send node gets its own report.

An automation is not one number. It is a graph, and each email inside it performs differently — so each one is measured separately.

01 / ENGAGEMENT

Opens and clicks, per node

Not an aggregate for the whole automation. The third email in the sequence has its own open rate and its own click rate, because that is the one you need to rewrite.

02 / GEOGRAPHY

Open map and click map

Where the engagement came from, per send node, built on GeoIP.

03 / FAILURES

Bounce log

What bounced on that specific email, so a deliverability problem is traceable to a node rather than to "the automation".

04 / SCALE

Built on real volume

The same infrastructure that has delivered 13.5M+ emails for 2,900+ businesses across 3.3M contacts under management.

12 triggers 7 node types 9 sending providers ISO-8601 waits Mid-flow webhooks
QUESTIONS

Straight answers

Is this a real flow builder, or a drip sequence with a diagram on top?

A real graph. Nodes — trigger, send, wait, wait_until, condition, operation, webhook — connected however the logic requires, including branches that rejoin or end separately. There is no linear sequence hiding underneath the canvas.

Can I branch on a contact's field value?

Not with a condition node. Condition nodes branch on open or click only — optionally scoped to a specific email or a specific link, with a timeout. To route on stored data, do it at entry instead: the tag-added, tag-removed and attribute-update triggers all key off your data, and you can start an automation from a segmented list. We would rather tell you this up front than let you discover it halfway through building.

What can I do if a contact gets stuck?

Open the automation's contacts panel. You can manually trigger a contact into the flow, hold and unhold them, advance them past the node they are stuck on, retry a single failed step, or retry-all when a batch failed together — usually because something on your side was down when a webhook fired.

Can an automation talk to my own systems?

Yes, two ways. The API-triggered trigger lets your application start a flow. The webhook node lets a flow call you back mid-run with any HTTP verb to any URL you control — so your billing system, CRM or database can act on the contact while they are still moving through the graph.

How do waits work?

A wait node takes an ISO-8601 duration — two days is P2D. A wait_until node holds the contact to a specific point in time instead. Both are ordinary nodes, so they can sit anywhere in the graph, including on one side of a branch and not the other.

Do the emails inside an automation get reported on?

Individually. Each send node has its own report: opens, clicks, an open map, a click map, and a bounce log. An automation's performance is not one aggregate number, so we do not present it as one.

Build the flow. Watch it run. Fix it while it runs.

Twelve triggers, a real graph, and a panel that lets you unstick anyone.