Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

  1. Login to your Docusign developer account.  
    1. 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/)
  2. On the top menu go to Settings, then in the sub menu go to Integration → API and Keys.
  3. 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.
  4. Note the UUID key that is generated. 

Template Configuration

  1. 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
  2. Choose Authorization  Code Grant
  3. Add a Secret Key, copy the Secret Key for later
  4. Add a redirect URI likehttps://appdemoyour.docusignprocessmaker.comserver/templates/details/xxx-yyy-this-is-the-id
  5. Upload a Word or PDF file by clicking on Add Documents to the Envelope. 
  6. Configure the Recipients List by clicking on Add Recipients to the Envelope.
    1. Only the Role is needed -other fields (name, email) will be provided by PM.
  7. In the next screen, drag fields from Docusign's field menu (left) onto the document. These will match against form and signature data.
    1. Note that there are distinct field selections for each Recipient Role.
    2. Note to include at least one Signature field.

On ProcessMaker

Connector Configuration

  1. 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).
    1. If there is none, simply create a new one using the config options listed here.
  2. The URL for this call is https://demo.docusign.net/restapi/v2/accounts/XXXXXXX/envelopes called with method POST.
    1. Note to replace the account id in the URL with the one from your test account, retrieved as detailed above.
  3. The request takes two Headers, ensure they exist or add them:
  4. Header: Content-type Value: application/json
  5. 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
  6. Save the application

View file
nameDocuSignApp.mp4
height250

B. Configure DocuSign in ProcessMaker

  1. Go to Admin menu
  2. Click on Image Added DocuSign Configuration sub menu
  3. Paste the previously copied Integration Key
  4. Paste the previously copied Secret Key
  5. Save the configuration

View file
nameDocuSignConfigInt.mp4
height250

C. Grant Access Code from Admin menu (Optional)

  1. From DocuSign Configuration click on GRAN DOCUSIGN ACCESS
  2. Click on Authorize access
  3. Login with you docusign accound (the owner of your docusign documents and templates)
  4. Done

View file
nameDocuSignGrantAccess.mp4
height250

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:

  1. From your DocuSign account go to Templates
  2. Create a New Template
  3. Set the name an a brief description
  4. Upload a document to be signed
  5. Setup the recipients
  6. Save and exit

View file
nameDocuSignCreateTemplate.mp4
height250
 


Connector Use

  1. Design a Process with a form task that captures necessary Recipient information (name, email).  
  2. The request will be expecting a Body with the following JSON structure:
    1. {

      "status" :"sent",

      "emailSubject" :@@Subject,

      "templateId" :@@Template,

      "templateRoles":@=SignersList

      }
  3. You'll need thus to create these variables prior to calling the connector. 
    1. emailSubject can be either hard-coded or read from a variable. It is a plain text field.
    2. templateId is the ID for the template you will request signing. It can be hard-coded or read from a variable.
    3. templateRoles is a JSON array with details for each Recipient. Each element in the array will follow this structure:
      1.  "roleName"=> "rolename",
        "name"=> "name"
        "email"=> "email",
        "recipientId"=> "id",
        "tabs"=> { {"textTabs" => $textTabs }
      2. Here you will replace these values with form data. See the following sample script that builds this payload:

      3. Code Block
        languagephp
        titleDS Script
        linenumberstrue
        collapsetrue
        $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'];
        
        
        


...

Page Properties
hiddentrue


Related issues