Bosca / Pipelines

Bosca Pipelines

Take an event.
Shape it. Decide.
Act.

Pipelines are Bosca's visual automation: stored transform graphs that accept a platform event, reshape it, branch on conditions, and act — enqueue a job, send an email, post to Slack, call a webhook — without writing or deploying code.

How it works

Event in. Actions out.

01

Pick an event

Every pipeline declares the platform event it accepts, chosen from the searchable event catalog — a profile created, a document published, a comment posted. That event seeds the graph's Input node with a typed value.

02

Wire the graph

Drag nodes from the palette onto the canvas and connect them: transforms reshape the data, routes branch on conditions, actions do something with the result. The inspector configures whatever is selected.

03

Activate

Flip the Active switch and the pipeline runs on the platform's background job infrastructure every time its event fires. Every run is logged with its outcome, timing, and any error.

What makes it powerful

Automation you can read

When the logic is "take this event, shape it, decide, act", a pipeline expresses it as a diagram — with the execution engine, durability, and audit trail handled by the platform.

A graph, not glue code

Transforms, conditions, and actions wired on a canvas — a diagram anyone on the team can read and edit.

Triggered by events

Flip Active and every matching platform event starts a run. Several pipelines can accept the same event.

Typed edges

Values keep their types as they flow. Input slots declare what they accept, and the editor refuses connections that don't fit.

Dry runs

Trace a sample event through the saved graph. Action nodes record what they would do — and do nothing.

Durable runs

Delay, Wait Until, and job waits park a run durably and resume it later. A restart doesn't lose it.

Composable

Run Pipeline, For Each, and Dispatch Event build large automations out of small, reusable graphs.

Secrets stay sealed

Webhook URLs and signing keys are encrypted secrets, referenced by name and resolved only at execution time.

Every run logged

Outcome, timing, and errors for every run — plus a live view streaming node-by-node progress as it executes.

Shaping data

Reshape with an expression

Events are intentionally lean — an id, a name, a timestamp. Fetch nodes resolve the full entity, and a JSONata node reshapes it into exactly what the receiving end expects. The inspector's workbench previews the expression against a sample input without leaving the editor.

  • Values flow through the graph with their types intact; bridge nodes convert to and from JSON where a node works structurally.
  • $eventCreated is bound to the run's occurrence timestamp in every expression.
  • Declare the expression's output type and downstream typed slots accept the result.
jsonata — shape a webhook payload
{
  "profileId": id,
  "displayName": name,
  "occurredAt": $eventCreated
}

Dry runs

Trace it before it's live

A dry run feeds a sample event through the whole graph exactly as a real run would — except action nodes record what they would do instead of doing it. The node-by-node trace shows every value on every edge, so you see the shape of the data before you flip the pipeline to active.

  • The payload builder pre-fills a skeleton from the event catalog; entity pickers fill in real ids.
  • The trace doubles as a schema explorer for writing conditions and expressions.
  • Secrets trace by name only — the value never appears.
dry run — node trace
  • inputprofile.createdoutput
  • fetchEvent → Profileoutput
  • routeopt-in?routed → true
  • transformShape payloadoutput
  • actionSend Webhookwould execute (skipped)

Pipelines ship with Bosca

Every subsystem publishes its events to one catalog, and every catalogued event can trigger a pipeline — content publishes, profile changes, task transitions, comments. The docs cover the editor, the node vocabulary, and the execution model end to end.