RS Signature Documentation

Contents:

  1. About Google Docs
  2. Installing and Configuring the App
  3. Configure for Standard or Custom objects
  4. Sending Documents for signature
  5. Document Counter Sign
  6. Using RS Documents with RS Signature for full automation
  7. Passing Default Values to Send Document page
  8. Updating related records with Signature fields
  9. Configuring email templates
  10. eSignature common errors
  11. Custom Signature Completion URL


 

About Google Docs

RS Signature is using Google Docs to send the document for signature. We chose this platform for our app because we think Google Docs is the most modern and efficient platform for managing your documents in the cloud. It’s extremely simple to adapt as it has most of the features Microsoft Office Word has to offer. You can create a standard template in Google Docs and manually update if with information needed each time you need to send it for signature, or you can use RS Documents app to auto generate a Google Doc based on on a template and merging data from your Salesforce. You can learn more about Google Docs and create your free or business account here.


 

Installing and Configuring the App

  1. Please contact us if you would like us to install and configure a basic/sample setup the app for you at no charge (estimate 30 minutes to complete): support@ramseysolutions.com.  We know the steps below are easy for someone who knows what they are doing, but we are happy to just walk you through the steps to get up and running quicker.  If you would like more full service implementation and configuration you can contact our services team: theteam@ramseysolutions.com for paid consulting services
  2. Go to the AppExchange profile for RS Signature to install the app into your Salesforce org.
    1. If you are using Salesforce Professional Edition, you will need to submit a case to Salesforce support to get your API enabled. RS Signature app will not work without API enabled.
  3. Click the Get It Now green button.
    Screen Shot 2015-01-20 at 2.35.42 PM
  4. Follow the steps prompted to install the package in Production or Sandbox org.
  5. We recommend installing for use by all users instead of just Admins if you intend to have used by all/most users.  Otherwise you need to adjust permissions later for all other profiles.
  6. After the app is installed you can add the tab “eSign Docs” to your top tabs if you want.  Or click on “+” icon on right of tab bar, then click on the eSign Configuration tab.
  7. Click the “Grant Access” button.  Then click Allow on the next page.  This connects your Salesforce org with the RS Signature app so we can display documents you send for signature and update the signature status in your Salesforce.
    1. NOTE: Whoever grants access to the app should remain an active user and have a system administrator profile type.
  8. Enter an admin email into the Alert Email field and click Save.  These are email alerts when there is an error processing a signature save outside of Salesforce.
    Slide-1


 

Configure for Standard or Custom objects.

  1. When the app is installed a new object called “eSign Doc” is created to track all of the documents you send for signature and their status.
  2. You can relate the eSign Doc to any Standard or Custom object you want in Salesforce.
  3. You should decide which object(s) the eSign Doc should be related to. This would allow you to send a document related to the Opportunity, for example a Proposal or Contract. If working with the standard objects Account, Contact, or Opportunity you do not need to create additional lookup field as we have already related them to the eSign object with the installed package.
  4. To related eSign Doc to another object other than Account, Contact, or Opportunity, go to Setup -> Create -> Objects -> select “eSign Doc” object -> create a new custom field “Lookup field type” with the lookup relationship to the object you want to relate it to, for example Quotes.
    Slide-3
  5. Modify page layout of the object you are relating sSign Doc to.
    1. Select “Page Layouts” and click Edit next to layout you wish to add eSign Doc to.  In this example, Opportunity.
      Slide-5
    2. Select Related Lists, locate and add eSign Docs to the layout.
      Slide-6
    3. Without leaving edit mode, scroll down to the related list you just added, click on wrench icon to modify related list properties.
      Slide-7
    4. From Available Fields list move the following into Selected Fields list: Document ID, Created Date, Email Opened, Document Opened, Recipient Signed, Signature Status, Doc Link.  Then sort by Created Date descending.
      Slide-8
  6. Repeat steps for any other object you want to relate the eSign Doc to.
  7. Now you are ready to use the app.


 

