Overview
PandaDoc is a document automation platform for building proposals, quotes, and contracts from reusable templates, sending them for electronic signature, and tracking each document from draft to completion.
Persona’s PandaDoc integration lets a Workflow create a document from one of your PandaDoc templates, fill in its recipients and variables with Persona data, send it for signature, and check its status. For example, a Workflow can send an agreement to an individual once their identity has been verified.
Integration features
The PandaDoc integration supports these Workflow actions:
- List templates: List the templates in your PandaDoc workspace.
- List documents: List documents, filtered by status, template, tag, or creation date.
- Create document from template: Create a document from a template, with recipients, variables, and field values.
- Get document status: Return a document’s current status.
- Send document: Send a draft document to its recipients by email.
Prerequisites
Before configuring the integration, you need:
- A PandaDoc account on a plan with API access. PandaDoc offers sandbox API keys on its free trial and on the PandaDoc Business and Enterprise tiers; production keys need approval from PandaDoc.
- At least one template in your PandaDoc workspace, with at least one role (for example
Client) and a signature field assigned to that role. Templates from PandaDoc’s public gallery cannot be used until they are saved in your workspace.
API keys belong to the PandaDoc user who creates them and inherit that user’s permissions. If the user is removed from the workspace, their keys stop working, so create the key as a long-lived user.
Set up PandaDoc credentials
- In PandaDoc, open Settings > API and Integrations > API and turn on API and Webhooks.
- Open the Dev Center and go to Configuration > API key.
- Create a sandbox key, or generate a production key if your plan has one, and copy it.
- In the Persona Dashboard, go to Integrations > Marketplace and select PandaDoc.
- Click Add Credential, enter a nickname for the credential, and paste the API key.
- Save the credential.
Paste only the key itself. Persona adds the API-Key prefix that PandaDoc expects, so do not type it yourself.
Use PandaDoc in a Workflow
- Create a Workflow, or open the Workflow you want to update.
- Add an Action step and select Integrations.
- Select PandaDoc, choose the saved credential, and select an action.
- Map Persona data to the action’s input fields.
- Save and publish the Workflow.
How a PandaDoc document moves through a Workflow
PandaDoc builds a new document asynchronously, so a document cannot be sent the moment it is created. A Workflow that creates and sends a document follows this order:
- Create document from template. The document starts in the
document.uploadedstatus. - Get document status until the status is
document.draft. This usually takes a few seconds.document.errormeans creation failed; check the template ID, role names, and field names. - Send document. The status moves to
document.sent, and each recipient receives an email with their own signing link. - Get document status again to follow progress. The status moves to
document.viewedwhen a recipient opens the document anddocument.completedonce everyone has signed.
If your PandaDoc workspace requires approval before sending, Send document moves the document to document.waiting_approval and nothing is emailed. Once an approver approves it in PandaDoc, the status is document.approved, and you call Send document again to send it.
PandaDoc actions
List templates
Returns the templates in your workspace, most recently modified first. Use a template’s ID as the Template ID when creating a document.
Optional fields: Search, Tags, Shared Only, Deleted Only, Page Size, Page.
List documents
Returns documents in your workspace. Use it to find a Document ID.
Optional fields: Search, Status, Template ID, Tag, Created From, Created To, Deleted Only, Sort By, Page Size, Page.
Create document from template
Creates a document from a template, assigning recipients to the template’s roles.
Required fields:
- Template ID
- Recipients: Each recipient needs an email address. Assign each one a Role from the template so they get that role’s fields; role names are case-sensitive and must match the template exactly, so check them in the PandaDoc template editor. First Name, Last Name, and Signing Order are optional.
Optional fields:
- Document Name
- Variables: Values for the template’s variables, named without brackets, for example
Client.Companyfor[Client.Company]. - Fields, Metadata, and Tags
Get document status
Returns a document’s current status.
Required fields: Document ID.
Send document
Sends a draft document to its recipients by email and finalizes its content. The document must be in the document.draft status.
Required fields: Document ID.
Optional fields: Email Subject, Email Message, Send Silently, Sender.
FAQs
Why does Send document return a 409 error?
The document is not in the document.draft status yet. Use Get document status until it reaches document.draft, then send it.
Why is sending rejected with a sandbox key?
With a sandbox key, PandaDoc only sends to recipients on the same email domain as your PandaDoc account and rejects other addresses with 403. Documents created with a sandbox key also get a [DEV] prefix on their name. Use a production key for real recipients.
Does PandaDoc limit API requests?
Yes. Sandbox keys are limited to 10 requests per minute per endpoint. Production limits are per user over a 60-second window: 500 per minute for creating documents, 400 per minute for sending, and 2,000 per minute for listing and status checks. PandaDoc returns HTTP 429 above a limit.
Plans Explained
PandaDoc Integration by plan
| Startup Program | Essential Plan | Growth Plan | Enterprise Plan | |
|---|---|---|---|---|
| PandaDoc Integration | Not Available | Not Available | Limited | Available |