S-Sign Quick Install & Config Guide – Salesforce Classic

Introduction

Welcome to S-Sign, a 100% native e-signature solution for Salesforce. This guide details the steps you need to take to install and configure S-Sign in your org. S-Sign leverages Salesforce Sites and the secure Connected App feature, which you'll learn how to set up in this guide.

To view the same guide for Salesforce Lightning, click here.

Info
This article makes several references to your S-Sign Internal User. This user can be any licensed Salesforce user of your choosing, but we recommend choosing a generic Salesforce Administrator user, since deactivation of this user will halt S-Sign's functionality.

S-Sign operations that require internal data access will be conducted through this user's profile using the secure S-Docs Connected App. We recommend choosing your S-Sign Internal User before proceeding with this installation guide, as this user's details are required to complete the S-Sign configuration.

Tutorial Video

The following tutorial video details how to set up S-Sign in Salesforce Lightning Experience. The instructions below detail how to set up S-Sign in Salesforce Classic.

Install S-Sign

Note: Your org needs to have the Quote object enabled for S-Sign to install properly. To view instructions on how to enable Quotes for your org, click here.

Unlike S-Docs, S-Sign is not available on the AppExchange. Contact S-Docs Sales to obtain an installation link for the latest version of S-Sign. Make sure to select "Install for All Users." We recommend testing in a sandbox environment before installing in your production org.

You may need to update S-Docs if you're running an older version.

Pro Tip: Try to keep as few tabs open as possible during this configuration process. This will help prevent settings confirmed in one tab from being negated by another open tab.

Head over to Installed Packages by typing "Installed" into the Quick Find / Search bar in Setup to ensure that S-Sign has downloaded correctly and that your version numbers are up to date.

We recommend assigning the S-Sign User or Administrator permission sets to yourself and users who will be interacting with S-Sign. Learn more about S-Sign permission sets here.

Configure S-Sign

Step 1: Create Remote Site Settings

S-Sign uses SendGrid, an email service, to send verification emails. This bypasses any Salesforce email limitations to ensure that verification emails are always sent. To allow S-Sign to work with SendGrid, you must create a Remote Site Setting that whitelists SendGrid's API domain (i.e. allows S-Sign to communicate with SendGrid).

To do this, navigate to the Setup menu, type "Remote" in the Quick Find / Search bar, and click Remote Site Settings from the options that drop down. Then, click New Remote Site.

Fill in the following fields for your new remote site:

Remote Site Name: SSign_Email_Verification_Site
URL: https://api.sendgrid.com

Ensure that the Active checkbox is checked. You can leave everything else as it is.

Next, create a new remote site for the Salesforce login URL if you don't have one already set up.

For Production Org:
Remote Site Name: Salesforce_Production
Remote Site URL: https://login.salesforce.com

For Sandbox Org:
Remote Site Name: Salesforce_Sandbox
Remote Site URL: https://test.salesforce.com

Finally, create a third remote site for your Salesforce domain.

Remote Site Name: Enter anything you'd like
Remote Site URL: Enter your Salesforce domain.

Note: You can copy your domain from your address bar, e.g. https://na1.salesforce.com or https://cs2.salesforce.com. In the URL, note that the number after na or cs will vary.

If you are using S-Sign with communities, you should create a remote site for your custom domain as well.

Step 2: Create a Salesforce Site

Like S-Docs, S-Sign is native to the Salesforce platform. This means that all signers must sign within Salesforce, even if they do not have a Salesforce account. To accomplish this, you'll set up a Site in your org that will display your document(s) and allow users to sign them.

Start by again navigating to the Setup menu, then type Sites into the Quick Find search bar and [1] click Sites from the options that drop down. Next, [2] Register a Force.com Domain from this page if you don't have one already. Then, [3] click the New button on the "Sites" list to create a new Site.

Fill in the following fields for your Site:

  • Site Label: S-Sign Site
  • Site Name: S_Sign_Site
  • Site Contact: This is the user responsible for receiving site-related communications from the site visitors and Salesforce.com. By default, it is set to the user creating the Site.
  • Default Web Address: You can append something to the end of your site's domain, but it is not necessary.
  • Active: Make sure this is checked so that the site is active.
  • Active Site Homepage: You can choose anything you want for this, but we recommend setting it to "Under Construction." This won't be visible to anyone.

