Skip to main content
Webhooks let Formable notify your application the moment something happens — for example a document is viewed or signed — without you having to poll the API. When an event occurs, Formable sends an HTTP POST request to a URL you provide.
Prefer webhooks over polling for reacting to activity in near real time. You can still use signature request events to reconcile or backfill. If you use redlining, the same webhook endpoint also receives redlining events.

How delivery works

When an event fires, Formable sends a single HTTP request to your endpoint: The request body is the event object — it is not wrapped in an envelope. Every payload has the same top-level shape:
  • event.event_id — a unique ID for this delivery. Use it for idempotency.
  • event.event_categorysigning or redlining.
  • event.event_type — the specific event, for example document_signed. See the event catalog.
  • event.event_time — when the event occurred, in milliseconds since the Unix epoch.
  • A category-specific object (signing or redlining) carries the event details.

Register an endpoint

Webhook endpoints are configured per organization by the Formable team.
1

Send us your URL

Contact support@formabledocs.com with the HTTPS URL that should receive events.
2

Receive your signing secret

We provision a signing secret for your endpoint and share it securely. Store it as a secret in your environment — you’ll use it to verify signatures.
Each organization has one webhook URL. For e-signing, handle document_viewed and document_signed. The same endpoint also receives redlining events if you use that workflow — inspect event.event_type to decide what to act on.

Respond quickly

Return a 200 status code as soon as you’ve received the event. If you have heavy work to do (updating records, sending emails, syncing data), enqueue it and process it asynchronously so you can respond within the 10-second timeout.
Any response other than 200, or a response that takes longer than 10 seconds, is treated as a failed delivery.

Retries

Formable does not automatically retry failed deliveries today. Failures are logged and monitored on our side. To stay resilient:
  • Make your endpoint highly available and fast to respond.
  • Use the events endpoints to reconcile any events you may have missed during downtime.

Idempotency

Design your handler to be idempotent. Because a delivery could theoretically arrive more than once, track the event.event_id you’ve already processed and skip duplicates.

Next steps

Verify signatures

Confirm each request genuinely came from Formable.

Event catalog

Every event type and its payload schema.