Skip to content

Your first flow

By the end of this tutorial you’ll have a deployed integration flow that accepts an HTTP POST and logs the body. Replace the log step with real work — Salesforce, SAP, Kafka — and you’ve got a working integration.

Visit https://designer.<your-root>. You’ll land on the Integration Flows page (master-detail layout).

Click + New flow in the toolbar. The modal asks for:

  • Name — e.g. Hello webhook. Use a Source → Target pattern for flows that bridge real systems.
  • Category — pick from the catalogue (or add Quality etc. via Settings → Flow categories).
  • Initial state — flows always start as Draft.

Click Create & open designer. You’re now in the editor.

A fresh flow has a single Webhook trigger and an empty step. From the palette on the left:

  1. Drag a Log step onto the canvas.
  2. Connect the webhook → log step (drag from the trigger’s output handle to the log node’s input handle).
  3. Click the log step. In the inspector panel: set Tag to hello-webhook.

Top-right of the editor:

  • Save — writes the YAML to disk
  • Deploy — pushes to the runtime (auto-saves first if dirty)

Wait for the green badge: Deployed <timestamp>.

Each new flow gets a route ID slugified from its name. The webhook trigger lives at /api/<route-id> on the runtime. Try it:

Terminal window
curl -X POST https://runtime.<your-root>/api/hello-webhook \
-H "Content-Type: application/json" \
-d '{"hello":"world"}'

You should get back ok (the default response body for a fresh flow). Open the runtime’s logs:

Terminal window
ssh <host> "docker logs --tail 20 \$(docker ps --format '{{.Names}}' | grep pipebase-runtime)"

You’ll see your hello-webhook log line with the {"hello":"world"} body.

  • Promote to prod — push this flow through dev → staging → prod environments
  • Concepts: Flows — what a flow really is, the status lifecycle, and what’s in a YAML
  • API reference — every /_api/* and /api/* endpoint