Webhooks
Webhooks deliver real-time HTTP notifications to your server whenever a form submission arrives. Formtorch sends a signed POST request to each configured endpoint.
How it works
- A user submits your form
- Formtorch processes the submission (spam check, storage)
- For each configured webhook endpoint, Formtorch sends a
POSTwith the submission payload - Your server processes the event and returns a
2xxresponse - Formtorch marks the delivery as successful
If your server returns a non-2xx response or times out, the delivery is retried with exponential backoff.
Setting up webhooks
From the dashboard:
- Open a form and go to Settings → Webhooks
- Click Add endpoint
- Enter your endpoint URL (must be publicly accessible)
- Save and copy the webhook secret
From the API, webhook management endpoints are coming in a future release.
Delivery model
- Webhooks fire for every non-spam, non-test submission
- Spam submissions (
isSpam: true) and test submissions (_test=true) are skipped - Delivery order is not guaranteed when a form has multiple endpoints
- Each endpoint receives the same payload independently
Retry schedule
| Attempt | Delay |
|---|---|
| 1st retry | 30 seconds |
| 2nd retry | 5 minutes |
| 3rd retry | 30 minutes |
After 3 failed retries, the delivery is marked failed. You can see delivery history per submission in the dashboard.
Timeouts
Your endpoint must respond within 10 seconds. For expensive operations, return 200 OK immediately and process asynchronously.
For a complete implementation example including signature verification, see Webhook Processing.
Last updated on