Skip to Content
API ReferenceWebhooks APIOverview

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

  1. A user submits your form
  2. Formtorch processes the submission (spam check, storage)
  3. For each configured webhook endpoint, Formtorch sends a POST with the submission payload
  4. Your server processes the event and returns a 2xx response
  5. 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:

  1. Open a form and go to SettingsWebhooks
  2. Click Add endpoint
  3. Enter your endpoint URL (must be publicly accessible)
  4. 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

AttemptDelay
1st retry30 seconds
2nd retry5 minutes
3rd retry30 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