Skip to content

Flows

A flow is the logic behind an experience: a graph that decides when the experience starts, how it advances, and what it reports. You build it in the experience editor.

NodeWhat it does
Start (webhookStart)The entry point. An inbound event — a visitor action or a webhook from your systems — starts the flow here.
ConditionA test that gates the next step. Conditions can check tag count, time since something happened, or an attribute value.
ActionSomething the flow does: show a card, or fire an outbound webhook or integration action to your systems.
  1. An event arrives — a visitor does something, or your system sends an inbound webhook.
  2. The engine tags the visitor and writes any mapped attributes onto the visitor or participant record.
  3. The engine evaluates the graph: conditions are checked against the visitor’s tags, timing and attributes.
  4. When a condition passes, the next action fires — typically showing a card, or sending an event back to your systems.
  • A webhook action POSTs a signed event to an endpoint you register. Use it to tell your CRM/CDP “this person reached the goal”.
  • An integration action calls a connected provider’s API directly — for example, posting a track event into your Segment source. See Integrations.

Both ride the same reliable delivery substrate: signed, retried with backoff, dead-lettered and logged. See retries & idempotency.

Every action is guarded by a “has not done before” check — a completion tag recorded when the action fires. Re-evaluating the graph, or a duplicate delivery, can’t make the same step fire twice for the same person. This is the same idea as the idempotency you use on the receiving side.

A flow aims at a goal. Reaching it can be the trigger for an outbound event, so your own systems can take over (for example, message the person themselves).

Was this page helpful? Tell us / report an issue ↗