Webhook delivery

The Webhook delivery sends a POST request to a specified URL. The request contains a link to the generated document.

Configure delivery

First, you have to fill the URL where the request will be sent:

Webhook delivery

Optionally, you can specify HTTP headers or JSON object that will be sent in the same request:

Custom headers and JSON

You can insert values from your data using tokens. Their list is available by clicking { }.

Let us assume your data has property address. In this case, you can include it using token {{address}}. The tokens work in the same way as in document templates including value formatters.

Additionally, you can use predefined tokens:

  • {{@date}} - full current date with time,

  • {{@number}} - the current document number.

On the screen above we specified user ID in header ({{user.id}}), user name and user age in JSON data ({{user.name}} and {{user.age}}).

Structure of POST request

Example of POST request that will be sent to your URL:

POST https://webhook.site/2fe03ab2-ed88-483b-9fa2-26260d9a7a22 HTTP/1.1
Content-Type: application/json
Content-Length: 253
Connection: close
desired-http-header-1: test value 1
user-identifier: 546

{
  "fileUrl": "https://actions2.blob.core.windows.net/data-storage/2020-04-vaomosm3.am3?sv=2018-03-28&sr=...",
  "data": "{\n    \"userName\": \"Bob Barley\",\n    \"age\": 42\n}",
  "deliveriesData": {}
}

Those are two custom headers that we added in the delivery settings (desired-http-header-1 and user-identifier).

The body of the POST request contains two properties:

  • fileUrl - It is a link to the result document generated by your process. You can use this link to download the document from your code.

  • data - It is a JSON data that you configured in the delivery.

  • deliveriesData - It is the data retrieved from previous deliveries. See the example here.

Note

You can use sites like webhook.site for debugging this delivery.

Retrieve the DocuSign Envelope ID

If DocuSign delivery is completed before Webhook delivery, Webhook will get the envelopeID in its JSON data:

DocuSign delivery placed before the Webhook delivery
{
  "data": "...",
  "deliveriesData": {
    "docuSign": [
        {
          "envelopeId": "fac5b8da-b53f-4f51-95ab-d6bbf842b5de",
          "status": "sent",
          "statusDateTime": "2022-02-22T20:10:25.8000000Z",
          "uri": "/envelopes/fac5b8da-b53f-4f51-95ab-d6bbf842b5de"
        }
    ]
  }
}