Finally, ensure that you uncheck the Lightning Features for Guest Users checkbox. This is to conform to S-Sign's security standards.

You can choose whatever you'd like for the rest of the fields or leave them at the default settings.

Click Save.

Note: Ensure that the Lightning Features for Guest Users checkbox is Unchecked before proceeding!

Once you click Save, you should be redirected to the Site Detail Page. The only thing left to do for this step is to add a few Visualforce pages to your site. Scroll down to the "Site Visualforce Pages" list on the Site Detail Page and click Edit.

Add the following pages:

  • SDOC.SDTemplateHTML
  • SSign.SSMultiSign
  • SSign.SSCreateSig
  • SSign.SSTemplatePDF
  • SSign.SSVerify
  • SSign.SSViewEnvIncl

Then, click Save. You've now completed this step!

Step 3: Create a Lookup Field

You need to create a lookup field  to your object on the S-Sign Envelope Object for any objects you’ll be using with S-Sign.

Note: you can skip this step and move on to Step 4 if your object is Opportunity or Contact, as a lookup field for these objects comes built into the package - if you are using version 2.1 and above, Contract, Quote, and Account will also have a lookup field pre-configured.

In the Setup menu, type "Objects" into the "Quick Find / Search" bar, then click Objects from the options that drop down. Click S-Sign Envelope (NOT the S-Sign Envelope Document and NOT the edit button).

Scroll down to the Custom Fields & Relationships section and click New.

Choose Lookup Relationship for the field type. Click Next.

Select the object for which you are creating the lookup relationship (the object you want to use S-Sign with). Click Next.

Add the field label and name. Default values can be kept for the rest of the fields.

For custom objects, the field label will just be the name of your custom object. The field name should be the API name of your custom object with a single underscore and a 'c' at the end, instead of the usual "__c." For example: if your custom object was named CustomObject and the API name was CustomObject__c, then your field label would just be CustomObject, and your field name would be CustomObject_c.

If your custom object is part of a managed package, it will have a namespace at the beginning. Say the object's API name is NSP__CustomObject__c. For the field name, you would replace the two underscores after the namespace with _u_ and remove one of the underscores from __c, so the resulting API name would be NSP_u_CustomObject_c.

For standard objects, just enter the name of your standard object (ex. the Quote object would have the field name and field label 'Quote').

Select your own field-level security settings. Click Next.

You can keep the default values for the next step, then add the S-Sign Envelopes related list to the appropriate page layouts. Click Save, and when you go to your object’s page, you’ll see the S-Sign Envelopes related list.

Step 4: Create an S-Docs Connected App

Info
Before proceeding with Step 4, you should decide who your S-Sign Internal User will be, as you will need to know their username & which profile they are assigned to complete the Connected App Configuration.
As a reminder, you S-Sign Internal User can be any licensed Salesforce user of your choosing, but we recommend choosing a generic Salesforce Administrator user. S-Sign operations that require internal data access will be conducted through this user's profile using the secure S-Docs Connected App.

S-Sign leverages Salesforce's secure Connected App integration. This involves configuring a Salesforce Connected App and specifying an internal user in your org to conduct S-Sign operations through. Complete the following steps to set up your Connected App.

Step 1: Create a Self-Signed Certificate

From the setup menu, type "Certificate" into the Quick Find bar, then click Certificate and Key Management in the dropdown menu. Click Create Self-Signed Certificate.

Name your certificate SDocsCert. Click Save.

Click Download Certificate, and keep track of where the file is stored. We will use this in the next step.

Step 2: Create A New Connected App

Navigate to the Connected App creation page by typing "Apps" into the Quick Find bar in the setup menu, then click Apps in the dropdown menu (under Build > Create). Scroll down to the Connected Apps section and click New.

In the Basic Information section, fill in the following fields:

Connected App Name: Sdocs Connected Apps
API Name: Sdocs_Connected_Apps
Contact Email: support@sdocs.com

