Appearance
Introduction
SignalBin gives every webhook source you integrate with a stable URL to send to. It captures each incoming request in full, lets you inspect it, and can forward a copy on to your own systems. Use it to debug an integration, or to replay a payload once you've fixed the bug behind it. It also works as somewhere to park events you aren't ready to consume yet.
Core concepts
Endpoint
An endpoint is a named receiver with its own hosted URL. Point a webhook source at it, whether it's a payment provider, a SaaS integration, or a service you wrote yourself, and every request it sends gets captured. See Endpoints & Destinations for the URL format and how to create one.
An endpoint can optionally require a shared secret, so only requests that know it get captured. See Endpoints & Destinations for how to set one.
Captured webhook
Every request that reaches an endpoint is stored as a captured webhook. Browse that history under Webhooks in the sidebar and open any row to see exactly what arrived.
Values that look sensitive, like an Authorization header or a password field, are masked before storage so they're never shown back to you in the workspace UI or API. See Webhook Capture & Replay for exactly what's masked and how that interacts with replay.
Bodies don't stick around forever. Each workspace has a retention window, currently fixed at 30 days, after which SignalBin deletes the stored body and file attachments and keeps the metadata. Webhook Capture & Replay covers what survives and what that means for replaying an old capture.
WARNING
Each request is capped at 20 MiB whatever your plan or remaining credit. Anything larger is turned away without being stored, and the sender gets an error rather than a success (technically, a 413 response). A request is also turned away when the workspace has run out of credit to bill it against (a 402). See Billing.
Destination
A destination is an optional relay target attached to an endpoint. Every enabled destination gets its own copy of each captured request. There are no matching rules to configure, because SignalBin fans every capture out to all of them. A destination can override the HTTP method and strip or inject headers on the way through, and an endpoint holds up to 10 of them.
Quickstart
1. Create an endpoint
Go to Endpoints in the sidebar and click New endpoint. Fill in Name, which is only a display label, and Slug, which becomes part of the URL. The slug box arrives pre-filled with a generated value, and Generate gives you another if you don't like it. Click Create endpoint and the hosted URL exists immediately.
2. Send it a request
Your new endpoint appears in the table with its URL in the URL column. Two small icon buttons sit next to that URL: the copy icon puts a ready-made curl command on your clipboard, and the play icon (a right-pointing triangle, labelled "Execute test request" for screen readers) fires a request straight away. Click the play icon. SignalBin sends itself a synthetic request and captures it exactly the way it would capture one from a real sender.
Prefer the command line, or want to see the endpoint accept a request from outside SignalBin? Any tool that can make an HTTP request works too, and the signalbin CLI can fire a realistic sample payload without you having to write one:
bash
curl -X POST https://signalbin.work/acme/orders \
-H "Content-Type: application/json" \
-d '{"event": "order.created", "id": "ord_123"}'bash
signalbin samples send stripe checkout.session.completed --endpoint <endpoint-id>Either way SignalBin accepts the request and answers 202 Accepted. See CLI for installing signalbin.
There's a third route worth knowing about. Open the endpoint, go to its Sample payloads tab, pick a provider and an event from the two lists, and click Send to this endpoint. You get a realistic payload from a real provider without leaving the browser.
3. Inspect the capture
Go to Webhooks in the sidebar. The request you just sent sits at the top of the list. Click its row to open the detail view, where you'll find Body, Headers, Deliveries, and Attached files.
Leave the Webhooks page open and fire another test. The new capture appears without a reload, pushed to the browser over SignalBin's live event stream.
Next steps
- Endpoints & Destinations: creating endpoints and wiring up fan-out in more detail
- Webhook Capture & Replay: browsing history, live updates, and replaying captures
- MCP Integration: managing a SignalBin workspace from an AI client
- Billing: how credit and usage work