Skip to main content
Webhooks allow you to receive real-time HTTP notifications when events occur in your Documenso workspace. Instead of polling the API, Documenso will send a POST request to your configured endpoint whenever a subscribed event occurs.

How webhooks work

When an event occurs in Documenso (such as a document being signed or completed), the system:
  1. Identifies all webhooks subscribed to that event
  2. Constructs a JSON payload with event details
  3. Sends an HTTP POST request to each webhook URL
  4. Includes a secret header for verification
  5. Logs the response for debugging

Use cases

Webhooks are useful for:
  • Workflow automation - Trigger actions in your system when documents are signed
  • Real-time notifications - Alert users or systems immediately when events occur
  • Data synchronization - Keep external databases updated with document status
  • Analytics and monitoring - Track document lifecycle events
  • Integration - Connect Documenso with other tools (CRM, project management, etc.)

Available events

Documenso supports the following webhook events:

document.created

Triggered when a new document is created

document.sent

Triggered when a document is sent to recipients

document.opened

Triggered when a recipient opens a document

document.signed

Triggered when a recipient signs a document

document.completed

Triggered when all recipients have signed

document.rejected

Triggered when a recipient rejects a document

document.cancelled

Triggered when a document is cancelled

recipient.expired

Triggered when a recipient’s signing link expires

Webhook payload structure

All webhook requests include:
{
  "event": "document.completed",
  "payload": {
    "id": 123,
    "title": "Contract.pdf",
    "status": "COMPLETED",
    "recipients": [...],
    // ... additional document data
  },
  "createdAt": "2024-03-15T10:30:00.000Z",
  "webhookEndpoint": "https://your-app.com/webhooks/documenso"
}

Security

Documenso includes webhook security features:
  • Secret verification - Each webhook includes an X-Documenso-Secret header
  • HTTPS only - Production webhooks should use HTTPS endpoints
  • Request logging - All webhook calls are logged with response details
Always verify the webhook secret to ensure requests are from Documenso. See the Security page for implementation details.

Retry behavior

Documenso webhook delivery:
  • Expects a 2xx status code to consider delivery successful
  • Does not automatically retry failed webhooks
  • Logs all webhook calls for manual inspection and retry
You can view webhook call history and manually retry failed webhooks from the Documenso dashboard.

Next steps

Setup webhooks

Configure your first webhook endpoint

Event reference

Explore all available events and payloads

Security

Implement webhook signature verification