Bosca / Pipelines

Dry runs

The whole graph runs.
Nothing happens.

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.

A dry-run trace in Bosca Studio showing each node's status and output
A dry-run trace — one row per node, with the value on every edge.

Running one

A payload, pre-filled

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.

  • Dry runs always execute the last saved graph, so the button is disabled while you have unsaved changes.
  • The payload is decoded as the accepted event type; if it doesn't decode, the run aborts with the reason before any node executes.
  • An Execute Script node can opt in to running during dry runs — for scripts that are pure transforms.
dry run — sample payload
{
  "id": "7c9e…a104",   ← picked from real profiles
  "name": "Ada Lovelace",
  "email": "ada@example.com"
}

Reading the trace

Six statuses to learn

The results list shows one row per node, in canvas order, each with its category, name, and what happened.

output shown

The node ran and produced the displayed value — exactly what flowed to downstream nodes.

would execute

An action node recorded its intended side effect — the job, the recipients, the URL — without performing it.

routed

A Condition or Switch evaluated its expression and chose a branch.

skipped

The node sits on a branch the route did not take, so it never ran.

failed

The node threw; its error message is shown. A real run hitting the same error would be recorded as failed.

no output

The node ran but produced nothing — normal for most action nodes.

More than a check

The trace is a schema explorer

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.

  • Dry runs execute under your account; triggered runs execute under the pipeline service account. If a fetch behaves differently live, check permissions first.
  • Nodes that reference secrets trace the secret's name only — the value never appears in a trace or in run history.
trace — a node's output
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 time

Keep exploring

More on Pipelines