DocuSign Trigger icon

DocuSign Trigger

Receive real-time DocuSign Connect webhook notifications

DocuSign Trigger

AI-generated

Summary

Starts a workflow when DocuSign Connect posts a webhook to the node's URL. It optionally verifies the HMAC signature, rejects stale requests, filters by event, envelope ID and sender email, and emits a normalized envelope summary.

Inputs

  • authentication — JWT (default) or OAuth2. Selects which credential (docuSignApi or docuSignOAuth2Api) supplies the webhook secret.
  • events (required) — Events to react to (default: envelope-completed). Compared with the payload's event field. Non-matching webhooks get a 200 response ({received:true, filtered:true}) and do not start the workflow. The same events must be configured in DocuSign Connect.
  • verifySignature — Default true. Checks the x-docusign-signature-1 header with HMAC-SHA256 against the credential's webhookSecret. Returns 401 if the header is missing or the signature is invalid, and 500 if no secret is configured or verification fails. The HMAC is computed over JSON.stringify of the parsed body, not the raw request bytes.
  • replayProtection — Default true. Returns 401 if the payload timestamp (generatedDateTime, statusChangedDateTime or sentDateTime) is older than 5 minutes. Payloads with no timestamp pass.
  • filterByEnvelopeId — Only trigger when the payload's envelopeId (or EnvelopeID) equals this value. Empty means no filter.
  • filterBySenderEmail — Only trigger when the payload's senderEmail (or email) matches this value, case-insensitive. Empty means no filter.
  • includeRawPayload — Default false. When true, adds the full webhook body as rawPayload in the output.

Output shape

One item per accepted webhook, with json fields: event, timestamp (time received, ISO), envelopeId, status, emailSubject, senderEmail, senderName, recipients, documents, and optionally rawPayload.

Envelope fields are read from body.data.envelopeSummary (or body.data), falling back to top-level body fields for envelopeId, status and emailSubject. Fields missing from the payload come out undefined. Webhooks rejected by the envelope ID or sender filters produce no workflow run. The sender filters read top-level body fields (senderEmail/email), while the output senderEmail comes from envelopeSummary.sender.email, so the filter may not match payloads that only nest the sender. Rejected or filtered requests get an HTTP error or 200 response, as described under the inputs.

Examples

Example 1: Archive signed contracts when an envelope is completed

Events: Envelope Completed; Verify Signature on with webhookSecret in credentials; Include Raw Payload off. Add the node's webhook URL to a DocuSign Connect configuration.

Example 2: Track one specific envelope through decline or void

Events: Envelope Declined and Envelope Voided; Filter by Envelope ID set to the target ID.

Example 3: Alert on authentication failures for a sender's envelopes

Events: Recipient Authentication Failed; Filter by Sender Email set to the sender address; Replay Protection on.

Links

Discussion