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

Choose a starting point

Start from a catalogued platform event, a cron schedule, an API call, Studio, or another pipeline. The input arrives as a typed value that seeds the graph.

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.

Events and schedules

Run on matching platform events or a standard cron schedule, with the same durable history and limits either way.

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, segment-wide fan-out, and Dispatch Event build large automations out of small, reusable graphs.

Build with Kit

Describe the automation in conversation, refine the result with Kit, and continue visually in the graph editor.

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.