This article will teach you how to configure S-Docs with custom objects in Salesforce Lightning. For instructions on how to configure S-Docs with custom objects in Salesforce Classic, click here.
To take advantage of S-Docs with custom objects, you will need to complete the following Salesforce configuration steps, which are explained in detail below (click to scroll down to a specific step):
- Add “CustomObj__c” as an available picklist value for your S-Docs Templates.
- Create a lookup field named “CustomObj__c” (note the two underscores) on the SDoc Relationship object - this allows S-Docs records to be linked to your custom object records.
- Create an S-Docs button and place it on your CustomObject’s page layout – this enables users to initiate the document generation process.
- Create your first template- where, as an admin, you design your document layout using the WYSIWYG editor and define what Salesforce data you want to merge.
S-Docs works great with the custom objects and even the Force.com platform edition, which is entirely comprised of custom objects. Your documents can span many relationships to include data from formula fields, rich text, parent records, child, grandchild and related objects--all within the same document.
Since every organization creates different custom objects to meet their unique requirements, you need to configure S-Docs to recognize which custom objects you want to leverage with S-Docs.
For the purposes of this guide, we assume your custom object is named CustomObj and has an API name of CustomObj__c. (Note: the API name has two underscores.) Whenever you see "CustomObj" in this document, you can replace it with the name of your custom object. S-Docs can also integrate with other AppExchange apps. (Note: there are a few setup differences.) This document will walk you through the step-by-step configuration process in Salesforce Lightning. It is intended for Salesforce.com administrators who are familiar with standard configuration tasks.
As a note, S-Docs does not use traditional templates (e.g. existing MS Word .dot or PDF files), but rather you design your template and define your merged fields all within Salesforce S-Docs Template records. Each time a user generates a document, the S-Docs engine merges the template record with your Salesforce custom object record data and delivers the merged document all within the Force.com platform. There is no need to have a shared network drive or an external document repository nor the need for connectors, macros or any downloads. You don’t need to log into any other system, share credentials or pass your data to any external servers. It is all self-contained on the Force.com platform.
Detailed instructions are provided below. Sample templates can be found here.
STEP 1: Add Your Custom Object API Name to the "Related to type" field on the "SDoc Template" object:
- Navigate to the Setup homepage (found by clicking the gear in the upper right corner).
- Navigate the Object Manager, then click on the S-Doc Template link.
- Click on Fields & Relationships in the sidebar, then click on the Related to Type link.
- Scroll down to the "Values" section and click on the New button.
- Add your custom object’s API name (e.g. CustomObj__c) as a picklist value, then click Save. *Note: if you are using S-Docs with another AppExchange managed package, then your custom object API name should include the domain name of the package followed by two underscores and then the object name (e.g. package__CustomObj__c). You should use the entire API name for the S-Docs picklist value.
As a reminder, you should substitute your object’s API name (not use the example CustomObj__c shown above).
STEP 1b: Confirm you can create a template using your Custom Object:
You should now be able to create a template and choose your custom object (e.g. CustomObj__c) from the picklist in the "Related to type" field. Make sure that the Available for use and Initially Visible checkboxes are checked.
This step allows you to associate the S-Doc with the Custom object, so that users can see a related list of all S-Docs created on your Custom Objects page layout.
- Navigate back to the object manager in the Setup menu and select SDoc Relationship.
- Click Fields & Relationships in the sidebar, then click New.
- Follow the New Custom Field steps:
Step 1 of 6 - Pick Lookup Relationship. Click Next.
Step 2 of 6 - Select your Custom Object (e.g. CustomObj__c) from picklist values, then click Next.
Step 3 of 6* - Field label and field name should be your custom object name without the “__c.” In our example it would be "CustomObj." Click Next.
Step 4 of 6 - Checkbox should be visible for all users. Click Next.
Step 5 of 6 - Checkbox should add the field for the layout.
Step 6 of 6 - Accept default. Click Save.
*Note: If you are using S-Docs with another AppExchange managed package, your field name in step 3 above will need to accommodate for the double underscore in the field name, which is not allowed by Salesforce. Since your API name includes the domain name of the package followed by two underscores and then the object name (e.g. package__CustomObj__c), you will need to replace the first double underscore with “_u_” and remove the remaining “__c.” In our example, your field name should be set to: package_u_CustomObj.
Just like using S-Docs with other objects, you need to place an S-Docs button on the record detail page layout. Users will click the button to initiate creating a document from the record detail page.
Step3a: Create the S-Docs button.
- Navigate back to the Object Manager in the Setup menu and click on the name of your custom object.
- Click Buttons, Links, and Actions in the sidebar and click New Button or Link.
- Type the button Label (e.g. "S-Docs").
- Display Type: choose Detail Page Button.
- Choose a Behavior (we recommend 'Display in existing Window with Sidebar').
- Content Source: Choose URL.
- *Use the following URL (note that double underscores are used in two places):
- *Note: If you are using S-Docs with an object within another AppExchange managed package, your button syntax should include the entire object API name that includes the domain (e.g. package__CustomObj__c). Note that double underscores are used throughout. Your button syntax should therefore look similar to the following:
- *Optional* You can have users save clicks by enabling the “One-Click” feature. Enabling this will bypass the document creation wizard. An administrator simply needs to change the button definition to include a list of pre-selected S-Docs template IDs that will be automatically generated. Placing this button will let users create all the documents encoded in the button without any additional interaction. The button syntax uses a parameter called “doclist,” which is followed by one or more template IDs to be auto-generated. Here is an example of the button syntax (replace the highlighted values with your own template IDs):
- Click Save
Step 3b: Place button on your page layout
- Navigate back to the Object Manager in the Setup menu and click the name of your custom object.
- Click on Page Layouts in the sidebar, then click the Edit link (you will repeat this for each page layout that you want the S-Docs button to appear in).
- From the Salesforce page layout screen, click Buttons, located in the top left toolbar menu. Once clicked, the right panel will display available buttons, where you should see your new button.
- Click and begin dragging the S-Docs button that you just created into the lower portion of the page (your custom objects Detail Page Layout). Once you drag the button over the Custom Buttons section, you will see a green checkbox (indicating OK to drop) and you can release the button.
- Be sure to click Save to apply the changes to the page layout and repeat steps 3-6 for any other layouts where you would like to add the button.
If you have already created an S-Docs template for your custom object, you can now open one of your custom object records, click on the S-Docs button, and generate your document. Otherwise, you will need to create at least one S-Docs template to begin using it with your custom Object. The next section describes this step.
- Go to the S-Docs template home page by clicking on the App Launcher in the upper left corner and selecting S-Docs.
- Navigate to the S-Docs Templates tab and click New.
- Create your Custom Object template record. Be sure to select your Custom Object name from the “related to type” picklist values. Before you can first use this template, you should confirm you have also checked the Available for Use and Initially Visible checkboxes.
- Click Save, then click the Template Editor button.
- Once in the editor mode, you can design your quote template using the WYSIWYG editor. The editor allows you to add text, format styles, insert tables, insert images and merge Salesforce data by using the Insert Field and Insert Related List buttons.
- You can also edit the template HTML directly by clicking on the Source button. You can additionally paste pre-made template code here. Sample templates are available here.
- Once your template is saved, you can test it by opening a sample custom object record, clicking on the S-Docs button, selecting your new template, then clicking on Next Step.
- Click on the View PDF icon or the document number to view or download the document.
- The document will open in another tab with all of the fields filled in.