Dry runs
A dry run feeds a sample event into the pipeline and evaluates every node exactly as a real run would — with one difference: action nodes record what they would have done instead of doing it. The result is a node-by-node trace you inspect before flipping the pipeline to active.

Running one
The dry-run modal pre-fills a JSON skeleton from the accepted event's catalogued fields. For events that reference an entity, a picker lets you choose a real profile, organization, collection, or document — and fills the payload's id for you.
{
"id": "7c9e…a104", ← picked from real profiles
"name": "Ada Lovelace",
"email": "ada@example.com"
}Reading the trace
The results list shows one row per node, in canvas order, each with its category, name, and what happened.
output shownThe node ran and produced the displayed value — exactly what flowed to downstream nodes.
would executeAn action node recorded its intended side effect — the job, the recipients, the URL — without performing it.
routedA Condition or Switch evaluated its expression and chose a branch.
skippedThe node sits on a branch the route did not take, so it never ran.
failedThe node threw; its error message is shown. A real run hitting the same error would be recorded as failed.
no outputThe node ran but produced nothing — normal for most action nodes.
More than a check
Output blocks show the exact field names and shapes flowing along each edge — the easiest way to discover what paths a Condition or JSONata expression can reference. Write the expression against what you see, not what you guess.
Event → Profile · output
{
"id": "7c9e…a104",
"name": "Ada Lovelace",
"attributes": { "marketingOptIn": true }
}
Send Webhook · would execute (skipped)
POST secret:crm-url — value resolved at run timeKeep exploring
What a pipeline is, how it executes, and what it can do.
A three-pane graph workspace with typed connections and versioned saves.
Transforms, routes, actions, and the nodes your domains contribute.
Event-triggered, durable execution with every run logged.