A webhook lets one server send data to another automatically when a specific event occurs. In this how-to guide, you’ll configure an application to consume a DocuSign Connect webhook.
To learn more about integrating DocuSign at Unqork, view our DocuSign Module Integration Template article. To learn more about webhooks, view our Consuming Payloads Using Webhooks article.
Configuration
Configure the Listener Module
First, create a Listener module to connect with the DocuSign Connect webhook. When the Listener module receives the webhook request, the module runs.
These instructions assume you have a workspace open, saved, and with a title.
Configure the API Module
The Listener module must be configured as an Unqork API module to ensure it executes on the server side.
At the top right of the Application page, click + Create New.
Select Module.
In the Module Name field, enter
API Request Submission. You can name the module as per your requirement.From the Module Type drop-down, select API.
Click Create.
Enabling Server-Side Execution Only and Execute via Proxy
Before adding components to the module, you’ll adjust the module settings. By setting the module to server-side execute, the module becomes inaccessible to anyone without Module Builder access.
At the top right of the Module Builder, click the
(ellipsis) button.Select Module Settings.
To the left of the modal, click Module Settings.
Set Server Side Execution Only to
(ON).By setting the module to server-side execute, the module becomes inaccessible to anyone without the Module Builder access. Avoid enabling the Act as Super-user when Server Side Executing setting. This setting lets you use webhooks, but it weakens the security of your application.
Click User Permissions.
Set Allow Access to Anonymous Users to
(ON).From the Anonymous role's Permission drop-down, select Write.
These settings helps to enable the Execute via Proxy endpoint for the webhook to receive requests for your webhook service.
Click Save & Close.
Save the module.
Update the description HTML Element Component
In the
panelInfoPanel component, hover over the description HTML Element component, and click the
(Settings) button.In the Content field, enter a description like the following:
This module creates a schema module submission with the information via PUT request. It takes an example DocuSign Connect Listener Service XML Schema, transforms XML to JSON, and pulls relevant data fields out of the JSON output in order to create a submission capturing the envelope status.Click Save Component.
Update the method Hidden Component
In the
panelInfoPanel component, hover over themethodHidden component, and click the
(Settings) button.In the Default Value field, enter
PUT.Click Save Component.
Configure the Hidden Components
Drag and drop six Hidden components inside the
panelRequestPanel component.In the Property ID and Canvas Label Text fields, enter the following for each component:
#
Property ID
Canvas Label Text
1
valueOut
valueOut
2
envelopeID
envelopeId
3
status
status
4
created
created
5
completed
completed
6
documentStatuses
documentStatuses
The first Hidden component stores the output from your
pluginSubmissionPlug-In component. The remaining Hidden components store the DocuSign envelope attributes. For this example, the attributes are envelope ID, status, created, completed, and document statuses.Click Save Component for each component as you add it.
Configure the Initializer Component
Next, set up an Initializer component to trigger the pluginXmlToJson Plug-In component you’ll set up next.
Drag and drop an Initializer component inside the
panelRequestPanel component.In the Property ID and Canvas Label Text fields, enter
initField.Set the Trigger Type as New Submission.
In the Outputs table, enter the following:
Property ID
Type
Value
pluginXmlToJson
trigger
GO
Click Save Component.
Configure the Plug-In Component
This Plug-In component imports XML data, converts it to JSON, and triggers the Data Workflow component you’ll set up next.
Drag and drop a Plug-In component inside the
panelConfigPanel component, below the Initializer component.In the Property ID and Canvas Label Text fields, enter
plugXmlToJson.From the Internal Services drop-down, select Convert XML to JSON.
In the Inputs table, enter the following:
Property ID
Mapping
_request['body']
xmlData
In the Outputs table, enter the following:
Property ID
Mapping
valueOut
jsonData
In the Post Trigger field, enter
dwfGetStatus.
Click Save Component.
Configure the Data Workflow Component
This Data Workflow component transforms XML to JSON and triggers your pluginSubmission Plug-In component. You'll add this Plug-In component next.
Drag and drop a Data Workflow component inside the
panelRequestPanel component, below thepluginXmlToJsonPlug-In component.In the Property ID and Canvas Label Text fields, enter
dwfGetStatus.
Configure the valueOut Input Operator
Drag and drop an Input operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Input
Component
valueOut
Required
Yes
Source
Default
Configure the DocuSignEnvelopeInformation Get Operator
Drag and drop a Get operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Get
Label
DocuSignEnvelopeInformation
Path
DocuSignEnvelopeInformation
The
DocuSignEnvelopeInformationvalue is the first tag you’ll expect in a DocuSign call.Connect the output port (right) of the
valueOutInput operator to the input port (left) of theDocuSignEnvelopeInformationGet operator.
Configure the envelopeId Get Operator
Next, we will configure the Get and Output operators for each hidden component (attribute) in your envelope.
Drag and drop a Get operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Get
Label
envelopeId
Path
EnvelopeID[0]
Connect the output port (right) of the
DocuSignEnvelopeInformationGet operator to the input port (left) of theenvelopeIdGet operator.
Configure the envelopeId Output Operator
Drag and drop an Output operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Output
Component
envelopeId
Action
value
Connect the output port (right) of the
envelopeIdGet operator to the input port (left) of theenvelopeIdOutput operator.
Configure the status Get Operator
Drag and drop another Get operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Get
Label
status
Path
Status[0]
Connect the output port (right) of the
DocuSignEnvelopeInformationGet operator to the input port (left) of thestatusGet operator.
Configure the status Output Operator
Drag and drop another Output operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Output
Component
status
Action
value
Connect the output port (right) of the
statusGet operator to the input port (left) of thestatusOutput operator.
Configure the created Get Operator
Drag and drop another Get operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Get
Label
created
Path
Created[0]
Connect the output port (right) of the
DocuSignEnvelopeInformationGet operator to the input port (left) of thecreatedGet operator.
Configure the created Output Operator
Drag and drop another Output operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Output
Component
created
Action
value
Connect the output port (right) of the
createdGet operator to the input port (left) of thecreatedOutput operator.
Configure the completed Get Operator
Drag and drop another Get operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Get
Label
completed
Path
Completed[0]
Connect the output port (right) of the
DocuSignEnvelopeInformationGet operator to the input port (left) of thecompletedGet operator.
Configure the completed Output Operator
Drag and drop another Output operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Output
Component
completed
Action
value
Connect the output port (right) of the
completedGet operator to the input port (left) of thecompletedOutput operator.
Configure the documentationStatuses Get Operator
Drag and drop another Get operator onto your Data Workflow canvas.
Configure the Get operator's Info window as follows:
Setting
Value
Category
Get
Label
documentationStatuses
Path
DocumentationStatuses[0]
Connect the output port (right) of the
DocuSignEnvelopeInformationGet operator to the input port (left) of thedocumentationStatusesGet operator.
Configure the documentationStatuses Output Operator
Drag and drop another Output operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Output
Component
documentationStatuses
Action
value
Connect the output port (right) of the
documentationStatusesGet operator to the input port (left) of thedocumentationStatusesOutput operator.
Configure the Create plugSubmission Create Value Operator
Drag and drop a Create Value operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Create Value
Label
Create plugSubmission
Expression/Value
='GO'
Connect the output port (right) of the
documentationStatusesGet operator to the argument port (top) of theCreate plugSubmissionCreate Value operator.
Configure the plugSubmission Output Operator
Drag and drop an Output operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Component
Action
Category
Output
Component
plugSubmission
Action
trigger
Connect the output port (right) of the
Create plugSubmissionCreate Value operator to the input port (left) of theplugSubmissionOutput operator.Click Save Component.
Configure the Plug-In Component
This Plug-In component takes the JSON fields from the transformed XML envelope data and creates a submission.
Drag and drop a Plug-In component inside the
panelConfigPanel component, below the Data Workflow component.In the Property ID and Canvas Label Text fields, enter
plugSubmission.From the Internal Services drop-down, select Create Module Submissions(s).
From the Module drop-down, select Enablement Lab: API Request Submission Schema. This module is the prebuilt Submission Schema module.
In the Inputs table, enter the following:
#
Property ID
Mapping
1
envelopeId
data.envelopeId
2
status
data.status
3
created
data.created
4
completed
data.completed
5
documentStatuses
data.documentStatuses
This data maps to the Submission Schema module's Hidden components.

