PandaDoc Salesforce Integration: The Complete Setup Guide
To set up the PandaDoc Salesforce integration, install the PandaDoc managed package from the AppExchange, connect it to your PandaDoc workspace with an admin account, map your Salesforce fields to PandaDoc template variables, add the PandaDoc component to your Opportunity page layout, and enable status writeback so signed documents update the record. The install itself takes under an hour; making it a working system your reps actually use takes deliberate field mapping, pricing table wiring, and a proper cutover.
That second part is where most teams stall. Across the 129 sales calls we analysed, manual document creation was the top pain in 82 of them, and a large share of those teams already owned both the CRM and PandaDoc. The software was connected. The system was not. This guide covers both: the click-path to a clean install, and the configuration decisions that separate “the package is installed” from “reps generate accurate proposals from the Opportunity in minutes.”
Key takeaways
- The integration is a managed AppExchange package. It syncs Accounts, Contacts, Opportunities, Products, and Quotes into PandaDoc template variables, and writes document status back to Salesforce.
- Field mapping is the make-or-break step. Map the fields your team reliably fills in, not every field that exists: a variable mapped to an empty field produces a blank in the document and kills rep trust.
- Opportunity Products should flow into PandaDoc pricing tables automatically. If reps are re-typing line items, the integration is installed but not implemented.
- Status writeback turns PandaDoc events (sent, viewed, completed) into Salesforce fields you can automate on with Flow: stage advancement, notifications, fulfillment tasks.
- Plan requirements matter before you start: the package is free to install, but Salesforce data sync needs a paid PandaDoc plan, and Salesforce Professional Edition needs the API add-on.
- Test on real records, not test records, and close the old Word or PDF route on a named date. An integration that runs in parallel with the old way loses to the old way.
What the PandaDoc Salesforce integration actually does
The integration is a managed package that runs inside Salesforce. Once connected, it does four jobs:
- Data into documents. Values from Salesforce objects (Account, Contact, Opportunity, and related records) populate PandaDoc template variables, so a proposal opens pre-filled with the client name, deal terms, and pricing from the record.
- Line items into pricing tables. Opportunity Products, or Quote Line Items if you use Quotes, map into PandaDoc pricing tables with quantities, unit prices, and discounts intact.
- Documents from the record. Reps create, send, and track documents from a PandaDoc component on the Opportunity page layout, without switching tools.
- Status back to Salesforce. Document events write back to fields on the record: sent, viewed, completed, declined, with timestamps. Those fields can drive automation.
Everything in the rest of this guide is configuration of those four jobs. If any one of them is missing after your setup, you have a partial integration, and partial integrations are exactly what produces the workaround culture where someone on the team manually re-types deal data every few days. We have seen that pattern often enough that we have a name for it: the human Zapier. One team we spoke to had a person manually adding products into documents every few days as a standing job. The integration below makes that job not exist.
Before you install: prerequisites and decisions
Check the account requirements first:
- PandaDoc plan. The AppExchange package is free to install, but Salesforce data sync, template variables, and status writeback require a paid PandaDoc plan. Check your current plan includes the Salesforce integration before scheduling the rollout.
- Salesforce edition. Enterprise Edition and above include API access, which the integration needs. Professional Edition requires the API access add-on.
- Permissions. You need a Salesforce admin to install the package and a PandaDoc workspace admin to authorise the connection.
Then make two decisions that are much cheaper to make now than after rollout:
- Which object owns document creation? For most sales teams it is the Opportunity. If you quote through Salesforce Quotes or run Salesforce CPQ, it is the Quote. Pick one primary object and put the PandaDoc component there; scattering it across four layouts confuses reps about where documents live.
- Which fields will feed the documents? Walk through your most-sent proposal and list every value in it that exists in Salesforce. That list, not the full schema, is your mapping scope. This is the same scoping discipline that a full PandaDoc implementation starts with, and skipping it is the number one reason integrations stall.
Step 1: Install the managed package
Find PandaDoc on the Salesforce AppExchange and install the managed package into your org. Install for admins only at first: you will open it up to reps after configuration and testing, not before. During the install, Salesforce prompts you to approve access for the package; review and grant it.
If the install fails on permission errors or conflicts with a legacy package version, resolve that before going further. A half-installed package produces confusing behaviour later that looks like mapping problems but is not.
Step 2: Connect PandaDoc and set the integration user
Open the PandaDoc app inside Salesforce and sign in with a PandaDoc workspace admin account. This creates the link between your Salesforce org and your PandaDoc workspace.
Use a dedicated integration or admin identity rather than a personal account where you can. Connections authorised by an individual’s account break when that individual leaves or their permissions change, and the failure shows up weeks later as documents silently failing to sync.
Step 3: Map Salesforce fields to template variables
This is the step that decides whether the integration works. In PandaDoc, template variables (tokens) hold the dynamic values in a document. The integration fills them from the Salesforce fields you map.
Work from the field list you made in the prerequisites:
- Map standard fields first: Account name, Contact first and last name, Opportunity name, amount, close date.
- Add the custom fields your proposals actually use: contract term, renewal date, project scope fields, whatever your documents display.
- For every mapping, check the field is reliably populated on real records before the stage where reps create documents. A mapping to a usually-empty field is worse than no mapping, because it produces blanks that make reps distrust generation entirely.
Where a field you need is often empty, fix the process rather than the mapping: make it required at an earlier stage, or drop the variable. A template with 10 dependable variables beats one with 30 theoretical ones. The templates themselves deserve the same rigour: locked branding, editable variables, one master template per deal type. That is its own discipline, covered by our PandaDoc templates service page.
Step 4: Wire Opportunity Products into pricing tables
Pricing is where manual re-entry costs the most and where errors are most expensive. Configure the integration so Opportunity Products (or Quote Line Items) flow into the PandaDoc pricing table:
- Map product name, description, quantity, and unit price at minimum.
- Carry discounts through from Salesforce rather than letting reps apply them freehand in the document. Discounts belong in governable fields.
- Test with your ugliest real deal: multi-line, discounted, mixed one-off and recurring items. If that renders correctly, the simple deals will too.
If your pricing involves bundles, conditional options, or approval-gated discounts, the pricing table alone may not be enough, and you are in CPQ territory. See our PandaDoc CPQ service page for what that adds, and our comparison of running PandaDoc CPQ on Salesforce or HubSpot if you are deciding where the quoting logic should live.
Step 5: Add the PandaDoc component to page layouts
Add the PandaDoc Lightning component to the page layout of your chosen primary object, usually the Opportunity. This gives reps a Create Document button and a live list of documents on the record, with statuses.
Keep it to the primary object plus, at most, the Account. The goal is that a rep never asks “where do I make the proposal”: the answer is always “on the deal, where you already are.”
Step 6: Enable status writeback and build the automation
Configure the integration to write document status back to Salesforce fields: sent, viewed, completed, declined, plus timestamps. Then make those fields do work with Salesforce Flow:
- Advance the Opportunity stage when a document is completed.
- Notify the rep (email, or a Slack alert if you have that wired) when a proposal is first viewed.
- Create a fulfillment or onboarding task on completion.
- Flag Opportunities where a proposal has been out for more than a set number of days with no view.
Writeback is what turns the integration from a convenience into a system: pipeline reality and document reality stop being two separate things a human reconciles. Skip it and you keep the human Zapier, just for status instead of products.
Step 7: Test on real records, then cut over
Test with live data before rollout:
- Generate documents from five to ten real Opportunities, including at least one messy one: long product list, discounts, a custom field with unusual characters.
- Check every variable filled, the pricing table matches the record to the cent, and writeback lands within a minute of each status change.
- Have one rep, not an admin, run the flow end to end and note every point of hesitation.
Then roll out deliberately: short role-based training, a first-week target of every rep sending at least one real document through the new flow, and a named date when the old route (Word, PowerPoint, duplicated PDFs) is closed. Teams that run old and new in parallel indefinitely drift back to the old way, because habit always wins a tie. The full playbook for this stage is in our PandaDoc onboarding service, and the payoff is the number that matters: teams we work with typically start at 45 to 50 minutes per proposal and get to minutes once generation runs from the CRM record.
The four ways Salesforce PandaDoc setups fail
Having rescued a fair number of stalled setups, the failure points are consistent:
- Mapped-but-empty fields. The mapping exists, the data does not, documents generate with blanks, reps go back to typing. Fix the data discipline or drop the variable.
- Installed but not implemented. The package is connected, but there are no real templates, no pricing table wiring, and no writeback. Reps see no benefit, so nothing changes. Being “integrated” was never the goal; generating accurate documents in minutes was.
- Pricing outside the system. Line items live in a spreadsheet, get pasted into documents, and Salesforce never knows what was actually quoted. Everything downstream (forecasting, reporting, renewals) inherits the gap.
- No cutover. The new flow works, and the old one is still open. Adoption decays week by week until the integration is shelf-ware. Close the old route on a date, publicly.
If you recognise your own setup in that list, the repair is usually faster than the original build, because the workarounds show you exactly what is broken.
PandaDoc Salesforce integration FAQ
How long does the PandaDoc Salesforce integration take to set up?
The package install and connection take under an hour. A working setup with mapped fields, wired pricing tables, tested templates, and status writeback typically takes 2 to 5 days for a standard org. Custom objects, Salesforce CPQ line items, or multiple business units make it a multi-week project, with field mapping decisions, not technical work, driving most of the timeline.
Does the integration work with Salesforce CPQ?
Yes. PandaDoc can pull Quote and Quote Line Items from Salesforce CPQ into pricing tables, preserving discounts and tiered pricing. The mapping is more involved than a standard Opportunity setup, especially for bundles and configurable options, so budget more configuration and testing time.
Can PandaDoc update the Opportunity when a proposal is signed?
Yes. Status writeback puts document events (sent, viewed, completed, declined) and timestamps on Salesforce fields, and from there Salesforce Flow can advance the stage, notify the owner, or create follow-on tasks. This is one of the highest-value parts of the integration and the one most often left unconfigured.
What does the integration cost?
The AppExchange package is free to install. Using it requires a paid PandaDoc plan that includes the Salesforce integration, and Salesforce Professional Edition orgs need the API access add-on, while Enterprise Edition and above include API access. Check both vendors’ current pricing pages before committing, as plan packaging changes.
Can documents be generated automatically, without a rep clicking Create?
Yes, with additional configuration. Document creation can be triggered from record changes, such as an Opportunity reaching a set stage, so the proposal is drafted and pre-filled before the rep opens it. Most teams start with rep-initiated creation, prove the data flow, then add stage-triggered automation once the templates and mappings are trusted.
Get the integration implemented properly
The AppExchange listing gets you connected. The PandaDoc Salesforce integration page covers what we build on top of that connection: mapped fields that fill reliably, pricing tables driven by Opportunity Products, writeback automation, and a rollout your reps stick with. If your integration has been “set up” for months and proposals are still assembled by hand, that gap is precisely what we fix.