> **Source:** https://knowledge.leegality.com/document-execution/api/webhooks/webhook-configuration > **Site:** Leegality Knowledge Base — https://knowledge.leegality.com > **About:** Leegality is a document execution platform covering eSigning, stamps, NeSL, workflows, and REST API integration. > **Navigation:** Every article on this site has a plain-text version at `.txt` (this format). To get an index of all articles with their `.txt` links, read: https://knowledge.leegality.com/llms.txt > **AI Guide:** For instructions on how to navigate this knowledge base as an AI agent, read: https://knowledge.leegality.com/ai-readable.txt --- # Webhooks When you send a document for eSigning using Leegality, webhooks can notify you the moment each invitee goes through a signing action — they sign, approve, reject, or fails signature certificate verification, without you having to poll the Check Document Details API. Leegality sends a JSON webhook payload to the endpoint you've configured in the workflow, containing the event type, invitee details, and document status. The payload does not include the signed document or audit trail — use the [Details API](https://knowledge.leegality.com/document-execution/api/check-document-details) to retrieve those once you've received the webhook. ## How It Works 1. You configure webhook URLs for invitee(s) in a document or a workflow in the Leegality dashboard 2. A document is sent using that workflow 3. When an invitee completes or fails a signing action, Leegality sends a JSON payload to the corresponding URL 4. Your server processes the payload and returns any 2XX response 5. If your server does not respond with 2XX, Leegality retries up to 3 more times ## Requirements for Your Endpoint - Must be **publicly accessible** over HTTPS - Must accept **POST** requests with `Content-Type: application/json` - Must return a **2XX** status code (200, 201, or 202) to acknowledge request ## Configuring Webhooks Sender needs to add webhook specific to invitee while creating a workflow. They cannot be set via the Create eSigning Request API. 1. Go to your Leegality dashboard 2. Open the workflow you want to configure (create one if needed) 3. For each invitee, expand **More Options** > **Add custom URLs and webhooks** 4. Enter the URLs you want to receive events on: - **Webhook URL** — for success events - **Error Webhook URL** — for failure and rejection events 5. Set **Webhook Version** to **v2.5** 6. Save the workflow > **Caution** > > Webhook URLs are stored on each document at the time it is sent. Changing URLs on a workflow **does not update documents that have already been sent**. To change webhook URLs for an in-flight document, edit it individually from the dashboard. ## Retry Behavior If your endpoint does not return a 2XX response, Leegality retries the webhook on a fixed schedule: | Attempt | Timing | |---------|--------| | Initial delivery | Immediately when the event occurs | | 1st retry | Immediately after the initial failure | | 2nd retry | 1 hour after the 1st retry | | 3rd retry | 3 hours after the 2nd retry | After 3 failed retries, no further delivery attempts are made. Use the [Check Document Details](https://knowledge.leegality.com/document-execution/api/check-document-details) API to retrieve the document status if a webhook was missed.