Note:This guide covers the functionality of the latest 1.45 version of the PandaDoc <> Salesforce integration.
Salesforce: "Essentials", “Professional”, “Enterprise”, “Unlimited”, or “Developer edition”.
What can you do with the integration?
- Create and send documents from Salesforce Opportunities, Leads, Contacts, Accounts, or Custom objects records;
- Pull Salesforce records information into PandaDoc documents;
- Automatically populate pricing tables with Salesforce products;
- Use Salesforce contacts as document recipients;
- Sync data between Salesforce and PandaDoc (not available on Group and Professional editions)
Connect PandaDoc and Salesforce
Note:view our setup guide found in the bottom right corner of the Salesforce tab in PandaDoc for a quick and easy integration setup.
- In PandaDoc, go to “Settings” > “Integrations” > Click on “Salesforce” > choose where you would like to enable the integration: Sandbox or Production environment
- You may need to log into Salesforce at this point. Click “Allow” to authorize PandaDoc access to Salesforce
- Your PandaDoc account is now connected to Salesforce. Proceed to installing the PandaDoc package on AppExchange as described in the next section
Install PandaDoc package on AppExchange
Note:You must have Salesforce Admin rights to install the PandaDoc module and configure it.
- Log into your Salesforce account: https://login.salesforce.com/
- You can find our application on SFDC AppExchange;
- Click on “Get It Now”;
- Click on “Install for All Users”, then click “Upgrade/Install”;
- Select, “Yes, grant access to these third-party web sites” and Click “Continue.”
- The installation process will start and might take a while. Click “Done” once it’s finished.
Configure the PandaDoc module for a Salesforce object
Note:The below instructions showcase Opportunity configuration but you can use this guide for any other object.
Warning:Salesforce account must have a My Domain to use the PandaDoc Lightning component.
- Open an Opportunity record
- In the top right corner, click the gear icon > Edit Page
- You will be transferred to the Edit mode where you can add the PandaDoc module to the page layout
- On the left panel, scroll down and find the PandaDoc Documents Lightning component
- Drag and drop it on the page layout, wherever you like
- You can add as many PandaDoc components as you like
- When you add it, adjust the component height and the display mode: Related documents will show all documents created from an Opportunity, Template selection will show templates to create documents from
- Save and Activate the component by clicking "Save" and "Activation" in the top right
Pass data from SFDC into PandaDoc
Important information about tokens:Although tokens can automatically populate information in your document, they can only be added/edited in templates, not documents.
Note:if you want to pass data to PandaDoc which would be editable for Recipients, refer to paragraphs below with the prefix “(via Fields)”.
Passing Salesforce fields into PandaDoc (via tokens)
Before setting up your template with tokens, create a tokens list for each object you will use PandaDoc with.
Note:tokens must be setup for each object individually. Only the tokens listed in that particular object will be available when creating a document from it (no cross-object population.)
- For that, click your App Launcher button, and go to Pandadoc Setup. Scroll down to “Salesforce to PandaDoc data flow” and click “Configure tokens”;
- Next, choose an object you want to modify tokens list for. If you have PandaDoc installed in another object, click “Add object”;
- You will see a default list of tokens on the right. To add more, check the fields you want to add to the tokens list and click “Save”;
- Open your PandaDoc template in a separate browser window, copy & paste Token names with the square brackets into the template.
- When you create a document from Salesforce using this template, the tokens will be filled out with the information from the CRM.
Warning:Encrypted text field cannot be passed through a token!
Note:in case the field in Salesforce is empty, the Token in the document will not be populated and you will have to fill it in manually.
Passing Salesforce fields into PandaDoc (via Fields)
Similar to tokens, you can pass data into PandaDoc fields. Unlike the tokens, you will not need the square brackets.
Refer to this setup if you're using uploaded templates.
In the list of tokens found in Tokens list, copy the Token without the square brackets into the “Title” of the PandaDoc textfield.
Once the document is sent, the Recipient will see the data pre-filled and they will be able to update this field on their end.
Passing Recipients from Salesforce to PandaDoc
Note:Passing recipients info best works with PandaDoc Roles. Learn how to setup Roles on a Template here.
By default Salesforce pushes the following recipient information depending on an object where your PandaDoc module is located:
- from Opportunity: Contact Role info
- from Account: Contact info + possible to push Account info
- from Lead: Lead info
- from Contact: Contact info
- from Quotes: Contact info
You can configure which field from Salesforce will be mapped to a Role in PandaDoc as well as set up which fields will be sent as the following parameters:
- First name
- Last name
- Company field
- Phone field
- Role field
- Go to the App Launcher > “Pandadoc Configure Recipients”;
- You will see default mapping for default objects. You can change them or add new mapping for custom objects.
If you want PandaDoc to automatically map recipient to specific Role, you need 2 things:
- Role field configured in the Recipients mapping;
- Have identical Role names in Salesforce and in PandaDoc template;
If you have this setup right, PandaDoc will insert respective Recipient into the respective role when you will be creating documents.
Note:PandaDoc pulls all related contacts from Salesforce into the document. If you want to remove any, delete them on the role popup window or in recipients section on the document.
You can filter contacts that get transferred into PandaDoc documents as recipients based on yes/no fields in a record (aka Boolean fields).
- Go to App Launcher > PandaDoc Setup > Configure Recipients;
- Scroll down to "Recipients Filtering";
- Click "Enable Filtering";
- Choose a field based on which value recipients will be filtered;
- Choose the value of the field based on which recipients will be filtered: true - yes, false - no.
If you have set up Recipient mapping for Accounts, you can then configure it to pass this Account info (email, phone # and etc) as a Recipient to PandaDoc.
For that, go to PandaDoc Setup -> Scroll down to JSON Builder Settings, next to the Account Object name click “Setup” -> Tick the box next to “Send Account as recipient” and click “Save”.
Salesforce Contact Roles and PandaDoc Template Roles cannot have 2 contacts assigned to one role.
Passing product data into Pricing Table
PandaDoc can be configured to pick Products from an Opportunity, Leads, Contacts or Account and add them to a pricing table in a document.
You can map product fields of an object to PandaDoc pricing table fields to pass data even more accurately.
- Go to PandaDoc Setup > PandaDoc Configure Pricing Items;
- Add an object you want to pass product data from and select which fields exactly you want to map, click “Save” once done;
Now, just make sure your Opportunity, Lead, Contact or Account has products added. Then open your PandaDoc template, add a pricing table. In the right-hand settings, switch the toggle "Automatically add products to this table" to ON position.
Note:Products might be passed to PandaDoc in an order different than the one listed in the Opportunity.
Pass custom product fields into pricing table
- To view products' custom fields you can pass, go to App Launcher > Pandadoc Setup. Scroll down to “Salesforce to PandaDoc data flow” and click “Configure tokens”;
- Next, choose "Opportunity Product";
- You will see a default fields list on the right. To add more, check the fields you want to add on t he left and click “Save”;
- Don't forget to add your custom product information into your opportunity record.
Now you need to configure PandaDoc pricing table to accept custom product fields.
- Open your existing PandaDoc Template, find and click on your pricing table block.
- Click on “Add column” at the top right of the pricing table block to add a blank&plain column.
- Click on the column header and add the “Field Label” of the “Custom Product Field” you want in the pricing table.
- In the right sidebar, you will see “Column” settings. Check the box “Map column to custom field.”
- In the “Custom Field” box, enter in the “Product2.API Name.” For example, “Product2.Special_Notes.c” (you can find it in the products' custom fields and relationship section in Salesforce.)
Create and Send documents
Now that you've created and set up your template, you can proceed to creating and sending documents from Salesforce.
- Go to a record, find the PandaDoc module, click "New Document";
- Choose your template and assign recipients to roles, if applicable;
- Click "Start editing" and check your document: tokens, content, recipients list, reminders and Send your document;
- You can now go back to the record in Salesforce and track your document status;
- When a document is completed, its .pdf will show up under Files in the record. (Although it is a part of the 2-way sync functionality, it's enabled by default when you install the PandaDoc package.)
Add Files in your Object view
If you do not see Files in your object, you may need to add it to your object view.
To do this you will need to go back to the Object’s Page Layouts in the settings:
- From the Home screen, look in the top right corner for the Setup gear;
- Once in the Settings page, go into the Object Manager list and select Opportunity;
- In the Opportunity, go to Page Layout, and select Opportunity Layout;
- From the Opportunity Layout page, use the top toolbar to and find Related Lists in the toolbar and add Files under related lists, then save;
- Double check your Opportunities to ensure Files can now be seen from the page.