Sending Documents for Signature

  1. After you related eSign Doc to the object and added the related list to the object page layout, open a record of that object that you want to test it on.  We related eSign Doc object to the Opportunity object to show as example in this documentation.
  2. To send a new document for signature, go to a record you want to send a document for signature for, go to the related list of eSign Doc and click “New” button.  You can also go to the tab “eSign Doc” under more tabs “+” sign on tab bar and then click “New” button.
    NEw-eSign-tabNe-eSign-object
  3. On the Send Document page you will fill in the following information to send a document for signature.  (Later we will explain how you can pre-populate all these values automatically with a custom button/link).
    1. Google Doc ID – enter the google doc id of the google doc you want to send for signature:
      1. If you are looking at your Google Doc the ID is the text after “https://docs.google.com/document/d/” and before the “/edit”:
        Google-Doc-ID
    2. Send To – select a Contact in your Salesforce via the lookup icon that you want to send the document to, the “Recipient”.
    3. Email To Name – If you don’t select a Contact record in the Send To, then you can also just type in a name of a person to send the document to.  Type the full name.
    4. Email To – If you don’t select a Contact record in the Send To, then you can also just enter an email address of the person to send the document to.
      Sent-To-Email-To
    5. CC - enter any other email addresses separated by a semi-colon that you wish to CC on this email.
    6. Counter Sign Method:
      1. Defaults to No Counter Sign Needed.
      2. Counter Sign Required – Select if you want this document to be counter signed by someone at the company after it is signed by the recipient.
      3. Auto Counter Sign option allows you to automatically countersign the document after it’s signed by the recipient.
    7. Counter Signed By User – If you select Counter Sign Required or Auto Counter Sign, then here you select the User in Salesforce who needs to counter sign the document.
    8. Email Template – optionally you can select an email template you have previously created to be used to send this document.  Find out how to configure an email template with proper merge fields in Configuring Email Templates section below.
      1. If your template does not have the proper code to include the eSignature link, then this merge code will be automatically added to the email body.
      2. If template is selected then the Subject and Body will be populated.  You can use the button “Email Preview” to preview the email with the fields merged.
        Note: RS Signature doesn’t support Letterheads created in Salesforce. You can use full custom HTML or plain text templates. 
    9. Subject – If template was not selected, you can enter an email subject here.
    10. Body – If template was not selected, you can type the email body manually here (as plain text, or paste HTML code).  If you chose to do this, make sure you have the eSignature link {!esign__Document__c.esign__eSign_Link__c} merged somewhere in the email body so the recipient can have the link to click to sign the document.  You can put this link in any way you want with link text like “Sign Here” or with an image button clicking to the link. See Configuring Email Templates section below for examples.
    11. In the Related Records section you can select the record that you want to relate this e-signature to. It will only display the fields for the objects that you previously created lookup fields for (from Step 3 of Configure for Standard or Custom objects).
      1. If you clicked this from a record that eSign Doc is related to, then the record will be pre-populated.
      2. Check the box for Update Related Records if you want to update signature fields on the related record automatically. Please refer to Updating Related Records with Signature Fields section below for instructions on this feature.
  4. Click “Send for Signature” button at the bottom.
  5. Now the email will be sent to the recipient and the eSign Doc record is created with a Signature Status of “Sent”.
    Sign-Status-Sent
  6. If the recipient opens the email, then the “Email Opened” will be updated with that date/time they opened the email and the Signature Status will be changed to “Delivered”.  This gives good visibility and ability to followup if never opened.
    Email-Status-Open
  7. The recipient will click the link/button in the email body to sign.
  8. If they click the link and open the document, then the Signature Status automatically changes to “Opened” and the date/time is recorded in “Document Opened”.
  9. When they click the link, they will go to a web page unique to this eSign Doc and display the Google Doc for review.  They have button to download a PDF of the Google Doc or to Comment on the Google Doc.
  10. If they are ready to sign, they will fill out the fields at the bottom to enter their full name, company, title, and email and then click “Accept and Sign” button.
    SIgn-Document
  11. If they click the button to sign, then the Signature Status changes to “Signed” and “Recipient Signed” date/time is populated.
  12. User who sent document will be notified of the signature.  This email notification can be customized. Please refer to  Configuring Email Templates section below for instructions on how to set this up.
  13. If No Counter Sign was needed, then eSign Doc Signature Status will be changed to “Signed”.
    eSign-Signed


 

