Adobe Sign integration with e-signature in CPQ
Adobe Sign integration with e-signature in CPQ
- Updated on Oct 2, 2024
- Published on Nov 15, 2023
- 2 minute(s) read
Adobe Sign Setup
In order to use Adobe Sign with Mobileforce CPQ, the admin has to follow the steps listed below.
Adobe Sign Plan
Make sure that the customers Adobe Sign has
- the right plan(Teams - Acrobat Sign Solution) and
- access to APIs.
Adobe OAuth Setup
Login to Adobe Sign page https://secure.echosign.com/public/login
Navigate to API->Adobe Sign API->API Application and click "+" button
In "Create" dialog box, enter following information:
- "Name" -> "MobileForce"
- "Display Name" -> "MobileForce CPQ"
- "Domain" -> "Partner"
Then click the "Save" button.
In the list view select the most recent added application(MobileForce) and click on "Configure OAuth for Application"
In "Config OAuth" dialog box, enter following information:
- "Redirect URL" -> "https://apps.mobileforcesoftware.com/adlwebui/oauth_callback.php"
- Select checkbox agreement_read, agreement_write, agreement_send, webhook_read and webhook_write scope and use "Modifier" as "self"(Default "account" will be selected).
Then click the "Save" button
ADL Setup
Copy and update the following prop keys:
- cpq-signing-enabled - Set it to "1". This will enable sign feature for the CPQ.
- adobesign-api-base-url - its value should be https://api.`<domain-name - see screenshot>`
- adobesign-oauth-authurl - its value should be following url with domain name updated - https://secure.`
`/public/oauth/v2 - adobesign-oauth-accesstokenurl - its value should be following url with domain name updated - https://api.`
`/oauth/v2/token - adobe-oauth-clientid - Update it with Application ID
- adobe-oauth-clientsecret - Update it with Client Secret
Code snippet
<prop key="cpq-signing-enabled">1</prop>
<prop key="adobesign-prefix">adobesign-</prop>
<prop key="adobesign-api-base-url">https://api.na4.adobesign.com</prop>
<prop key="adobesign-oauth-version">2.0</prop>
<prop key="adobesign-oauth-clientid">AABBCC</prop>
<prop key="adobesign-oauth-clientsecret">DDEEFF</prop>
<prop key="adobesign-oauth-scope">agreement_send:self agreement_write:self agreement_read:self webhook_write:self webhook_read:self</prop>
<prop key="adobesign-oauth-authurl">https://secure.na4.adobesign.com/public/oauth/v2</prop>
<prop key="adobesign-oauth-accesstokenurl">https://api.na4.adobesign.com/oauth/v2/token</prop>
<prop key="adobesign-oauth-redirecturi">https://apps.mobileforcesoftware.com/adlwebui/oauth_callback.php</prop>
<prop key="adobesign-oauth-accessmethod">header</prop>
<prop key="adobesign-oauth-clientauthmethod">requestparams</prop>
<prop key="adobesign-oauth-granttype">authorization_code</prop>
CPQ Configuration
- Go to "CPQ Setup" -> "Document Template" and select the document that needs Adobe Sign to be enabled.
- Update the following fields:
- Enable Signature - Set it to "Yes"
- System - "Adobe Sign"
- Adobe Sign Agreement Json -
Adobe Sign Agreement JSON
JSON string should follow the format specified as per Adobe Sign API doc Adobe Sign Doc
Code snippet
{
"fileInfos": [{\
"transientDocumentId": "${transientDocumentId}"\\
}],
"name": "Quote",
"participantSetsInfo": [{\
"memberInfos": [{\
"email": "${contact_email}"\
}],\
"order": 1,\
"role": "SIGNER"\
}\
],
"signatureType": "ESIGN",
"state": "IN_PROCESS"
}
- ${transientDocumentId} is pre-defined field which shouldn't be modified
- All other field ${
<field-name>} will be replaced by the quote field value
If you want to have multiple signer you need to update the "participantSetsInfo" JSON array accordingly. For eg. below JSON specified two participants.
Code snippet
{
"fileInfos": [{\
"transientDocumentId": "${transientDocumentId}"\\
}],
"name": "Quote",
"participantSetsInfo": [{\
"memberInfos": [{\
"email": "${contact_email}"\
}],\
"order": 1,\
"role": "SIGNER"\
},\
{\
"memberInfos": [{\
"email": "sales_manager@acme.com"\
}],\
"order": 1,\
"role": "SIGNER"\
}\
],
"signatureType": "ESIGN",
"state": "IN_PROCESS"
}
Document Template Anchor
- You can setup the signature anchor in quote document directly. For more info see Adobe Docs
For eg.:
Code snippet
{{ Sig_es_:signer1:signature }}
{{ Sig_es_:signer2:signature }}
The above two anchor tags specified signature for signer1 and signer2. First document is send for singer1. When singer1 signs the doc will be sent to singer2.
Demo Screenshot
Demo App
account: account_name
app: mobileforce
login: name@email.com
password: pwd
For Adobe Sign login user:
email: nameadmin@email.com
password: pwd