Click Save Component.
Save your module.
It's important to note that your Listener module must link to DocuSign Connect to work. If you test your module before linking to DocuSign, your webhooks does not work.
Here's how the completed Listener module looks in the Module Builder:

Configuration
Configure the Listener Module
First, create a Listener module to connect with the DocuSign Connect webhook. When the Listener module receives the webhook request, the module runs.
These instructions assume you have a workspace open, saved, and with a title.
Configure the API Module
The Listener module must be configured as an Unqork API module to ensure it executes on the server side.
At the top right of the Application page, click + Create New.
Select Module.
In the Module Name field, enter
API Request Submission. You can name the module as per your requirement.From the Module Type drop-down, select API.
Click Create.
Enabling Server-Side Execution Only and Execute via Proxy
Before adding components to the module, you’ll adjust the module settings. By setting the module to server-side execute, the module becomes inaccessible to anyone without Module Builder access.
At the top right of the Module Builder, click the
(ellipsis) button.Select Module Settings.
To the left of the modal, click Module Settings.
Set Server Side Execution Only to
(ON).By setting the module to server-side execute, the module becomes inaccessible to anyone without the Module Builder access. Avoid enabling the Act as Super-user when Server Side Executing setting. This setting lets you use webhooks, but it weakens the security of your application.
Click User Permissions.
Set Allow Access to Anonymous Users to
(ON).From the Anonymous role's Permission drop-down, select Write.
These settings helps to enable the Execute via Proxy endpoint for the webhook to receive requests for your webhook service.
Click Save & Close.
Save the module.
Update the description HTML Element Component
In the
panelInfoPanel component, hover over the description HTML Element component, and click the
(Settings) button.Under the Display section in the Content field, enter a description as:
This module creates a schema module submission with the information via PUT request. It takes an example DocuSign Connect Listener Service XML Schema, transforms XML to JSON, and pulls relevant data fields out of the JSON output in order to create a submission capturing the envelope status.Click Save & Close.
Update the method Hidden Component
In the
panelInfoPanel component, hover over themethodHidden component and click the
(Settings) button.In the Default Value field, enter
PUT.Click Save & Close.
Configure the Hidden Components
Drag and drop six Hidden components onto the canvas in the
panelRequestPanel Component.In the Property ID and Canvas Label Text fields, enter the following for each component:
#
Property ID
Canvas Label Text
1
valueOut
valueOut
2
envelopeID
envelopeId
3
status
status
4
created
created
5
completed
completed
6
documentStatuses
documentStatuses
The first Hidden component holds the output from your
pluginSubmissionPlug-In component. The remaining Hidden components store the DocuSign envelope attributes. For this example, the attributes are envelope ID, status, created, completed, and document statuses.Click Save & Close for each component as you add it.
Configure the Initializer Component
Next, set up an Initializer component to trigger the pluginXmlToJson Plug-In component you’ll set up next.
Drag and drop an Initializer component onto the canvas inside the
panelRequestPanel component.In the Property ID and Canvas Label Text fields, enter
initField.Set the Trigger Type as New Submission.
In the Outputs table, enter the following:
Property ID
Type
Value
pluginXmlToJson
trigger
GO
Click Save & Close.
Configure the Plug-In Component
This Plug-In component imports XML data, converts it to JSON , and triggers the Data Workflow component you’ll set up next.
Drag and drop a Plug-In component in the
panelConfigPanel component, below the Initializer component.In the Property ID and Canvas Label Text fields, enter
plugXmlToJson.From the Internal Services drop-down, select Convert XML to JSON.
In the Inputs table, enter the following:
Property ID
Mapping
_request['body']
xmlData
In the Outputs table, enter the following:
Property ID
Mapping
valueOut
jsonData
In the Post Trigger field, enter
dwfGetStatus.
Click Save.
Configure the Data Workflow Component
This Data Workflow transforms XML to JSON and triggers your pluginSubmission Plug-In component. You'll add this Plug-In component next.
Drag and drop a Data Workflow component in the
panelRequestPanel component, below thepluginXmlToJsonPlug-In component.In the Canvas Label Text and Property Name fields, enter
dwfGetStatus.
Configure the valueOut Input Operator
Drag and drop an Input operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Input
Component
valueOut
Required
Yes
Source
Default
Configure the DocuSignEnvelopeInformation Get Operator
Drag and drop a Get operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Get
Label
DocuSignEnvelopeInformation
Path
DocuSignEnvelopeInformation
The
DocuSignEnvelopeInformationvalue is the first tag you’ll expect in a DocuSign call.Connect the output port (right) of the
valueOutInput operator to the input port (left) of theDocuSignEnvelopeInformationGet operator.
Configure the envelopeId Get Operator
Next, we will configure the Get and Output operators for each hidden component (attribute) in your envelope.
Drag and drop a Get operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Get
Label
envelopeId
Path
EnvelopeID[0]
Connect the output port (right) of the
DocuSignEnvelopeInformationGet operator to the input port (left) of theenvelopeIdGet operator.
Configure the envelopeId Output Operator
Drag and drop an Output operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Output
Component
envelopeId
Action
value
Connect the output port (right) of the
envelopeIdGet operator to the input port (left) of theenvelopeIdOutput operator.
Configure the status Get Operator
Drag and drop another Get operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Get
Label
status
Path
Status[0]
Connect the output port (right) of the
DocuSignEnvelopeInformationGet operator to the input port (left) of thestatusGet operator.
Configure the status Output Operator
Drag and drop another Output operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Output
Component
status
Action
value
Connect the output port (right) of the
statusGet operator to the input port (left) of thestatusOutput operator.
Configure the created Get Operator
Drag and drop another Get operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Get
Label
created
Path
Created[0]
Connect the output port (right) of the
DocuSignEnvelopeInformationGet operator to the input port (left) of thecreatedGet operator.
Configure the created Output Operator
Drag and drop another Output operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Output
Component
created
Action
value
Connect the output port (right) of the
createdGet operator to the input port (left) of thecreatedOutput operator.
Configure the completed Get Operator
Drag and drop another Get operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Get
Label
completed
Path
Completed[0]
Connect the output port (right) of the
DocuSignEnvelopeInformationGet operator to the input port (left) of thecompletedGet operator.
Configure the completed Output Operator
Drag and drop another Output operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Output
Component
completed
Action
value
Connect the output port (right) of the
completedGet operator to the input port (left) of thecompletedOutput operator.
Configure the documentationStatuses Get Operator
Drag and drop another Get operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Get
Label
documentationStatuses
Path
DocumentationStatuses[0]
Connect the output port (right) of the
DocuSignEnvelopeInformationGet operator to the input port (left) of thedocumentationStatusesGet operator.
Configure the documentationStatuses Output Operator
Drag and drop another Output operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Output
Component
documentationStatuses
Action
value
Connect the output port (right) of the
documentationStatusesGet operator to the input port (left) of thedocumentationStatusesOutput operator.
Configure the Create plugSubmission Create Value Operator
Drag and drop a Create Value operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Setting
Value
Category
Create Value
Label
Create plugSubmission
Expression/Value
='GO'
Connect the output port (right) of the
documentationStatusesGet operator to the argument port (top) of theCreate plugSubmissionCreate Value operator.
Configure the plugSubmission Output Operator
Drag and drop an Output operator onto your Data Workflow canvas.
Configure the operator's Info window as follows:
Component
Action
Category
Output
Component
plugSubmission
Action
trigger
Connect the output port (right) of the
Create plugSubmissionCreate Value operator to the input port (left) of theplugSubmissionOutput operator.Click Save.
Configure the Plug-In Component
This Plug-In component takes the JSON fields pulled from the transformed XML envelope data and creates a submission.
Drag and drop a Plug-In component inside the
panelConfigPanel component, below the Data Workflow component.In the Property ID and Canvas Label Text fields, enter
plugSubmission.From the Internal Services drop-down, select Create Module Submissions(s).
From the Module drop-down, select Enablement Lab: API Request Submission Schema. This module is the prebuilt Submission Schema module.
In the Inputs table, enter the following:
Property ID
Mapping
envelopeId
data.envelopeId
status
data.status
created
data.created
completed
data.completed
documentStatuses
data.documentStatuses
This data maps back to the Submission Schema module's Hidden components.

Click Save.
Save your module.
It's important to note that your Listener module must link to DocuSign Connect to work. If you test your module before linking to DocuSign, your webhooks won't work.
Here's how the completed Listener module looks in the Module Builder: