Trigger
trigger · action
Every workflow starts here, and has exactly one.
| Field | Meaning |
|---|
title | Label shown on the canvas |
type | manual, schedule, webhook or event |
triggerId | Which configured trigger this node represents |
payload | The data a webhook or event trigger carried in |
See Triggers.
Wait
wait · action
Holds the customer in place before the next step.
| Field | Meaning |
|---|
waitType | duration for a relative wait, until-date for an absolute one |
durationMs | How long to wait in milliseconds, entered as a number and a unit |
untilDate | An ISO date, when waitType is until-date |
Put a Wait between two sends. A day is the shortest gap that reads as human; 24 to 72 hours between follow-ups is the usual range.
Conditional Split
conditional-split · branch
Forks the flow into several named branches. Each branch must begin with a Path node holding the rule for entering it.
| Field | Meaning |
|---|
branches[] | One { id, label } per branch, which is what the editor and analytics show |
delayMs | An optional delay before the split fires |
Path
path · action
Sits immediately after a Conditional Split and guards its branch. A customer who fails the rule stops there.
| Field | Meaning |
|---|
gate | custom-rules to test the rules below, always-run to let everyone through |
rules[] | The comparisons to run |
match | all to require every rule, any to require one |
Each rule is an input — usually a {{...}} expression — a condition, and a value. The conditions are equals, not-equals, greater-than, less-than, contains, not-contains, starts-with, ends-with, empty and not-empty.
Use Conditional Split and Path when branches need to rejoin later. Use a condition on the arrow itself when you are branching on what a message did — replied, clicked, opened. See Builder.
Exit — Cooldown
exit-cooldown · action
Ends the run because the customer is not ready, and parks them somewhere you can find them again.
| Field | Meaning |
|---|
segmentId | The cooldown segment to move them into, usually a static one |
criterionId | An optional fit criterion to decay |
scoreDelta | How far to move that score, such as -0.2 |
reason | Free-form text logged with the exit |
The run ends as canceled, since a cooldown is a cancellation with a reason.
Exit — Suppress
exit-suppress · action
Ends the run and stops all future automated sending to that contact.
| Field | Meaning |
|---|
reason | unsubscribe, bounce, complaint, manual or do_not_contact. Defaults to manual |
channel | Suppress one channel only. Leave empty to suppress every channel |
Suppression has no undo inside the flow. Lifting it is a manual act in the customer drawer that asks for a written reason. Reach for this node only on a real unsubscribe, a hard bounce, or a decision never to contact someone again.