Your first pipeline in 3 minutes
You will build: a running app that receives events over a topic, filters them with a rule, and shows you the result live.
Prerequisites
- Pulse installed locally — or skip installs entirely and run this in the playground.
- A terminal. That's it — no account, no cloud.
1 · Boot a local Pulse in dev mode
pulse server start --dev
Pulse boots locally (HTTP on :9090) and the CLI logs itself in. Leave it running; open a second terminal for the next steps.
2 · Scaffold the app
pulse new hello --source webhook --stage rule-based:triage
Creates ./hello with three files: pulse.yaml (the whole app), sample.json (a test event to send), README.md.
The scaffold is already valid — you can deploy it before editing anything.
3 · Deploy it
cd hello
pulse secret set PULSE_WEBHOOK_SECRET dev-secret # the scaffolded webhook source requires it
pulse deploy .
Stands up: the webhook source, the triage stage, the topic chain hello.in → hello.triage.out, and a typed HTTP API.
4 · Send an event
pulse events publish --topic hello.in --value @sample.json
5 · Watch it come out the other side
pulse events tail --topic hello.triage.out
Your event appears, having passed the triage rule. This tail stays live — every future event shows up here in real time.
What just happened
You deployed a real event pipeline, not a script: the source, the stage and the output are independent pieces chained by topics. hello.in and hello.triage.out are durable topics — anything can publish to the first and anything can subscribe to the last. Every app you build from here is this same shape, with more interesting middles.
Troubleshooting
pulse: command not found
Pulse isn't on your PATH. Re-run the installer or use the playground — the tutorial works identically there.
Deploy says the server is unreachable
The dev server from step 1 isn't running (or you closed that terminal). Restart it with pulse server start --dev and keep it open.