User Guide Cancel

Adobe Sign for Salesforce: Automated Flows with Process Builder

  1. Adobe Acrobat Sign Integrations
  2. What's New
  3. Product Versions and Lifecycle
  4. Acrobat Sign for Salesforce
    1. Installation Guide
    2. User Guide
    3. Developer Guide
    4. Advanced Customization Guide
    5. Field Mapping and Templates Guide
    6. Process Builder Guide
    7. Document Builder Guide
    8. Upgrade Guide
    9. Release Notes
    10. Troubleshooting Guide
    11. Additional Articles
  5. Acrobat Sign for Microsoft
    1. Acrobat Sign for Microsoft 365
      1. Installation Guide
    2. Acrobat Sign for Outlook
      1. User Guide
    3. Acrobat Sign for Word/PowerPoint
      1. User Guide
    4. Acrobat Sign for Teams
      1. User Guide
      2. Release Notes
      3. Microsoft Teams Approvals
    5. Acrobat Sign for Microsoft PowerApps and Power Automate
      1. User Guide
      2. Release Notes
    6. Acrobat Sign Connector for Microsoft Search
      1. User Guide
    7. Acrobat Sign for Microsoft Dynamics 
      1. Overview
      2. Dynamics Online: Installation Guide 
      3. Dynamics Online: User Guide 
      4. Dynamics On-Prem: Installation Guide 
      5. Dynamics On-Prem: User Guide
      6. Dynamics Workflow Guide
      7. Dynamics 365 for Talent
      8. Upgrade Guide
      9. Release Notes
    8. Acrobat Sign for Microsoft SharePoint 
      1. Overview
      2. SharePoint On-Prem: Installation Guide
      3. SharePoint On-Prem: Template Mapping Guide
      4. SharePoint On-Prem: User Guide
      5. SharePoint On-Prem: Release Notes
      6. SharePoint Online: Installation Guide
      7. SharePoint Online: Template Mapping Guide
      8. SharePoint Online: User Guide
      9. SharePoint Online: Web Form Mapping Guide
      10. SharePoint Online: Release Notes
  6. Acrobat Sign for ServiceNow
    1. Overview
    2. Installation Guide
    3. Release Notes
  7. Acrobat Sign for HR ServiceNow
    1. Installation Guide
  8. Acrobat Sign for SAP SuccessFactors
    1. Cockpit Installation Guide
    2. Recruiting Installation Guide
    3. Recruiting User Guide
    4. Cloud Foundry Installation Guide
  9. Acrobat Sign for Workday
    1. Installation Guide
    2. Quick Start Guide
    3. Configuration Tutorial
  10. Acrobat Sign for NetSuite
    1. Installation Guide
    2. Release Notes
  11. Acrobat Sign for SugarCRM
  12. Acrobat Sign for VeevaVault
    1. Installation Guide
    2. User Guide
  13. Acrobat Sign for Coupa BSM Suite
    1. Installation Guide
  14. Acrobat Sign Developer Documentation
    1. Overview
    2. Webhooks
    3. Text Tags

Overview

The Process Builder in Salesforce is a graphical point-and-click tool that allows you to automate actions based on triggering events in your Salesforce environment.

Processes are built around an if/then type of logic flow, and contain one trigger event, at least one condition, and at least one action that can happen in real-time, and/or as a scheduled event.

Adobe Sign supports two action types: Updating Records and Apex

Each action type has several invokable actions:

  • Send
  • Cancel
  • Delete
  • Remind
  • Update
  • Load (template) is only available when using the Apex action type

The Process Builder is a very powerful tool and the full description of how it works is beyond the scope of this document.

This document highlights the actions available via v20 of the Adobe Sign for Salesforce package.

If you would like to learn more about the Process Builder in general, there is documentation and an interactive Trailhead available from Salesforce.


Processes that use "Update Records" as the action type

This approach uses the Update Records action type in the Salesforce Process Builder to set the Background Action picklist field on the agreement record to invoke an action.

New process can be created (which fire based on record change events) that can then invoke an action on a related Adobe Sign agreement. Users can control when the action will occur (i.e. after which field update on the master record) and which related agreement(s) are selected for the action.

 

Currently the following actions are supported:

  • Send
  • Cancel
  • Delete
  • Remind
  • Update

Things to be aware of:

  • Any error detected during the process will be stored in the Error Message field, and can be viewed on the corresponding Agreement page
  • Scheduled actions are supported
  • Adobe Sign library documents are supported
  • One or more parent or child agreements can be selected
  • When updating an agreement record, the related record is the echosign_dev1 object
    • The echosign_dev1 object is associated to the common Salesforce objects (Account, Opportunity, Contact, etc). If the Agreements are related to a custom object, this name will be unique to the org.

  • Actions are triggered by updating the Background Action picklist field on the agreement record with the corresponding action value