Document Counter Sign

  1. If Counter Sign Method was set to “Auto Counter Sign” then after Recipient signs the document it will be automatically counter signed.
  2. If Counter Sign Method was set to “Counter Sign Required”, then user who needs to counter sign will be notified with link to counter sign.
    1. When the user clicks on the link it will redirect them to Salesforce eSign record page.
      Counter-Sign-Link
    2. Then the user should click the button “Counter Sign” at the top.
      Counter-Sign-Button
  3. Once the document is counter signed by either method, then the eSign Doc Signature Status will be changed to “Signed”.
  4. The recipient will be emailed a PDF copy of the document.  The app will append electronic signature information to the bottom of the document.  The PDF is also attached to the eSign Doc record.
    1. This email notification can be customized. Please refer to  Configuring Email Templates section below for instructions on how to set this up.


 

Using RS Documents with RS Signature for full automation

  1. Install and configure RS Documents to generate the Google Docs based on your template.
    1. Install RS Documents from AppExchange. 
    2. Follow the Documentation to configure RS Documents.
  2. On the Document Action record that you wish to configure to send for signature:
    1. Configure fields in sections: Information,  Properties of Merged Document in Google Drive, and Properties of Merged Document as directed in RS Documents Documentation.
    2. In Email section set Email To, Email CC, and Email Template.
      1. While selecting email template remember to include {!esign__Document__c.esign__eSign_Link__c} link in email body to allow recipient to sign a document.
    3. In eSignature Section:
      1. Send for Signature Action – set to Preview to see the document before you send it or Autosend to automatically send the document for signature.
        1. If using Lightning Experience, the email “Preview” feature is not currently available so it will need to be set to “Autosend.”
      2. Parent Lookup Field Name – this lookup field label should always come from the same object you indicated in Base Object API in Document Action Details above.
        1. If you are using either Account, Contact, or Opportunity standard Salesforce objects for your base object, the RS Signature package already comes with lookup fields to these objects from eSign custom object that you can use for Parent Lookup Field (be sure not to create a duplicate lookup field).
        2. If using a different standard object than what is listed above or a custom object, you will need to create a lookup field to that object from the eSign custom object.
        3. From setup menu, go to the eSign custom object and find the lookup field you would like to use or just created.
          1. Find the Field label name of the lookup field you would like to use. For example, if using Opportunity, you will see that the field label name is “Opportunity” and this is what you paste into field on document action.
          2. IMPORTANT NOTE: If the field label has two words or more and include underscores between the words, then you keep the underscore(s) between object words and exclude any underscore after the last word (usually this means removing the “_c” from end of field label). For example, if you created a lookup field to Lead from eSign object called “Sales Order” and the field label shows “Sales_Order_c” then you would want to remove the last part (“_c”) and paste “Sales_Order” into the field name on document action.
      3. Counter Sign Method – set similar to the logic explained in the previous section.
      4. Counter Signed By – set to user ID that will need to countersign the document (for example: a0BE000000h3258), or use a button merge field to merge ID dynamically (for example: {!Opportunity.OwnerId} )
      5. Merge Signature Fields on eSign Document – if you would like to merge signature fields onto your eSign document for “signed by” and/or “countersigned by” (use autocountersign in document action if you want this field to auto populate) you can merge the following fields onto your google doc template:
        a) Signed By: {!esign__Document__c.esign__Signed_By_Name__c}
        b) Countersigned By: {!esign__Document__c.esign__Counter_Signed_By__r.Name}

        1. You can change the font on these fields to look more like a signature font if you would like (or place an underline below these fields to show signature placement).
        2. Apply white color to the above merge fields on template so that text becomes invisible (text is white/invisible so the recipient does not see the merge field when first signing document but after document is signed, the text will show in black).
        3. Create new eSign Doc using the google doc you created with merge fields or document action with eSignature portion filled out to send document for signature.
        4. After the eSign doc is sent via email, go back to the eSign doc record and check field “Merge Signature Fields” (by default this field is unchecked so you need to manually check it after the eSign doc is sent and before it is signed unless workflow is set up to auto check this field).
        5. Open email and go through steps to sign document.
        6. Once document is signed, check that PDF on eSign doc record contains names of the persons who signed Document where these merge fields were defined (should now show in black font after signed).
      6. Additional eSignature Field & Additional eSignature Value – here you can pass additional lookup field values to eSign object that you created. For example if in addition to your Base/Parent object, you also created another lookup field on eSign object that you wish to pre-populate, you will indicate it in these fields.
        1. Additional eSignature Field – write the lookup field label here. For example: if you created a lookup field to Account on eSign object that is called Client, then you will write “Client” in this field  (if your field label consist of 2 words, make sure to include any underscores between words, but leave off the end of label “__c” part). For example if your field label is “Sales_Order_c,” you would use “Sales_Order.”
        2. Additional eSignature Value – populate the value you wish to pass into Additional eSignature Field with the button merge code for this field from your Base/Parent object. For example: our Base/Parent object is Opportunity and additional field is Client which is a lookup to Account, then we will set this field to {!Opportunity.AccountId}.
          1. NOTE: If you would like to pass value of picklist field into your custom button code, you would use the eSignparam value (in this example with a two word custom object, it would be “Sales_Order”) and then use the text of a picklist value, removing the quotation marks and DO NOT use underscores between words.
        3. You can keep passing additional variables like this pair if you have more fields that you wish to pre-populate.  To do that you will need to manually add  parameters to your button code after you create your button. You can keep adding parameters with number like “&esignparam3=” for the field and “&esignparamvalue3″= for the value. Start with “3” because 1 and 2 are already used for Parent Lookup field and Additional eSignature fields.Document-Action
  3. Use the button code provided to add the button/link to your page layout or a formula field so you can click on the record and generate the Google Doc and send for signature using RS Documents in one click.
    Button-Link
    Important: After you configured the button or link to generate your documents, remember every time you make changes to Document Action record, you have to copy the new Button/Link Code and update your button or formula, as the changes will not be passed to your button or formula automatically. 


 

