Webhooks allow web applications to communicate with each other. It allows sending real-time data from one application to another whenever a given event occurs.
Whenever a subscribed event occurs in RSign, the webhook sees the event, collects the data, and sends it to the URL specified in the form of an HTTP request.
Whenever an RSign customer is interested in knowing about any event in RSign like signing a document, or envelope status, they can set up a webhook. Whenever an event happens, the corresponding webhook will be triggered and information will be passed to the customer application in the desired manner.
Important: Webhooks can only be configured by users with customer administrator role in RSign. The Webhooks module is disabled by default. If you wish to enable the Webhooks module, please contact the RPost Support team.
.
This article covers the following topics:
- Configuring webhooks
- Editing webhooks
- Disabling webhooks
- Implementation of webhooks: customer application
Configuring webhooks
To configure webhooks events, follow these steps:
1. Click on Settings>Company>Webhook
2. To add a new event, click on the + Webhook button or on the Add/Edit Webhook tab.
3. Select the event type you want to configure from the dropdown. Check from the Parameters list, the information you wish to get back on your webhook notification.
Event: Type of event to be configured.
-
Available events are:
- Envelope Completed
- Document Signed
- Signer Status
- Envelope Status
- You can configure up to 3 webhooks per event type, but only 1 can be configured without an App Key; any additional webhooks must specify an App Key, regardless of the URL.
App Key: The unique identifier of an integrated application.
- If an App Key is specified: Only envelopes created using that App Key will trigger notifications to the webhook’s configured URL.
- If the App Key is left blank: The webhook will receive notifications for all envelopes that are not matched by another webhook with a specific App Key, including envelopes with a different App Key and envelopes with no App Key.
For example, if you configure two Envelope Completed webhooks:
- Webhook 1 has App Key "X" and URL "URL 1".
- Webhook 2 has no App Key and URL "URL 2".
Envelopes created with App Key X will trigger a notification to URL 1 only. All other envelopes (whether they have a different App Key or no App Key) will trigger a notification to URL 2.
Secret Key Header Name: Name of the header.
Secret key: Automatically generated UUID using UUID-4 generator included in API header. The UUID is appended by adding the prefix ‘RPWH’. It is a read-only field.
You can also: View/Hide (), Refresh (
) or Copy (
) the field content.
URL: It's the URL where you wish to receive the webhook notifications. It accepts a maximum of 500 characters.
Parameters: Details of the transaction you wish to get back on your webhook notification.
Status: If the webhook is enabled (Active) or disabled.
4. Once the fields are configured as required, click Save. The newly added event details will be visible in the Webhooks tab.
Editing webhooks
To edit a configured webhook, follow these steps:
1. Click on the Edit button available in the actions column on the Webhooks tab. The corresponding webhook will be opened in the Add/Edit Webhook tab.
2. Make the necessary changes and click on Save.
Disabling webhooks
To disable an active webhook, follow these steps:
1. Click on the Edit button available in the actions column on the webhooks tab. The corresponding webhook will be opened in the Add/Edit Webhook tab.
2. Go to the Status dropdown and select Disable. Click on Save.
Disabled webhooks are not triggered when the corresponding event happens.
Implementation of webhooks: customer application
This section explains how to implement webhooks on the customer application side. When any configured event occurs in the RSign application, the webhook triggers the customer API with configured parameters and the Secret key as part of API headers.
Webhook events
| Event name | Comments |
| Envelope Completed | Triggers when an envelope status changes to Completed. |
| Document Signed | Triggers when any signer signs the document. |
| Signer Status | Triggers on every status change of a signer. |
| Envelope Status | Triggers on every status change of an envelope. |
Webhook event parameters
| Parameter name on the user interface | Parameter name in the JSON objects | Data type | Comments |
| Envelope ID | EnvelopeId | String | The unique GUID of an Envelope in string format. |
| Envelope Code | EnvelopeCode | String | The unique code of an Envelope. |
| Envelope Status | EnvelopeStatus | String | The latest envelope status. |
| Envelope Status Old | EnvelopeStatusOld | String | The previous envelope status from the current status. |
| Completed Date | CompletedDate | DateTime | The date on which the envelope was signed by all recipients. |
| Final Contract Base64 | FinalSignedDocument | List<FinalSigned DocumentData> |
It contains the list of Final Signed Documents and the Signature certificate. The “FinalSignedDocumentData” is a class. Note: The customer application needs to decode this parameter to retrieve the documents in PDF format. |
| Sender Email | SenderEmail | String | The sender's email of an envelope. |
| Timestamp | Timestamp | DateTime | The timestamp in which the event occurred in the RSign application, in UTC time. |
| Signer Email | SignerEmail | String | The signer's email address. |
| Signer Status | SignerStatus | String | The latest status of the specific signer. |
| Reference Code | ReferenceCode | String | Reference code to be used by an external application. |
| Reference Email | ReferenceEmail | String | Reference email to be used by an external application. |
Implementation of the Envelope Completed event
When any envelope is completed, the API gets triggered with the following parameters in JSON format based on the configuration:
| Parameter name on the user interface | Parameter name in the JSON object |
| Envelope ID | EnvelopeId |
| Envelope Status | EnvelopeStatus |
| Completed Date | CompletedDate |
| Final Contract Base64 | FinalSignedDocument |
| Envelope Code | EnvelopeCode |
| Sender Email | SenderEmail |
| Timestamp | Timestamp |
| Reference Code | ReferenceCode |
| Reference Email | ReferenceEmail |
Sample JSON payload data from the Webhook to the callback URL:
POST HTTPS 1.2
Host: Customer configured endpoint
RPWHSecretKey: RPWH238023JSDVB23923
Content-Type: application/JSON
Accept: application/JSON
Accept-Charset: utf-8
{
"CompletedDate": "2026-09-04T19:49:36.427",
"EnvelopeId": "dc76fbdf-d4dc-4e3e-8a33-4d2ecc26ee4b",
"EnvelopeStatus": "Completed",
"ReferenceEmail": "admin@domain.com”,
"SenderEmail": "sender@domain.com",
"Timestamp": "2026-09-04T19:49:45.21",
"EnvelopeCode": "93068723-1977-EBCB-6757-DEFF",
"FinalSignedDocument": [
{
"DocumentType": "SignedDocument",
"FileType": "pdf",
"FinalContractBase64Data": "JVBERi0x...”
}
],
"ReferenceCode": "REF-1234"
}
Secret Key in the API header:
The secret key configured in the RSign application for any webhook event will be sent as part of API headers.
Implementation of the Document Signed event
When any signer signs the envelope, the API gets triggered with the following parameters in JSON format based on the configuration:
| Parameter name on the user interface | Parameter name in the JSON object |
| Envelope ID | EnvelopeId |
| Envelope Status | EnvelopeStatus |
| Envelope Code | EnvelopeCode |
| Sender Email | SenderEmail |
| Timestamp | Timestamp |
| Signer Email | SignerEmail |
| Signer Status | SignerStatus |
| Reference Code | ReferenceCode |
| Reference Email | ReferenceEmail |
Sample JSON payload data from the Webhook to the callback URL:
POST HTTPS 1.2
Host: Customer configured endpoint
RPWHSecretKey: RPWH238023JSDVB23923
Content-Type: application/JSON
Accept: application/JSON
Accept-Charset: utf-8
{
"EnvelopeStatus": "Completed",
"ReferenceCode": “REF-1234”,
"SignerEmail": "recipient@domain.com",
"EnvelopeCode": "89497217-1712-EFFA-9587-AEEF",
"SignerStatus": "Signed",
"ReferenceEmail": "admin@domain.com”,
"Timestamp": "2026-09-04T20:23:06.4",
"EnvelopeId": "26197544-f79f-4ea9-8d3f-ba4ed2ba6650",
"SenderEmail": "sender@domain.com"
}
Secret Key in the API header:
The secret key configured in the RSign application for any webhook event will be sent as part of API headers.
Implementation of the Signer Status event
When any signer changes its status, the API gets triggered with the following parameters in JSON format based on the configuration:
| Parameter name on the user interface | Parameter name in the JSON object |
| Envelope ID | EnvelopeId |
| Envelope Status | EnvelopeStatus |
| Envelope Code | EnvelopeCode |
| Sender Email | SenderEmail |
| Envelope Status Old | EnvelopeStatusOld |
| Timestamp | Timestamp |
| Signer Email | SignerEmail |
| Signer Status | SignerStatus |
| Reference Code | ReferenceCode |
| Reference Email | ReferenceEmail |
Sample JSON payload data from the Webhook to the callback URL:
POST HTTPS 1.2
Host: Customer configured endpoint
RPWHSecretKey: RPWH238023JSDVB23923
Content-Type: application/JSON
Accept: application/JSON
Accept-Charset: utf-8
{
"EnvelopeId": "37d8f124-84d8-46c4-96ed-4db64f30f52c",
"EnvelopeStatusOld": "Waiting for Signature",
"SignerEmail": "recipient@domain.com",
"SignerStatus": "Signed",
"Timestamp": "2026-09-04T20:36:09.637",
"ReferenceEmail": "admin@domain.com”,
"SenderEmail": "sender@domain.com",
"EnvelopeStatus": "Completed",
"ReferenceCode": "REF-1234",
"EnvelopeCode": "33499804-6280-CAED-8861-FFFA"
}
Secret Key in the API header:
The secret key configured in the RSign application for any webhook event will be sent as part of the API headers.
Implementation of the Envelope Status event
When the envelope status is changed, the API gets triggered with the following parameters in JSON format based on the configuration:
| Parameter name on the user interface | Parameter name in the JSON object |
| Envelope ID | EnvelopeId |
| Envelope Status | EnvelopeStatus |
| Envelope Code | EnvelopeCode |
| Sender Email | SenderEmail |
| Envelope Status Old | EnvelopeStatusOld |
| Timestamp | Timestamp |
| Reference Code | ReferenceCode |
| Reference Email | ReferenceEmail |
Sample JSON payload data from the Webhook to the callback URL:
POST HTTPS 1.2
Host: Customer configured endpoint
RPWHSecretKey: RPWH238023JSDVB23923
Content-Type: application/JSON
Accept: application/JSON
Accept-Charset: utf-8
{
"SenderEmail": "sender@domain.com",
"EnvelopeId": "2b2ee652-7415-4024-909e-f4fbca1585d0",
"EnvelopeStatus": "Completed",
"ReferenceCode": "REF-1234",
"EnvelopeStatusOld": "Waiting for Signature",
"ReferenceEmail": "admin@domain.com”,
"EnvelopeCode": "69956405-4168-CACF-4748-CDCE",
"Timestamp": "2026-09-04T20:39:07.45"
}
Secret Key in the API header:
The secret key configured in the RSign application for any webhook event will be sent as part of API headers.
Important note: The application receiving any configured webhook MUST return a "200" StatusCode header as a response. RSign will hit the endpoint up to 5 (five) times per event while the appropriate successful response is not returned.