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 this same guide for Salesforce Classic, click here.
Tutorial Video
Watch the following tutorial video or follow the instructions below to install and configure S-Sign in your org.
Install S-Sign
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.
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, simply click the Setup cog in the upper right hand corner, 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.
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 clicking the Setup cog, then type Sites into the Quick Find search bar and [1] click Sites from the options that drop down. [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 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.
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
Navigate to the Object Manager in the Setup menu and click the S-Sign Envelope object (not S-Sign Envelope Documents).
Click the Fields & Relationships tab 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 only 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
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 "App Manager" into the Quick Find bar in the setup menu, then click App Manager in the dropdown menu. Click New Connected App in the top right.
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:
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
ConnectedAppTokenURL: Enter your Salesforce domain URL.
To find your domain, click your user profile in the upper right corner and copy it from under your username. Make sure to add "https://" at the beginning.
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.
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 App Launcher in the upper left corner, typing "S-Docs Setup" into the QuickFind bar, then clicking S-Docs Setup in the dropdown menu. From there, find and click on 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
- 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.
- 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.
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.
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:
- 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
- Add the S-Sign Internal User permission set to your new S-Sign Internal User (described in Step 4B above)
- Assign an S-Docs license to your new S-Sign Internal User from the S-Sign Setup Page (described in Step 5 above)
- Assign an S-Sign license to your new S-Sign Internal User from the S-Sign License Page (described in Step 6 above)
- 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: Access/Permissions, Installation