Passing Default values to Send Document Page

  1. If you are not using RS Signature with another document generating app like RS Documents app, you can create a custom link/button to click to go to sending a eSign Document but pass all the variables to pre-populate the values on the page so you don’t need to fill them in.
  2. First go to the eSign Docs tab, and click the New button.  Or New from the related list on the object you are relating to.  Get the url of the page you are on when Sending Document.
    For example in our test org it is https://esign.na9.visual.force.com/apex/SendNewDocument?retURL=%2Fa1X%2Fo&save_new=1&sfdc.override=1
  3. Now take that URL and use that in your custom link/button and add variables to the end of the url by adding an “&” then the api name of the field on eSign Doc object you want to populate without the __c at the end and an “=” and then the value you want to populate it with.  In your formula you might include a fixed text value or a merge field value from the record the link/button is going on.
  4. For example if I want to pass the Google Doc Id that I have saved on my Opportunity object in a field called “Google_Doc_Id”.  Then I can add to the end of the url “&Google_Doc_ID={!Opportunity.Google_Doc_Id}”.  When clicking link from an Opportunity record the value will be passed and pre-populated to the Send Document page.
  5. You can do the same for these fields:
  6. &Google_Doc_ID= text value of the google doc id.
  7. &Send_To= the salesforce id of a contact record.
  8. &Email_To_Name= text value of a full name.
  9. &Email_To= text value of email address.
  10. &Email_CC= text value of email addresses separated by semi colon.
  11. &Counter_Sign_Method= text value of one of the picklist options.
  12. &Counter_Signed_By= the salesforce id of the user record.
  13. &Email_Template= the salesforce id of the email template.
  14. &Subject= text value of the subject.
  15. &Body= text value of the body.  This can’t be too long in a url code.  Best to use a template.
  16. &Update_Related= put “true” or “false”.
  17. If you want to populate other custom related to lookup fields you have created just use the api name of the lookup field you created in the same way.  For example if I created a lookup field called “Opportunity” then I would put &Opportunity= the salesforce record id of the opportunity.


 

 Updating related records with Signature fields

  1. You may need to update related records based on changes made on eSign Doc records (Signature Status, Counter Sign Date etc). For example: a contract gets sent out for signature from Opportunity and when it’s signed,  Opportunity Stage needs to change to Closed Won.
  2. You can update related records based on different logic and criteria by building a process in Salesforce Process Builder. Find out more about using Process Builder here. You can configure your process to complete a simple action, or complete multiple actions at once, including time based updates, field update, flow execution and more. It’s a very powerful and user-friendly tool that allows you to create and configure most of the processes without writing any code.
  3. You may also use Apex to configure any logic or process if it’s beyond Process Builder capabilities.
  4. There’s also a feature included in the app that allows you to update basic Signature information on related record without using Process Builder or Apex. This feature allows you pass Signature Status, Recipient Signed Date, and Counter Signed Date values to related records:
    1. In order to use the feature you first need to create fields to be updated on your related object (whichever objects you created Lookup fields to on eSign Doc object).
    2. The fields to create have to be the following (make sure the following names are set as your fields API names):
      Signature_Status__c (field type: text)
      Recipient_Signed__c  (field type: Date/Time)
      Counter_Signed_Date__c  (field type: Date/Time)
    3. While sending the document for signature in a New eSign Doc configuration screen you have an option to check the box  Update Related Records under Related Record section. Check that box if you want to update those Signature fields that you just created on the related record automatically. You can then use that information to setup workflows.


 

