> You are reading the Docusign Developer Documentation. For clean Markdown of any page, append .md to the page URL.
>
> Documentation indexes by section:
> - APIs and SDKs: https://docusign.docs.buildwithfern.com/docs/llms.txt
> - Platform 101: https://docusign.docs.buildwithfern.com/platform/llms.txt
> - Extension Apps: https://docusign.docs.buildwithfern.com/extension-apps/llms.txt
> - Docusign CLI: https://docusign.docs.buildwithfern.com/docusign-cli/llms.txt
>
> Authentication (OAuth, JWT Grant, M2M): https://docusign.docs.buildwithfern.com/platform/auth
> Webhooks and Connect: https://docusign.docs.buildwithfern.com/platform/webhooks
>
> OpenAPI specifications: https://docusign.docs.buildwithfern.com/openapi.json
> MCP server: https://docusign.docs.buildwithfern.com/_mcp/server

# JSON SIM event model (Connect 2.0)

> Learn about the JSON SIM event model for Docusign Connect.

Docusign Connect supports a recommended JSON Send Individual Messages (SIM) format, as well as  [Legacy event message formats](/platform/webhooks/connect/legacy-message-formats). Unlike messages in the previous supported formats, the JSON SIM message format is event-focused rather than envelope-focused. This means that:

* By default, rather than getting a summary of the envelope in each message, the message contains data about the triggering event. This means that each message is much smaller, more focused on the data you request, more customizable, and easier to process. Depending on the event type, you may choose to include the envelope summary as well.
* You can track and subscribe to more types of events.
* You receive an event notification status at the time it occurs.

Because the JSON SIM format provides substantial benefits over aggregate message formats, it is recommended for all apps. The JSON SIM format is supported for both account- and envelope-level Connect as well as [Recipient Connect](/platform/webhooks/connect/recipient-connect).

## Message structure

The JSON SIM message structure for all events will contain:

* An `event` element, which identifies the event that generated the message. Developers who created workflows to be triggered by checking envelope status should use this element instead for JSON SIM. For example, a workflow that is triggered from `"status": "sent"` should now be triggered from `"event": "envelope-sent".`
* An additional set of standard data that will be generated for each event. This set of data will be the same for all events.
* A `data` element, which contains all of the data unique to the event that generated the message. The contents of the `data` element will differ depending on the event generated and the set of data that you choose to subscribe to through Docusign Connect.

For example, a data element for a `template-deleted` event would include `accountId`, `templateId`, `userId`, `name`, and `created` properties, while the data element for an `envelope-sent` event would include `accountId`, `envelopeId`, and `envelopeSummary` elements.

