RefreshDocsConsole →

Dashboard

Automations

Trigger-driven sequences. A trigger, up to 20 steps, one run per contact.

An automation is a trigger plus an ordered list of steps. When the trigger fires for a contact, the platform creates a run. The worker then walks the steps for that contact.

Triggers

Trigger Fires when
event (with a name) POST /api/v1/events is called with that name — see Events.
contact.created A contact is created for the first time (console, import, API, events, signup forms).
topic.subscribed (with a topicSlug) The subscription of a contact to that topic becomes subscribed (API, console, preferences page). It also fires when a person confirms a signup form for that topic. Unsubscribe → resubscribe fires again.

You edit the trigger and the steps as JSON in the automation editor. Example:

{ "type": "event", "name": "order.paid" }

Steps

An automation has up to 20 steps. The worker runs them in order:

Step Shape Behaviour
send { "type": "send", "templateSlug": "welcome", "domainName": "example.com", "kind": "onboarding.1" } Sends the latest published version of the template to the contact from no-reply@<domainName>. Data = contact properties + event data, with email, first_name, last_name fixed (also under contact.*), pruned to the declared variables of the template. kind defaults to sequence.<id>, a bulk kind: the message goes through the bulk configuration set with unsubscribe headers and the footer. Set a transactional kind (for example receipt.drip) when the step must not carry them. Idempotent per run and step.
delay { "type": "delay", "ms": 86400000 } Parks the run (state Waiting) for up to 30 days.
condition { "type": "condition", "rule": { "property": "plan", "op": "eq", "value": "pro" }, "elseStop": true } Evaluates one segment rule against the contact now. With elseStop, a non-match ends the run (Stopped, condition); without it the run continues.
webhook { "type": "webhook", "url": "https://example.com/hook" } POSTs { type: "automation.webhook", automation, run, contact, context } (user-agent f5send-automations/1, 5 s timeout). Must be https:// on a public host; a non-2xx fails the run.

Runs

The automation page lists the latest runs. Each row shows the contact, the current step and the state. The states are Running, Waiting (in a delay), Done, Stopped (condition or pause) and Failed (last error shown). One run exists per automation × contact × trigger occurrence. A redelivered event or a retried import thus never doubles a sequence.

Pause and delete

New automations start paused. Enable an automation when the steps are correct. Pause stops in-flight runs at their next step (state Stopped, paused). It also ignores new trigger occurrences. Delete removes the automation and its runs.