Scroll down to the API (Enable OAuth Settings) section and check Enable OAuth Settings. Then, enter one of the following URLs into the Callback URL field, depending on if you're working in a sandbox or production environment:

Production: https://login.salesforce.com/services/oauth2/callback
Sandbox: https://test.salesforce.com/services/oauth2/callback

Next, check the Use Digital Signatures checkbox and upload the self-signed certificate that you downloaded in step 1.

Then, scroll down to the Selected OAuth Scopes field. Add the following scopes to your selected scopes:

  • Access Connect REST API resources (chatter_api)
  • Manage user data via APIs (api)
  • Perform requests at any time (refresh_token, offline_access)

This section should look similar to the following image when you are finished:

Leave the rest of the fields at their default settings, and click Save. You will be redirected to the Connected App detail page. Scroll down to the API (Enable OAuth Settings) section and click Copy next to the Consumer Key field. Paste this somewhere you can access later. You will use this key in Step 3. Then, click Manage at the top of the page.

On the next page, click Edit Policies.

Scroll down to the OAuth Policies section. Set the Permitted Users field to Admin approved users are pre-authorized. Set the IP Relaxation field in accordance with your organization's policies. Keep the Refresh Token Policy set to Refresh token is valid until revoked. Then, click Save.

Next, scroll down to the Profiles section and click Manage Profiles.

Add the profile assigned to the S-Sign Internal User. As a reminder, we recommend choosing a generic Salesforce Administrator User as the S-Sign Internal User. All S-Sign operations will be conducted through this user and the secure S-Docs Connected App.

Click Save.

Step 3: Create A New Custom Setting Entry

From the setup menu, type "Custom Settings" into the Quick Find bar, then click Custom Settings in the dropdown menu. Find SDocsSettings and click Manage.

If you've created an S-DocsSettings entry in the past, you can click the Edit link next to its name to edit it now. Otherwise, click New to create a new SDocsSettings entry.

Fill in the following values:

Note: All field values (including the custom setting name) are case sensitive and should be entered exactly as shown here.

Name: SDocsSettings
ConnectedAppCertificateName: SDocsCert
ConnectedAppConsumerKey: Paste the consumer key that you copied in step 2
ConnectedAppLoginURL:
[Production]: https://login.salesforce.com
[Sandbox]: https://test.salesforce.com

Note: If you are using Salesforce Government Cloud, use your MyDomain URL instead of the URLS listed above.

ConnectedAppTokenURL: Enter your Salesforce domain URL.

To find your domain, navigate to the Home screen and copy it from your browser's URL bar up to the first forward slash.

ConnectedAppUserName: Enter the username that you want to use as the S-Sign Internal User. As a reminder, we recommend choosing a generic Salesforce Administrator User as the S-Sign Internal User. All S-Sign operations will be conducted through this user and the secure S-Docs Connected App. This user's email address is also used for S-Sign notification emails (From/Reply-To) by default. Learn more about S-Sign system emails here.

Note: If you are using Salesforce Government Cloud, you also need to fill in the ConnectedAppAudienceURL field with one of the URLs listed below. This field sometimes populates with your MyDomain URL, which should not be used for this field. If your MyDomain URL populates this field, replace it with one of the 2 URLs listed below.

ConnectedAppAudienceURL:
[Production]: https://login.salesforce.com
[Sandbox]: https://test.salesforce.com

Your SDocsSettings entry should look similar to the following:

Click Save.

You've now successfully configured your S-Docs Connected App. For Connected App troubleshooting steps, please click here.

Step 4B: Assign The S-Sign Internal User Permission Set

After specifying an S-Sign Internal User during the Connected App configuration, you need to assign the S-Sign Internal User Permission Set to said user.

From the Setup menu, type "Permission" into the Quick Find bar, click Permission Sets in the dropdown menu, then click on the S-Sign Site Internal User permission set.

Next, click Manage Assignments.

Then, click Add Assignments.

From there, choose your S-Sign Internal User's username (the username entered into the ConnectedAppUserName field in S-Docs Custom Settings).

Step 5: Provide Site Info

The next step is providing S-Sign with your Site's Site label and URL.