See the [JSON SIM event reference](/platform/webhooks/connect/json-sim-event-model#json-sim-event-reference) for a full list of the possible data element structures.

The accompanying example shows the structure of a JSON SIM Connect message. In this case, the event was generated after sending an envelope, and it contains data on that envelope.

You can download and view the full JSON SIM event message schema from the [Docusign GitHub](https://github.com/docusign/OpenAPI-Specifications/blob/master/connect.schema-v2.json).

**`JSON SIM format (Connect 2.0)`**

```json title="JSON SIM format (Connect 2.0)"
{
   "event": "envelope-sent",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": 0,
   "configurationId": 10242474,
   "apiVersion": "v2.1",
   "generatedDateTime": "2021-05-14T23:15:56.3570000Z",
   "data": {
      "accountId": "0000000-0000-0000-0000-000000000000",
      "userId": "12345678-xxxx-xxxx-xxxx-123456789abc",
      "envelopeId": "cc6803ce-xxxx-xxxx-xxxx-3c4f50733703",
      "envelopeSummary": "rest of envelope summary"
   }
}
```

## Enable JSON SIM format

You can enable the JSON SIM message format for your account through the Connect UI or by making a `POST` call to the `/restapi/v2.1/accounts/{{accountId}}/connect` endpoint and specifying a `DeliveryMode`, `EventData`, and `Events` as shown in the example to the right.

* The **Account or Recipient Connect** example to the right shows a `POST` `/restapi/v2.1/accounts/{{accountId}}/connect` API call body that can be used to activate the JSON SIM format and subscribe to all event types for account or recipient Connect.
* The **Envelope Connect** example to the right demonstrates the syntax for enabling JSON SIM format for envelope-level configurations. This is defined within the envelope’s `eventNotification` object, alongside the other envelope-level connect values.

> **Note**
>
> You can define up to 20 Connect JSON Configuration profiles in your account. See [Connect Configuration Limits](https://support.docusign.com/s/document-item?language=en_US\&bundleId=vob1727899215236\&topicId=yxk1659641704097.html) for details.

**`Account or Recipient Connect`**

```json title="Account or Recipient Connect"
{
   "configurationType": "custom",
   "urlToPublishTo": "<Your_publish_URL>",
   "name": "<Your_configuration_name>",
   "allowEnvelopePublish": "true",
   "enableLog": "true",
   "requiresAcknowledgement": "true",
   "signMessageWithX509Certificate": "false",
   "deliveryMode": "SIM",
   "events": [
      "envelope-sent",
      "envelope-resent",
      "envelope-delivered",
      "envelope-completed",
      "envelope-declined",
      "envelope-voided",
      "recipient-authenticationfailed",
      "recipient-autoresponded",
      "recipient-declined",
      "recipient-delivered",
      "recipient-completed",
      "recipient-sent",
      "recipient-resent",
      "template-created",
      "template-modified",
      "template-deleted",
      "envelope-corrected",
      "envelope-purge",
      "envelope-deleted",
      "envelope-discard",
      "identity-verification-completed",
      "identity-verification-pending",
      "recipient-reassign",
      "recipient-delegate",
      "recipient-finish-later",
      "click-agreed",
      "click-declined",
      "sms-opt-in",
      "sms-opt-out"
   ],
   "eventData": {
      "version": "restv2.1",
      "includeData": [
         ""
      ]
   },
   "allUsers": "true"
}
```

**`Envelope Connect`**

```json title="Envelope Connect"
{
   "emailSubject": "Please sign the attached document",
   "status": "sent",
   "eventNotification": {
      "url": "https://apps.example.com/app2/webhook-listener",
      "requireAcknowledgment": "true",
      "loggingEnabled": "true",
      "deliveryMode": "SIM",
      "events": [
         "envelope-sent",
         "envelope-resent",
         "envelope-delivered",
         "envelope-completed",
         "envelope-declined",
         "envelope-voided",
         "recipient-authenticationfailed",
         "recipient-autoresponded",
         "recipient-declined",
         "recipient-delivered",
         "recipient-completed",
         "recipient-sent",
         "recipient-resent",
         "envelope-corrected",
         "envelope-purge",
         "envelope-deleted",
         "recipient-reassign",
         "recipient-finish-later",
         "recipient-delegate"
      ],
      "eventData": {
         "version": "restv2.1",
         "includeData": [
            ""
         ]
      }
   }
,
"recipients":
{
   "signers": [
...
```

## Optionally include an envelope summary payload

In previous Connect message formats, an envelope summary would be returned with each event. You can configure your JSON SIM options to include a streamlined version of this summary alongside envelope and recipient events, although it is not returned by default.

**Important**: Returning envelope summary data alongside your events increases the payload size. These events can take more time to deliver, potentially delaying your workflows. As a result, returning envelope summary data is not recommended for use cases where event delivery speed is critical, such as for in-person scenarios.

To include a set of envelope summary data in envelope and recipient event messages, you can provide a set of `includeData` in the `POST /restapi/v2.1/accounts/{{accountId}}/connect` API call that you would use to [Enable JSON SIM format](/platform/webhooks/connect/json-sim-event-model#enable-json-sim-format). For example, the `includeData` block below includes most elements of the envelope summary:

```text
 "includeData": [
      "tabs",
      "payment_tabs",
      "custom_fields",
      "powerform",
      "recipients",
      "folders",
      "extensions",
      "attachments",
      "prefill_tabs",
      "document_fields",
      "templates"
   ]
```

> **Note**
>
> See for [Additional Data That Connect Messages Can Include ](https://docusign.my.site.com/s/document-item?language=en_US\&bundleId=vob1727899215236\&topicId=zbg1608069790210.html) details on each of the `include_data` options.

**`Example envelope summary`**

```json title="Example envelope summary"
{
   "event": "recipient-sent",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": 0,
   "configurationId": xxxxxxx,
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "recipientId": "1",
      "envelopeId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "envelopeSummary": {
         "status": "sent",
         "emailSubject": "API Demo subject",
         "emailBlurb": "Please sign this Demo Envelope",
         "signingLocation": "online",
         "enableWetSign": "true",
         "allowMarkup": "false",
         "allowReassign": "true",
         "createdDateTime": "2019-12-12T18:23:36.6800000Z",
         "lastModifiedDateTime": "2019-12-12T18:23:36.6970000Z",
         "statusChangedDateTime": "2019-12-12T18:23:36.6800000Z",
         "useDisclosure": "false",
         "sender": {
            "userName": "John Smith",
            "userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "email": "johnsmith@docusign.com",
            "ipAddress": "x.xx.xxx.xx"
         },
         "recipients": {...},
         "envelopeDocuments": [
            {
               "documentId": "1",
               "documentIdGuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
               "name": "BlankDoc.txt",
               "type": "content",
               "order": "1",
               "display": "inline",
               "includeInDownload": "true",
               "signerMustAcknowledge": "no_interaction",
               "templateRequired": "false",
               "authoritative": "false",
               "PDFBytes": ""
            }
         ]
      }
   }
}
```

## JSON SIM event reference

The structure of each event supported by the JSON SIM format is listed below. For each event, note the following data elements:

| Data element      | Description                                                                                                                                                                      |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accountId`       | Identifies the sender’s account or, for Recipient Connect, identifies the recipient’s account.                                                                                   |
| `userId`          | Identifies the sender or, for Recipient Connect, identifies the recipient.                                                                                                       |
| `recipientId`     | Identifies the recipient. For Recipient Connect, this will match the `userId` value.                                                                                             |
| `envelopeId`      | Identifies the envelope involved in the event.                                                                                                                                   |
| `envelopeSummary` | Any [envelope summary elements](/platform/webhooks/connect/json-sim-event-model#optionally-include-an-envelope-summary-payload) that you have set to include are contained here. |

Additional elements unique to each event are listed following the examples.

### Envelope events

#### envelope-completed

```json
{
   "event": "envelope-completed",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": "",
      "envelopeSummary": ""
   }
}
```

#### envelope-corrected

```json
{
   "event": "envelope-corrected",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": "",
      "envelopeSummary": ""
   }
}
```

#### envelope-created

```json
{
   "event": "envelope-created",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": "",
      "envelopeSummary": ""
   }
}
```

#### envelope-declined

```json
{
   "event": "envelope-declined",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": "",
      "envelopeSummary": ""
   }
}
```

#### envelope-deleted

```json
{
    "event": "envelope-deleted",
    "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
    "retryCount": "",
    "configurationId": "",
    "apiVersion": "v2.1",
    "generatedDateTime": "",
    "data": {
        "accountId": "",
        "envelopeId": "",
        "userId": "",
        "envelopeSummary": ""
    }
}
```

#### envelope-delivered

```json
{
   "event": "envelope-delivered",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": "",
      "envelopeSummary": ""
   }
}
```

#### envelope-discard

```json
{
   "event": "envelope-discard",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": "",
      "envelopeSummary": ""
   }
}
```

#### envelope-purge

```json
{
   "event": "envelope-purge",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": "",
      "envelopeSummary": ""
   }
}
```

#### envelope-removed

```json
{
   "event": "envelope-removed",
   "uri": "/restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": ""
   }
}
```

#### envelope-resent

```json
{
   "event": "envelope-resent",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": "",
      "envelopeSummary": ""
   }
}
```

#### envelope-sent

```json
{
   "event": "envelope-sent",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": "",
      "envelopeSummary": ""
   }
}
```

#### envelope-voided

```json
{
   "event": "envelope-voided",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": "",
      "envelopeSummary": ""
   }
}
```

#### envelope-reminder-sent

```json
{
    "event": "envelope-reminder-sent",
    "apiVersion": "v2.1",
    "uri": "",
    "retryCount": 0,
    "configurationId": "",
    "generatedDateTime": "2025-07-10T04:34:07.9290325Z",
    "data": {
        "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "envelopeId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "recipients": {
            "signers": [
                {
                    "email": "Signer 1",
                    "name": "Signer 1",
                    "recipientId": "81541221",
                    "reminderCount": 14
                },
                {
                    "email": "Signer 2",
                    "name": "Signer 1",
                    "recipientId": "55925046",
                    "reminderCount": 14
                },
                {
                    "email": "Signer 3",
                    "name": "Signer 1",
                    "recipientId": "36174900",
                    "reminderCount": 14
                }
            ]
        }
    }
}
```

### Recipient events

#### recipient-authenticationfailed

```json
{
   "event": "recipient-authenticationfailed",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": "",
      "recipientId": "",
      "envelopeSummary": ""
   }
}
```

#### recipient-autoresponded

```json
{
   "event": "recipient-autoresponded",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": "",
      "recipientId": "",
      "envelopeSummary": ""
   }
}
```

#### recipient-completed

```json
{
   "event": "recipient-completed",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": "",
      "recipientId": "",
      "envelopeSummary": ""
   }
}
```

#### recipient-declined

```json
{
   "event": "recipient-declined",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": "",
      "recipientId": "",
      "envelopeSummary": ""
   }
}
```

#### recipient-delegate

```json
{
    "event": "recipient-delegate",
    "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
    "retryCount": "",
    "configurationId": "",
    "apiVersion": "v2.1",
    "generatedDateTime": "",
    "data": {
        "accountId": "",
        "envelopeId": "",
        "userId": "",
        "recipientId": "",
        "envelopeSummary": ""
    }
}
```

#### recipient-delivered

```json
{
   "event": "recipient-delivered",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": "",
      "recipientId": "",
      "envelopeSummary": ""
   }
}
```

#### recipient-finish-later

```json
{
   "event": "recipient-finish-later",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": "",
      "recipientId": "",
      "envelopeSummary": ""
   }
}
```

#### recipient-reassign

```json
{
   "event": "recipient-reassign",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "0",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "recipientId": "1",
      "userId": "",
      "name": "",
      "email": "",
      "routingOrder": "1",
      "envelopeSummary": ""
   }
}
```

| Data element   | Description                                                        |
| -------------- | ------------------------------------------------------------------ |
| `name`         | The name of the person who the envelope is reassigned to.          |
| `email`        | The email address of the person who the envelope is reassigned to. |
| `routingOrder` | The routing order of the person who the envelope is reassigned to. |

#### recipient-resent

```json
{
   "event": "recipient-resent",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "userId": "",
      "recipientId": "",
      "envelopeId": "",
      "envelopeSummary": ""
   }
}
```

#### recipient-sent

```json
{
   "event": "recipient-sent",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "envelopeId": "",
      "userId": "",
      "recipientId": "",
      "envelopeSummary": ""
   }
}
```

### Template events

#### template-created

```json
{
   "event": "template-created",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/templates/{templateId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "templateId": "",
      "userId": "",
      "name": "",
      "created": ""
   }
}
```

| Data element | Description                                          |
| ------------ | ---------------------------------------------------- |
| `templateId` | Identifies the created template.                     |
| `name`       | The name of the created template.                    |
| `created`    | The UTC date and time when the template was created. |

#### template-deleted

```json
{
   "event": "template-deleted",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/templates/{templateId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "templateId": "",
      "userId": "",
      "name": "",
      "created": ""
   }
}
```

| Data element | Description                                          |
| ------------ | ---------------------------------------------------- |
| `templateId` | Identifies the deleted template.                     |
| `name`       | The name of the deleted template.                    |
| `created`    | The UTC date and time when the template was deleted. |

#### template-modified

```json
{
   "event": "template-modified",
   "uri": "/restapi/{apiVersion}/accounts/{accountId}/templates/{templateId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v2.1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "templateId": "",
      "userId": "",
      "name": "",
      "created": ""
   }
}
```

| Data element | Description                                                                                    |
| ------------ | ---------------------------------------------------------------------------------------------- |
| `accountId`  | Identifies the sender’s account or, for Recipient Connect, identifies the recipient’s account. |
| `templateId` | Identifies the modified template.                                                              |
| `userId`     | Identifies the sender or, for Recipient Connect, identifies the recipient.                     |
| `name`       | The name of the modified template.                                                             |
| `created`    | The UTC date and time when the template was modified.                                          |

### Elastic template events

#### click-agreed

```json
{
   "event": "click-agreed",
   "uri": "/clickapi/{apiVersion}/accounts/{accountId}/clickwraps/{clickwrapId}/agreements/{agreementId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "userId": "",
      "clickwrapId": "",
      "agreementId": ""
   }
}
```

| Data element  | Description                                             |
| ------------- | ------------------------------------------------------- |
| `accountId`   | Identifies the sender’s account.                        |
| `userId`      | Identifies the user who agreed to the elastic template. |
| `clickwrapId` | Identifies the elastic template that was agreed to.     |
| `agreementId` | Identifies the agreement within the elastic template.   |

#### click-declined

```json
{
   "event": "click-declined",
   "uri": "/clickapi/{apiVersion}/accounts/{accountId}/clickwraps/{clickwrapId}/agreements/{agreementId}",
   "retryCount": "",
   "configurationId": "",
   "apiVersion": "v1",
   "generatedDateTime": "",
   "data": {
      "accountId": "",
      "userId": "",
      "clickwrapId": "",
      "agreementId": ""
   }
}
```

| Data element  | Description                                            |
| ------------- | ------------------------------------------------------ |
| `accountId`   | Identifies the sender’s account.                       |
| `userId`      | Identifies the user who declined the elastic template. |
| `clickwrapId` | Identifies the elastic template that was declined.     |
| `agreementId` | Identifies the agreement within the elastic template.  |

### SMS events

#### sms-opt-in

```json
{
    "event": "sms-opt-in",
    "uri": "",
    "retryCount": "",
    "configurationId": "",
    "apiVersion": "v2.1",
    "generatedDateTime": "",
    "data": {
         "accountId":"",
          "userId":"",
          "phoneNumber":"",
          "envelopeId":"",
          "method":"",
          "recipientId":""
    }
}
```

| Data element  | Description                                            |
| ------------- | ------------------------------------------------------ |
| `accountId`   | Identifies the sender’s account.                       |
| `userId`      | Identifies the user who sent the SMS notification.     |
| `phoneNumber` | The phone number to which SMS updates will be sent.    |
| `envelopeId`  | Identifies the envelope whose updates will be tracked. |
| `method`      | The method used to opt-in.                             |
| `recipientId` | Identifies the recipient’s account.                    |

#### sms-opt-out

```json
{
    "event": "sms-opt-out",
    "uri": "",
    "retryCount": "",
    "configurationId": "",
    "apiVersion": "v2.1",
    "generatedDateTime": "",
    "data": {
         "accountId":"",
          "userId":"",
          "phoneNumber":"",
          "envelopeId":"",
          "method":"",
          "recipientId":""
    }
}
```

| Data element  | Description                                            |
| ------------- | ------------------------------------------------------ |
| `accountId`   | Identifies the sender’s account.                       |
| `userId`      | Identifies the user who sent the SMS notification.     |
| `phoneNumber` | The phone number to which SMS updates will be sent.    |
| `envelopeId`  | Identifies the envelope whose updates will be tracked. |
| `method`      | The method used to opt-out.                            |
| `recipientId` | Identifies the recipient’s account.                    |

### Workflow Builder events

#### workflow-started

```json
{
 "event": "workflow-started",
 "apiVersion": "v1.0",
  "uri": "",
  "retryCount": 0,
  "configurationId": 10466538,
  "generatedDateTime": "2023-12-18T14:45:00.8941255Z",
  "data": {
        "accountId": "",
        "userId": "",
        "workflowDefinitionId": "28da1ed3-xxxx-xxxx-xxxx-e615db661ff0",
        "workflowInstanceId": "d2882e78-xxxx-xxxx-xxxx-8ff50e31d4d4",
        "workflowDefinitionTriggerUri": "https://example.com/trigger",
        "workflowInstanceContinueUri": "https://example.com/continue",
        "startDate": "2008-05-01T08:06:32.0000000+01:00",
        "initiatorInfo": "Initiator Info"
    }
}
```

**Note**: The `uri` element contains an instance-specific URI that you can use to retrieve information on that instance, such as the input that triggered the workflow, for example.

#### workflow-failed

```json
{
 "event": "workflow-failed",
 "apiVersion": "v1.0",
  "uri": "",
  "retryCount": 0,
  "configurationId": 10466538,
  "generatedDateTime": "2023-12-18T14:45:00.8941255Z",
  "data": {
        "accountId": "",
        "userId": "",
        "workflowDefinitionId": "28da1ed3-xxxx-xxxx-xxxx-e615db661ff0",
        "workflowInstanceId": "d2882e78-xxxx-xxxx-xxxx-8ff50e31d4d4",
        "workflowDefinitionTriggerUri": "https://example.com/trigger",
        "failedDate": "2008-05-01T08:06:32.0000000+01:00",
        "initiatorInfo": "Initiator Info",
        "errorInfo": {
            "errorMessage": "message",
            "stepId": "id",
            "stepName": "name"
        }
    }
}
```

**Note:** The uri element contains an instance-specific URI that you can use to retrieve information on that instance, such as the input that triggered the workflow, for example.

#### workflow-completed

```json
{
   "event": "workflow-completed",
  "apiVersion": "v1.0",
  "uri": "",
  "retryCount": 0,
  "configurationId": 10466538,
  "generatedDateTime": "2023-12-18T14:45:00.8941255Z",
  "data": {
        "accountId": "",
        "userId": "",
        "workflowDefinitionId": "28da1ed3-xxxx-xxxx-xxxx-e615db661ff0",
        "workflowInstanceId": "d2882e78-xxxx-xxxx-xxxx-8ff50e31d4d4",
        "workflowDefinitionTriggerUri": "https://example.com/trigger",
        "endDate": "2008-05-01T08:06:32.0000000+01:00",
        "initiatorInfo": "Initiator Info"
    }
  }