Configuring Email Templates

RS Signature does support Letterheads created in Salesforce. You can also use full custom HTML or plain text templates.

  1. Create an email template that is related to the object you are sending the document from and that you have related eSign Doc to via a lookup field.
  2. Add all your merge fields as you would normally. 
  3. Now you need to replace the base object part of the merge field with “esign__Document__c.” plus the api name of the lookup field on the eSign Doc object you created that relates it to the base object followed by “__r.”
    1. For example, lets say you have a lookup field on the eSign Doc object called “esign_Opportunity__c”.  And when you merge a field in the email template builder from the Opportunity it would merge {!Opportunity.Amount}.  So instead of “Opportunity” in that you would put “esign__Document__c.esign_Opportunity__r.” with a final merge field of {!esign__Document__c.esign_Opportunity__r.Amount}
      ****NOTE the importance of the double underscore after esign and Opportunity (would be the same double underscore for your merge field format with esign and object name).
    2. Basically you are merging the field from the eSign Doc object and need to have a merge field code that starts from the eSign Doc object through your lookup field to the field name on that related object.
    3. Optionally you could create a Formula field on the eSign Doc object and use the formula builder to merge the related field you want into that formula/text field.  Then you can build your email template from the eSign Doc object to merge the fields you want directly into the email template without needing to update anything in the merge field code since you are merging directly from the eSign Doc.  If you don’t want to create the formula fields on the eSign Doc object, then follow the steps above.
  4. Add link or button with eSign code to your email template.
    1. You have to have an eSignature link {!esign__Document__c.esign__eSign_Link__c} merged somewhere in the email body so the recipient can have the link to click to sign the document.
    2. You can put this link in any way you want with link text like “Sign Here” or with an image button clicking to the link (in HTML templates only).
    3. To link text you can use this code as example: <a href=”{!esign__Document__c.esign__eSign_Link__c}”>Sign Here</a>
    4. To use image button you first need your image to be uploaded to externally available source. You can upload it to your Documents tab in Salesforce and check the box Externally available. Then use image URL in the HTML code in your email, inside ” “, after scr=.
      Use the following code as example: <a href=”{!esign__Document__c.esign__eSign_Link__c}”><img alt=”Click Here to Sign” src=”http://rssignature.ramseysolutions.com/wp-content/uploads/2016/04/Email-Button.png” style=”width: 194px; height: 54px;” /></a>
  5. You can create a new email template that is being sent to the signer after the document is signed.  
    1. There is currently a default one that the app is using to notify the Signer of a completed document, it’s called “Document Signed Notification” and it comes with the app in a email template folder “eSign Templates”. Document Sign Notification template is used to notify signer as well as the person who sent the document. You can simply edit this template if you need to make some minor changes or if you want to modify the email template that is used for this notification. 
    2. You can also created a different template to notify the signer of completed document. To do this you need to create a new email template with the merge fields you want (with merged field logic described above).
    3. Then setup a workflow to set the value of eSign Doc.Document Signed Email Template field on eSign Doc object to the Salesforce ID of the email template that you just created.  Evaluate The Rule can be set to Create and “true” for criteria to make sure it always set.  But you can also place logic around workflows to use different email templates depending on the document being signed such as the name of the document or the object it is related to etc.
      Workflow-Step-1
      Workflow-Step-2

 


 