Start by navigating to the S-Sign Setup page. If you are using S-Docs 4.381+, you can get to this page by clicking the All Tabs (+ icon) > S-Docs Setup > Go To S-Sign Setup Page.

If you are using a version of S-Docs below 4.381, the S-Sign Setup page can be accessed through one of the following links:

[Production]: https://login.salesforce.com/apex/SSIGN__SSConfig
[Sandbox]: https://test.salesforce.com/apex/SSIGN__SSConfig

First:

  1. The S-Sign Setup page contains a field for your S-Sign Site URL. Ensure that the URL shown in this field matches the Site URL you created in step 2. To do so, navigate to the Site detail page for your S-Sign site (Setup > Sites > S-Sign Site), copy the site domain from the Custom URLs list, and paste it into the S-Sign Site URL field on the S-Sign Setup page. Make sure to add https:// at the beginning of the domain.
  2. If your Site detail Custom URLs list includes two S-Sign Site URLs (shown below), use the URL that ends with secure.force.com.

Then, click the Set Site Info & Assign Permissions button.

Then, click the Assign License button to assign an S-Docs license to the S-Sign Internal User if one has not already been assigned.

Step 6: Enter your License Key and Assign Licenses

Once you've completed steps 1-5, you are ready to enter you license key and assign licenses to users in your org.

Warning
If you are using S-Sign version 2.287+, licenses need to be assigned to yourself and your users via the Salesforce Installed Packages interface before being assigned on the S-Sign License Page. Please complete the following steps before continuing.

  1. Navigate to the Setup menu, type "Installed Packages" into the Quickfind bar, then click Installed Packages in the dropdown menu. Find the S-Sign package and click Manage Licenses.
  2. Click Add Users, then add all users that should be licensed.
  3. These users now need to be added to the "Licensed Users" list on the S-Sign License Page (separate from this page). Follow the steps below this information box to complete this step.

Navigate to the S-Sign Setup Page (the same page from Step 5) and click Go To S-Sign License Page at the top.

From there, you can enter your license key.

If you are on the trial version, all users in your org will be able to use S-Sign after your license key is accepted.

If you are on the paid version, you can now scroll down to assign licenses to individual users by selecting their names and clicking Add Selected Users.

Note: Be sure to assign a license to your chosen S-Sign Internal User.

That's it! S-Sign is configured for your org. You are now ready to create S-Sign-enabled S-Docs templates to send for E-Signature.

Updating Your S-Sign Internal User

If you ever need to change your designated S-Sign Internal User, you must take the following actions:

Note: Your new S-Sign Internal User's email address must be added as an organization-wide email address before you change the user. After completing the following steps, you can remove the new user's email address from the org-wide address list.
  1. Update the ConnectedAppUserName field in your S-Docs Custom Settings to the username of your new S-Sign Internal User. View Step 3 of the Connected App instructions for instructions on navigating to this page and updating this field
  2. Add the S-Sign Internal User permission set to your new S-Sign Internal User (described in Step 4B above)
  3. Assign an S-Docs license to your new S-Sign Internal User from the S-Sign Setup Page (described in Step 5 above)
  4. Assign an S-Sign license to your new S-Sign Internal User from the S-Sign License Page (described in Step 6 above)
  5. Ensure your new S-Sign Internal User's profile matches the profile used with the S-Docs Connected App. View Step 2 of the Connected App instructions for instructions on updating this profile, if required.

Use Global Functions To Add Or Remove Licenses

Orgs that need to add or remove a large number of S-Sign licenses can use the addSSignUserLicenses and removeSSignUserLicenses functions. These functions are global and can be called from anywhere, allowing for flexibility if you need to make a bulk update to your S-Sign license assignments. These functions take a List<String> object. Although there are many ways to use them, the following example demonstrates how to add an S-Sign license to all active users:

List userIds = new List();
List activeUsers = [SELECT Id FROM User WHERE isActive = true];
for (User activeUser : activeUsers) {
userIds.add(String.valueOf(activeUser.Id));
}
SSIGN.SSLicensesController.addSSignUserLicenses(userIds);

You can also use the getSSignLicensedUsers() function to query all users in your org that currently have an S-Sign license assigned.

Tags: ,

Was this helpful?