tolt listen forwards your organization’s webhooks to a local URL, re-signed so your handler verifies them like production.
$
✓ Ready. Streaming all events to
signing secret whsec_Mz9kQ2xLpR7vT4nB8cWd3sYe
Ctrl+C to stop
→ customer.created msg_2nV8kQ4xRtLm9cWd 200
→ commission.created msg_7hTq2WmZr5LxVb3n 200
Install
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 The
listen session.listen terminal shows the event and the status your handler returned.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.
