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_category—signingorredlining.event.event_type— the specific event, for exampledocument_signed. See the event catalog.event.event_time— when the event occurred, in milliseconds since the Unix epoch.- A category-specific object (
signingorredlining) 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 a200 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.
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 theevent.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.