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.