beam

Tail mode

Print each incoming webhook to stdout β€” like tail -f for your webhook.

Instead of replaying to a local server, --tail prints each incoming request β€” method, path, sorted headers, pretty-printed JSON body β€” to stdout, like tail -f for your webhook. It's the fastest way to see what a provider is actually sending before you've written a handler.

beam webhook listen myhook --tail

Operational logs stay on stderr

The request stream goes to stdout; connection/keepalive logs go to stderr. That separation means you can redirect just the requests to a file or a pipe:

beam webhook listen myhook --tail > requests.log
── POST /orders?id=7  2026-06-14T22:07:12+08:00 ──
content-type: application/json
x-signature: abc123
…
{
  "event": "order.created",
  "amount": 1999
}

--body-only for piping

Add --body-only to drop the metadata and emit just the body (pretty-printed when it's JSON) β€” handy for piping straight into jq:

beam webhook listen myhook --tail --body-only | jq .event

When to use which

You want to…Use
Replay traffic to a running local server--forward (default)
Eyeball the full request, headers and all--tail
Pipe just the JSON body into another tool--tail --body-only
Re-fire a saved payload by handbeam webhook send

On this page