Skip to main content
tolt listen forwards your organization’s webhooks to a local URL, re-signed so your handler verifies them like production.
tolt listen
$
✓ Ready. Streaming all events to
signing secret whsec_Mz9kQ2xLpR7vT4nB8cWd3sYe
Ctrl+C to stop
→ customer.created msg_2nV8kQ4xRtLm9cWd 200
→ commission.created msg_7hTq2WmZr5LxVb3n 200

Install

Or run any command without installing: npx @tolt/cli listen. Requires Node 18+.

Test your webhook handler

1

Log in

Paste an API key from Dashboard → Settings → Integrations → Tolt API. The CLI checks it and stores it in ~/.config/tolt/config.json. Pass --api-url too: the CLI still defaults to the older api.tolt.com host, and login saves the host only when it’s passed this way.
2

Start listening

Point it at your local handler. It prints a signing secret: put it in TOLT_WEBHOOK_SECRET for your local server.
3

Trigger an event

In a second terminal, send a sample event to the running listen session.
The listen terminal shows the event and the status your handler returned.
Forwarded requests carry the usual svix-id, svix-timestamp and svix-signature headers, so the same verifyWebhook() code works locally and in production. Without --forward-to, listen just prints each event.

Commands

Global flags

The API key resolves in this order: --token, then TOLT_API_KEY, then the active profile. The host comes from --api-url, then TOLT_API_URL, then the active profile (saved by tolt --api-url … login).

Scripting

Output is human-readable on a terminal and JSON when piped (or with --json, or TOLT_JSON=true). In JSON mode, errors are {"error": "message"} on stdout with exit code 1.
tolt listen only forwards while it runs. Your production endpoints keep receiving events as configured in the dashboard.