Sales Engineering Quick Guide on how to configure the Docusign connectors for e-signature POCs.
...
URL.- https://appdemo.docusign.com/home
Admin Configuration
...
A. Create and configure an OAth application from inside DocuSign developers console.
- Login to your Docusign developer account.
- Get the account ID from the top-right menu
Get an Integrator Key for that Docusign account.From the top right menu, click on Go to Admin and navigate (https://account-d.docusign.com/) - On the top menu go to Settings, then in the sub menu go to Integration → API and Keys.
- Click on Add APP / Integrator Key. (Note: If a key already exists, you may be able to use it). Name it ProcessMaker, all other fields can remain blank.
- Note the UUID key that is generated.
Template Configuration
- Create a New Template. Note the Template ID which you can review in the URL when opening the template, as shown hereCopy the Integration Key for later
- Choose Authorization Code Grant
- Add a Secret Key, copy the Secret Key for later
- Add a redirect URI like: https://appdemoyour.docusignprocessmaker.comserver/templates/details/xxx-yyy-this-is-the-id
- Upload a Word or PDF file by clicking on Add Documents to the Envelope.
- Configure the Recipients List by clicking on Add Recipients to the Envelope.
- Only the Role is needed -other fields (name, email) will be provided by PM.
- In the next screen, drag fields from Docusign's field menu (left) onto the document. These will match against form and signature data.
- Note that there are distinct field selections for each Recipient Role.
- Note to include at least one Signature field.
On ProcessMaker
Connector Configuration
- Find and Edit the PM Connector 'CreateAndSendEnvelope'. This connector will send Docusign the necessary information and request the creation of an Envelope (a signature process).
- If there is none, simply create a new one using the config options listed here.
- The URL for this call is https://demo.docusign.net/restapi/v2/accounts/XXXXXXX/envelopes called with method POST.
- Note to replace the account id in the URL with the one from your test account, retrieved as detailed above.
- The request takes two Headers, ensure they exist or add them:
- Header: Content-type Value: application/json
Header: X-DocuSign-Authentication Value: {"Username":"xx@yy.com","Password":"XXXYYY", "IntegratorKey":"UUID-Key"}Replace values for those from your account. Be sure to include the Integrator Key, retrieved as detailed above.docusign/authorization- Save the application
View file |
---|
name | DocuSignApp.mp4 |
---|
height | 250 |
---|
|
B. Configure DocuSign in ProcessMaker
- Go to Admin menu
- Click on Image Added DocuSign Configuration sub menu
- Paste the previously copied Integration Key
- Paste the previously copied Secret Key
- Save the configuration
View file |
---|
name | DocuSignConfigInt.mp4 |
---|
height | 250 |
---|
|
C. Grant Access Code from Admin menu (Optional)
- From DocuSign Configuration click on GRAN DOCUSIGN ACCESS
- Click on Authorize access
- Login with you docusign accound (the owner of your docusign documents and templates)
- Done
View file |
---|
name | DocuSignGrantAccess.mp4 |
---|
height | 250 |
---|
|
Template Configuration
You could use any template you have in DocuSign or create a new one. To create a new template follow the following steps:
- From your DocuSign account go to Templates.
- Create a New Template
- Set the name an a brief description
- Upload a document to be signed
- Setup the recipients
- Save and exit
View file |
---|
name | DocuSignCreateTemplate.mp4 |
---|
height | 250 |
---|
|
Connector Use
- Design a Process with a form task that captures necessary Recipient information (name, email).
- The request will be expecting a Body with the following JSON structure:
{
"status" :"sent",
"emailSubject" :@@Subject,
"templateId" :@@Template,
"templateRoles":@=SignersList
}
- You'll need thus to create these variables prior to calling the connector.
- emailSubject can be either hard-coded or read from a variable. It is a plain text field.
- templateId is the ID for the template you will request signing. It can be hard-coded or read from a variable.
- templateRoles is a JSON array with details for each Recipient. Each element in the array will follow this structure:
- "roleName"=> "rolename",
"name"=> "name"
"email"=> "email",
"recipientId"=> "id",
"tabs"=> { {"textTabs" => $textTabs } - Here you will replace these values with form data. See the following sample script that builds this payload:
Code Block |
---|
language | php |
---|
title | DS Script |
---|
linenumbers | true |
---|
collapse | true |
---|
|
$tempArray=array();
$textTabs=array();
array_push($textTabs,
array(
"tabLabel"=>"txtCompany",
"value"=> @@companySignature
));
array_push($tempArray,
array(
"roleName"=> "Disclosing",
"name"=> @@signeeSelect_label,
"email"=> @@txtCioEmail,
"recipientId"=> strval("2")
),
array(
"roleName"=> "Receiving",
"name"=> @@employeeFirstName,
"email"=> @@employeeEmail,
"recipientId"=> strval("1"),
"tabs"=> array ("textTabs" => $textTabs)
)
);
$json=json_encode($tempArray);
#Payload:
@@SignersList=$json;
@@Template = "94e26f82-42cf-4689-8b49-85495e3fe773"; // id for the PM NDA
@@MessageEmail = "Please sign the NDA";
@@Subject = "DocuSign: NDA available for signature";
#Get User Email
$userInfo =userInfo(@@USER_LOGGED);
//@@txtAdvisorName = $userInfo['firstname'] . " " . $userInfo['lastname'];
@@txtUserEmail = $userInfo['mail'];
|
...