Limitations:
  • The agreement record must already exist. It cannot be created or loaded from an agreement template using an "Update Records" action type


Processes that use Apex as the action type

This approach uses the Apex action type in the Salesforce Process Builder to invoke an Invocable Method included with the managed package to perform the corresponding action. 

New process can be created (which fire based on record change events) that can then invoke an action on a related Adobe Sign agreement.

The following invocable actions have been defined:

  • Agreement Template Load Invocable Action
    • AgreementTemplateLoadInvocableAction.load
      • Pass in the template and master ID's and any runtime variables.
      • Pass in an optional parameter to control whether the template generation runs in async mode
        • Required if the template contains a document from the Adobe Sign library
      • Return the generated agreement record ID or any error message
        • Error will not be visible to the users performing the trigger action

When invoking the Load Agreement Type Class, there are four field options that you can configure:

  • Master Record ID - The Salesforce record ID of the object to which the agreement should be related. 
    • Usually set to type Field Reference and value "[Object].Id" where object is Opportunity, Account, etc.
  • Agreement Template Id - The Salesforce record Id of the agreement template to load. Set type to "ID" and value to the record ID
  • Agreement Template Runtime Variables - Recipients and/or documents from a variable. 
    • One variable: myRecipient=auserguy@adobe.com 
    • Two variables: myRecipient=auserguy@adobe.com,myAttachment=00Pf4000002df0q
  • Async Processing - Optional, do not specify unless necessary. By default this will be false, so the template invocation will run in sync mode (i.e. the same transaction/thread) 
    • Set to True if your agreement template loads an Adobe Sign library document
    • Ensure the value is False if AutoSend is true for the tmplate
    • You cannot have auto send with Adobe Sign library documents together
    • Be aware of the built in Salesforce limitations if the process is being invoked from a batch or other async process

 

  • Agreement Cancel Invocable Action
    • AgreementCancelInvocableAction.cancelAgreement
      • Pass in the agreement ID
      • Return any error message
  • Agreement Delete Invocable Action
    • AgreementDeleteInvocableAction.deleteAgreement
      • Pass in the agreement ID
      • Return any error message
  • Agreement Remind Invocable Action
    • AgreementRemindInvocableAction.sendReminder
      • Pass in the agreement ID
      • Return any error message
  • Agreement Send Invocable Action
    • AgreementSendInvocableAction.sendAgreement
      • Pass in the agreement ID
      • Return any error message
  • Agreement Agreement Update Invocable Action
    • AgreementUpdateInvocableAction.updateAgreement
      • Pass in the agreement ID
      • Return any error message

The Cancel, Delete, Remind, Send, and Update actions require only the Agreement ID of the agreement that is to be acted upon:


Things to be aware of:

  • Scheduled actions are supported
  • Agreement templates with auto send are supported (i.e. generate and send)
  • All actions can accept multiple requests in one invocation
  • Any exceptions are caught and stored on the result record and logged as an error in the Apex debug log to avoid blocking process execution.
  • The parameter to the Template Load function (Async Processing), controls whether the template processing occurs in synchronous or asynchronous mode. The caller needs to specify whether the template load should run in sync or async mode 
    • The default process runs in synchronous mode. The bulk of processes should run synchronously
    • If auto send is enabled, the process must be in synchronous mode
    • The notable asynchronous process would be if you need to load an Adobe Sign library document

 

Limitations:

  • The combination of auto send templates and Adobe Sign library documents is not supported due to a limitation in Salesforce where one thread cannot kick off another thread
  • For any parameters passed in to the invocable action, only parent fields (not child fields) can be referenced. You cannot take actions on child agreements under a master record
  • Return values from an Apex invocation cannot be consumed in a process builder. No actions which return a value are supported (i.e. get document info or get signing URL).


Queueable Service

A new service layer has been implemented to invoke the agreement actions through the Salesforce queueable interface. More good info on Queueable is here. The actions invoke the core service API's which then callout to the Adobe Sign API. 

The following actions are supported:

  • Send
  • Cancel
  • Delete
  • Remind
  • Update

The global echosign_dev1.AdobeSignApiQueueableService is the service Apex class, which takes in a parameter of type echosign_dev1.QueueableServiceParameter, which contains the action to invoke and the agreement record ID:

 

echosign_dev1.AdobeSignApiQueueableService.QueueableServiceParameter param = new echosign_dev1.AdobeSignApiQueueableService.QueueableServiceParameter();

param.actionType = EchoSignApiService.ACTION_TYPE.AGREEMENT_REMIND;
param.agreementId = 'a0I0S000000KwkaUAC';

ID jobID = System.enqueueJob(new echosign_dev1.AdobeSignApiQueueableService(param));
Adobe logo

Sign in to your account