Adobe Sign integration with e-signature in CPQ

Adobe Sign integration with e-signature in CPQ

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

  1. the right plan(Teams - Acrobat Sign Solution) and
  2. access to APIs.

Adobe OAuth Setup

  1. Login to Adobe Sign page https://secure.echosign.com/public/login

  2. Navigate to API->Adobe Sign API->API Application and click "+" button

  3. In "Create" dialog box, enter following information:

    • "Name" -> "MobileForce"
    • "Display Name" -> "MobileForce CPQ"
    • "Domain" -> "Partner"

Then click the "Save" button.

  1. In the list view select the most recent added application(MobileForce) and click on "Configure OAuth for Application"

  2. In "Config OAuth" dialog box, enter following information:

Then click the "Save" button

ADL Setup

Copy and update the following prop keys:

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

  1. Go to "CPQ Setup" -> "Document Template" and select the document that needs Adobe Sign to be enabled.
  2. 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"
}

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

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