```

**Note:** The `uri` element contains an instance-specific URI that you can use to retrieve information on that instance, such as the input that triggered the workflow, for example.

### IDV for EU QES events

#### identity-verification-completed

```json
{
  "event": "identity-verification-completed",
  "apiVersion": "v2.1",
  "retryCount": 0,
  "configurationId": 10000000,
  "generatedDateTime": "2023-07-27T08:49:18.6186833Z",
  "data": {
    "accountId": "fb6f4570-xxxx-xxxx-xxxx-0ef30855278d",
    "userId": "6b5bdeae-xxxx-xxxx-xxxx-e24b33327f3e",
    "method": "PVID",
    "recipientId": "524dce9e-xxxx-xxxx-xxxx-cad31018ede0",
    "result": "failure",
    "errorReason": null,
    "envelopeId": "fb6f4570-xxxx-xxxx-xxxx-b5830855ebc0"
  }
```

#### identity-verification-pending

```json
{
  "event": "identity-verification-pending",
  "apiVersion": "v2.1",
  "retryCount": 0,
  "configurationId": 10000000,
  "generatedDateTime": "2023-07-27T08:49:16.9667125Z",
  "data": {
    "accountId": "fb6f4570-xxxx-xxxx-xxxx-0ef30855278d",
    "userId": "6b5bdeae-572c-xxxx-xxxx-e24b33327f3e",
    "method": "PVID",
    "recipientId": "524dce9e-xxxx-xxxx-xxxx-cad31018ede0",
    "result": "unknown",
    "errorReason": null,
    "envelopeId": "fb6f4570-xxxx-xxxx-xxxx-b5830855ebc0"
  }
```

### Extension app events

#### extension-executed

```json
{
  "event": "extension-executed",
  "apiVersion": "v2.1",
  "retryCount": 0,
  "configurationId": 1111111,
  "generatedDateTime": "2025-01-01T23:55:55.5555555Z",
  "data": {
    "accountId": "00000000-0000-0000-0000-000000000000",
    "userId": "00000000-0000-0000-0000-000000000000",
    "extensionPoint": "eSignature",
    "recipientId": "00000000-0000-0000-0000-000000000000",
    "entityType": "envelope",
    "entityId": "00000000-0000-0000-0000-000000000000",
    "extension": {
      "type": "DataVerification",
      "instanceGroupId": "00000000-0000-0000-0000-000000000000",
      "contract": "Contracts.Extensions.Verify.Version3.BankAccount",
      "appName": "LSEG",
      "appId": "00000000-0000-0000-0000-000000000000",
      "actionContract": "Contracts.Actions.Verify.Version3.BankAccount",
      "attemptTime": "2025-01-01T23:55:55.555Z",
      "configurationPolicy": "None",
      "data": {
        "verified": false,
        "maxAttemptsPolicy": 5,
        "passthroughResponseData": {
          "code": "GS01"
        }
      },
      "attemptDurationMs": 605,
      "attemptNumber": 1
    }
  }
}
```

### Notary events

#### notary-session-completed

```json
{
  "event": "notary-session-completed",
  "retryCount": "0",
  "configurationId": "10242474",
  "apiVersion": "v2.1",
  "generatedDateTime": "2021-05-14T23:15:56.3570000Z",
  "data": {
    "envelopeId": "12345678-xxxx-xxxx-xxxx-123456789abc",
    "sessionId": "12345678-xxxx-xxxx-xxxx-123456789abc",
    "senderEmail": "xyz@rmail.com"
  }
}
```

#### notary-session-terminated

```json
{
  "event": "notary-session-terminated",
  "retryCount": "0",
  "configurationId": "10242474",
  "apiVersion": "v2.1",
  "generatedDateTime": "2021-05-14T23:15:56.3570000Z",
  "data": {
    "envelopeId": "12345678-xxxx-xxxx-xxxx-123456789abc",
    "sessionId": "12345678-xxxx-xxxx-xxxx-123456789abc",
    "senderEmail": "xyz@rmail.com",
    "terminationReason": "Identity does not match",
    "terminatedBy": "Notary Name"
  }
}
```

#### notary-session-signer-locked

```json
{
  "event": "notary-session-signer-locked",
  "retryCount": "0",
  "configurationId": "10242474",
  "apiVersion": "v2.1",
  "generatedDateTime": "2021-05-14T23:15:56.3570000Z",
  "data": {
    "envelopeId": "12345678-xxxx-xxxx-xxxx-123456789abc",
    "sessionId": "12345678-xxxx-xxxx-xxxx-123456789abc",
    "senderEmail": "xyz@rmail.com",
    "lockedRecipientId": "41994093"
  }
}
```

#### notary-session-signer-unlocked

```json
{
  "event": "notary-session-signer-unlocked",
  "retryCount": "0",
  "configurationId": "10242474",
  "apiVersion": "v2.1",
  "generatedDateTime": "2021-05-14T23:15:56.3570000Z",
  "data": {
    "envelopeId": "12345678-xxxx-xxxx-xxxx-123456789abc",
    "sessionId": "12345678-xxxx-xxxx-xxxx-123456789abc",
    "senderEmail": "xyz@rmail.com",
    "lockedRecipientId": "41994093"
  }
}
```

#### notary-session-authentication-failed

```json
{
  "event": "notary-session-authentication-failed",
  "retryCount": "0",
  "configurationId": "10242474",
  "apiVersion": "v2.1",
  "generatedDateTime": "2021-05-14T23:15:56.3570000Z",
  "data": {
    "envelopeId": "12345678-xxxx-xxxx-xxxx-123456789abc",
    "sessionId": "12345678-xxxx-xxxx-xxxx-123456789abc",
    "senderEmail": "xyz@rmail.com",
    "authenticationStatus": "Unsuccessful",
    "errorReason": "KBA Failure/ID Verification Failure"
  }
}
```

#### notary-session-paused

```json
{
	"event": "notary-session-paused",
	"retryCount": "0",
	"configurationId": "",
	"apiVersion": "v2.1",
	"generatedDateTime": "2021-05-14T23:15:56.3570000Z",
	"data": {
		"envelopeId": "",
		"pauseDetails": "RequiredState:  RequiredLanguage: ",
		"pauseReason": "notary-change", "RecipientEmail": null,
		"senderEmail": "",
		"SessionId": ""
	}
}
```

#### notary-session-status-updated

```json
{
	"event": "notary-session-status-updated",
	"retryCount": "0",
	"configurationId": "",
	"apiVersion": "v2.1",
	"generatedDateTime": "2021-05-14T23:15:56.3570000Z",
	"data": {
		"envelopeId": "",
		"pauseDetails": "RequiredState:  RequiredLanguage: ",
		"pauseReason": "notary-change", "RecipientEmail": null,
		"senderEmail": "",
		"SessionId": ""
	}
}
```

#### notary-session-notary-assigned

```json
{
	"event": "notary-session-notary-assigned",
	"retryCount": "0",
	"configurationId": "",
	"apiVersion": "v2.1",
	"generatedDateTime": "2021-05-14T23:15:56.3570000Z",
	"data": {
		"envelopeId": "",
		"pauseDetails": "RequiredState:  RequiredLanguage: ",
		"pauseReason": "notary-change", "RecipientEmail": null,
		"senderEmail": "",
		"SessionId": ""
	}
}
```

#### notary-session-notary-removed

```json
{
	"event": "notary-session-notary-removed",
	"retryCount": "0",
	"configurationId": "",
	"apiVersion": "v2.1",
	"generatedDateTime": "2021-05-14T23:15:56.3570000Z",
	"data": {
		"envelopeId": "",
		"pauseDetails": "RequiredState:  RequiredLanguage: ",
		"pauseReason": "notary-change", "RecipientEmail": null,
		"senderEmail": "",
		"SessionId": ""
	}
}
```

#### notary-session-ondemand-witness-joined

```json
{
  "event": "notary-session-ondemand-witness-joined",
  "retryCount": "0",
  "configurationId": "10242474",
  "apiVersion": "v2.1",
  "generatedDateTime": "2021-05-14T23:15:56.3570000Z",
  "data": {
    "envelopeId": "b272197c-xxxx-xxxx-xxxx-098b2d745745",
    "recipientId": "ff9d506a-xxxx-xxxx-xxxx-49384f820e1e",
    "secondsToJoin": 20,
    "senderEmail": "accounted_db6740587bcc52@dsxtr.com",
    "sessionId": "a3ce7909-xxxx-xxxx-xxxx-a49333da6781"
  }
}
```

### Workspace events

#### workspace-upload-request-created

```json
{
  "event": "workspace-upload-request-created",
  "apiVersion": "v2.1",
  "uri": "/restapi/v2.1/accounts/ee1bfd5c-xxxx-xxxx-xxxx-4b85a51c4667/workspaces/aaaa0004-0000-0000-0000-000000000004/upload_requests/BBBB0004-0000-0000-0000-000000000004",
  "retryCount": 0,
  "configurationId": 10000018,
  "generatedDateTime": "2026-05-20T21:59:24.1094652Z",
  "data": {
    "accountId": "ee1bfd5c-xxxx-xxxx-xxxx-4b85a51c4667",
    "userId": "aa000004-0000-0000-0000-000000000004",
    "workspaceId": "aaaa0004-0000-0000-0000-000000000004",
    "uploadRequestId": "BBBB0004-0000-0000-0000-000000000004",
    "name": "Employment Verification Package",
    "status": "created",
    "assignees": [
      {
        "name": "Carol White",
        "email": "carol.white@example.com",
        "status": "created"
      }
    ],
    "documentCount": 3,
    "createdDateTime": "2026-05-19T08:00:00.0000000Z",
    "sentDateTime": "2026-05-19T08:30:00.0000000Z",
    "completedDateTime": "2026-05-20T12:00:00.0000000Z"
  }
}
```

#### workspace-upload-request-completed

```json
{
  "event": "workspace-upload-request-completed",
  "apiVersion": "v2.1",
  "uri": "/restapi/v2.1/accounts/ee1bfd5c-xxxx-xxxx-xxxx-4b85a51c4667/workspaces/aaaa0004-0000-0000-0000-000000000004/upload_requests/BBBB0004-0000-0000-0000-000000000004",
  "retryCount": 0,
  "configurationId": 10000018,
  "generatedDateTime": "2026-05-20T21:59:24.1094652Z",
  "data": {
    "accountId": "ee1bfd5c-xxxx-xxxx-xxxx-4b85a51c4667",
    "userId": "aa000004-0000-0000-0000-000000000004",
    "workspaceId": "aaaa0004-0000-0000-0000-000000000004",
    "uploadRequestId": "BBBB0004-0000-0000-0000-000000000004",
    "name": "Employment Verification Package",
    "status": "completed",
    "assignees": [
      {
        "name": "Carol White",
        "email": "carol.white@example.com",
        "status": "completed"
      }
    ],
    "documentCount": 3,
    "createdDateTime": "2026-05-19T08:00:00.0000000Z",
    "sentDateTime": "2026-05-19T08:30:00.0000000Z",
    "completedDateTime": "2026-05-20T12:00:00.0000000Z"
  }
}
```

#### workspace-upload-request-sent

```json
{
  "event": "workspace-upload-request-sent",
  "apiVersion": "v2.1",
  "uri": "/restapi/v2.1/accounts/ee1bfd5c-xxxx-xxxx-xxxx-4b85a51c4667/workspaces/aaaa0004-0000-0000-0000-000000000004/upload_requests/BBBB0004-0000-0000-0000-000000000004",
  "retryCount": 0,
  "configurationId": 10000018,
  "generatedDateTime": "2026-05-20T21:59:24.1094652Z",
  "data": {
    "accountId": "ee1bfd5c-xxxx-xxxx-xxxx-4b85a51c4667",
    "userId": "aa000004-0000-0000-0000-000000000004",
    "workspaceId": "aaaa0004-0000-0000-0000-000000000004",
    "uploadRequestId": "BBBB0004-0000-0000-0000-000000000004",
    "name": "Employment Verification Package",
    "status": "sent",
    "assignees": [
      {
        "name": "Carol White",
        "email": "carol.white@example.com",
        "status": "sent"
      }
    ],
    "documentCount": 3,
    "createdDateTime": "2026-05-19T08:00:00.0000000Z",
    "sentDateTime": "2026-05-19T08:30:00.0000000Z",
    "completedDateTime": "2026-05-20T12:00:00.0000000Z"
  }
}
```

## Next steps

* [Webhook event triggers](/platform/webhooks/connect/event-triggers)
* [Validation and security](/platform/webhooks/connect/validation-and-security)
* [Implement Connect with your app](/platform/webhooks/connect/implement)
* [Troubleshoot Connect](https://support.docusign.com/s/document-item?language=en_US\&bundleId=vob1727899215236\&topicId=wac1583277386300.html&_LANG=enus)