eSignature Common Errors

  1. Error Message:”Insert failed. First exception on row 0; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, esign.Document: execution of AfterInsert caused by: esign.Template.TemplateException: Target ids passed do not contain necessary id for object type ‘account’. (esign) : [] Error is in expression ‘{!SendForSignature}’ in component <apex:commandButton> in page esign:sendnewdocument: (esign).
    1. An error like this can happen when trying to “send document for signature” either on auto send or email preview. You can see it refers to “eSign template” which lets you know it is referring to an email template. You can also see the error is referring to first row on object ‘account’ so you can take a look at email template to where you see an account field trying to merge. When reviewing the email template, the merge fields did not have the eSignature app requirement to add “esign_Document__c.” before every field after the {! in the merge field.
    2. Please see the section in our documentation “Configuring Email Template” for more information.
  2. Error Message: “No Document Found
    1. If you are seeing this error message when clicking on eSign agreement link from email or from the eSign Doc record, it is most likely an issue with the user that granted access to the app under the eSign Configuration tab. Want to check that the user that granted access to the app is still “active” and an assigned user if using in Production org.
    2. It is best to grant access to the app under a user that is a “System Administrator.”
    3. If user is active and an administrator and error still persists, next step is to check the sharing settings on google doc template and use and if applicable, also the google doc folder that the template is going into. You want to make sure sharing settings are “anyone with link” or shared with the specific users that are using that template and/or google drive folder.
  3. Error Message: “eSign Server Error”
    1. You may see this error message when trying to click “Grant Access” under the eSign Configuration tab.
    2. Check your “Session Settings” and make sure these two fields are unchecked: “Lock Sessions to the IP Address from which they originated” and “Lock Sessions to the domain in which they were first used.” Once these fields are unchecked and settings saved, see if error is now resolved.

RS Signature Use Cases

  1. Use Case: I would like a copy of the signed PDF document to go directly to my Notes & Attachments related list on object record in addition to or in replacement of going to related list on the eSign doc record. Is this possible?
    Answer: You can setup a Workflow or APEX trigger to copy or move the attachment to the related record.


Custom Signature Completion URL

  1. If you would like to direct your customers to a custom url after they sign the document we can set up the url on the back end.
  2. Send the url you would like customers redirected to to support@ramseysolutions.com.
  3. When RS Signature redirects to this url it also will pass a value in the url “docid” with ?docid={esign__Document__r.esign__Encoded_ID__c}
  4. This is the value in the eSign Doc object called “Encoded ID”.
  5. Then if you want you can build a custom process using programming languages on the website that can use that value to lookup information about the eSign Doc record in Salesforce and all the related info and continue any process such as getting payment for this contract signed.

Feel free to contact us with any questions or help with any step of the process: support@ramseysolutions.com. Let us know if you feel like something is missing, we would love to hear your feedback!

2 Comments:

  • Matthew Dickinson on April 25, 2016 at 4:02 pm Reply

    I get this error message
    eSign server error. Email Open. Error occured when updating document with EncodedId (23f38b86-ffb0-4a99-9886-9138bccbe715) email open date in your organization.

    Can you assist?

    • Jenna Ramsey on April 26, 2016 at 9:59 pm Reply

      It is likely that someone deleted the eSign Doc record in Salesforce so the app can’t update the record in Salesforce. We are going to be removing this email notification in near future. Feel free to email support with any other questions at support@ramseysolutions.com.

Leave a Comment:

* - required fields

© 2015 Ramsey Solutions. All rights reserved.