Skip to main content
Nintex Community Menu Bar

I configured a connection between DocuSign & Nintex, such that whenever a document is signed in DocuSign, it will trigger the Nintex workflow to run. But I also want to know the data about the “envelope” of the document that was signed DocuSign.  DocuSign sends some data over in JSON format.  I can see it in the “Instance start data” of my workflow instance.  The data is JSON formatted and looks like this:

 

{
  "event": "envelope-completed",
  "apiVersion": "v2.1",
  "uri": "/restapi/v2.1/accounts/b1b24acb-55cs-481f-bae8-a08a0dc16782/envelopes/23f266d9-ae08-4cc7-867b-c8c2d1c62641",
  "retryCount": 0,
  "configurationId": 10607268,
  "generatedDateTime": "2024-08-16T17:00:53.1469999Z",
  "data": {

 

The only method I know to capture start data is to create a start variable in the workflow and name it the same as the incoming POST data, keeping in mind that Nintex will prefix “se_” to the name of the start variable.  But I don’t know how to capture the how object of JSON text that DocuSign sends over.

 

Any ideas?

I developed my own workaround to this. I realized Nintex has an API that can be called to get workflow instance details, such as start data.

So I built a workflow that calls the API.  First call the authorization endpoint using Client ID & Client Secret to get an access token, then use that token in the 2nd call to get the start data.  I built the workflow as a component that can be re-used in different scenarios.  I use JSON query to extract the Envelope ID from the JSON object.

 

With that Envelope ID, I can use “Store Signed Documents” action to get the signed document from DocuSign.

 

When I am done refining the whole process, I may perhaps post the screenshots here, for anyone who would be interested.


Hi @PabloL 
Please do share your workaround with the Community! 


Here is my workaround workflow that will get the instance start data using the Nintex API (as described here - Get a workflow instance's start data | Nintex Automation Cloud).  I made it a component workflow w/ input & output variables so I can re-use it for any purpose, not only for the DocuSign scenario.

 

To start, we will need an App Token.  Go to Settings and create one.

 

You could directly store this token information in your workflow, but I like to make workflows with dynamic variables & parameters, so I stored the information in a Nintex Table.

I use a Table called Global Variables, and I have a row for Client ID and a row for Client Secret.  You will see where I call a Query a Table action in my workflow to get the information.

 

I have a Branch by Condition action to simply check if the input parameter is empty. If it is, then I Terminate the workflow.

If not, then I build the text string for the 2nd API call, like this,

 

I build another text string that is the Request Body of the API call to store the client ID & client secret.

My first API call is for authorization, to get an access token.

I use a Query JSON action to extract the access token,

Which then I add into my 2nd API call which gets the start data.

When the data is returned to my workflow as an output variable, I can use another Query JSON action to extract the values that I want.

 

That’s it.  Now my workflow can be triggered by a DocuSign webhook and I can retrieve the start data that DocuSign has sent into the workflow.


Thank you @PabloL


Reply