Skip to main content
Don’t wait for a real evaluation to complete before testing your endpoint. Three options, in order of how often you’ll use them.

1. Send a synthetic event

The fastest loop. Fires a real signed POST with a representative payload at the endpoint URL on file. No DB side effects.
Response:
The synthetic payload uses event_id prefix event_test_* so your receiver can branch on test vs prod if needed (or treat them identically — recommended). You can request any of the seven event types in the type field. The payload mirrors a real event of that type, with team_id set to your team and data.object.id carrying a _test_ infix.

2. Tunnel localhost

For active development, expose your local server with a tunnel so we can reach it. Three good options:
Use https://hippo-rare-koi.ngrok-free.app/webhooks/autousers as the endpoint URL when creating the webhook. ngrok logs every inbound request at http://localhost:4040.

3. Use webhook.site for blind smoke tests

When you want to confirm we send what we say we send — no receiver code needed:
  1. Open webhook.site and copy the unique URL.
  2. Create an endpoint pointing at it.
  3. Fire POST /v1/webhooks/$ID/test.
  4. Inspect the request on webhook.site — headers, body, signature.
Useful for verifying signature math by pasting the body and the secret into a local script.

CLI workflow

The Autousers CLI wraps the synthetic-event flow:
See the CLI reference.

A first-call sanity check

A 30-second loop to confirm everything works end-to-end.

Common questions

No. Synthetic events are free and do not consume RPM, monthly quota, or evaluation quota. They do produce a real WebhookDelivery row in the log so you can verify retry behaviour end-to-end.
Only if it returns non-2xx — the same retry schedule applies to synthetic deliveries. Use this to test your receiver’s idempotency.
Yes. The CLI is unauthenticated except for the API key — drop AUTOUSERS_API_KEY in CI env and run autousers webhooks trigger ... as a step. See the GitHub Actions recipe.