Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 2 Next »

Sales Engineering Quick Guide on how to configure the Docusign connectors for e-signature POCs.

Valid for PM Connectors as available on Enterprise editions 3.1.x through 3.3.x

Instructions


On Docusign

URL.- https://appdemo.docusign.com/home

Admin Configuration

  1. Gain access to a test Docusign developer account. 
    1. Get the account ID from the top-right menu
  2. Get an Integrator Key for that Docusign account.
    1. From the top right menu, click on Go to Admin and navigate to Integration → API and Keys.
    2. 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.
    3. Note the UUID key that is generated. 


Template Configuration

  1. Create a New Template. 
    1. Note the Template ID which you can review in the URL when opening the template, as shown here: https://appdemo.docusign.com/templates/details/xxx-yyy-this-is-the-id
    2. Upload a Word or PDF file by clicking on Add Documents to the Envelope. 
    3. 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.
    4. 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:
    1. Header: Content-type Value: application/json
    2. Header: X-DocuSign-Authentication Value: {"Username":"xx@yy.com","Password":"XXXYYY", "IntegratorKey":"UUID-Key"}
      1. Replace values for those from your account. Be sure to include the Integrator Key, retrieved as detailed above.


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. DS Script
        $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'];
        
        
        

Once you have these variables set, you can use the Service Task with the createSendEnvelope connector:

  • Configure Body type as JSON
  • Add the JSON object in the body, as follows:
  • {

    "status" :"sent",

    "emailSubject" :@@Subject,

    "templateId" :@@Template,

    "templateRoles":@=SignersList

    }
  •  Profit!





  • No labels