Skip to content
Help Center

PandaDoc integration overview

View Markdown Contact support Contact support 5 min read
On this page

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

  1. In PandaDoc, open Settings > API and Integrations > API and turn on API and Webhooks.
  2. Open the Dev Center and go to Configuration > API key.
  3. Create a sandbox key, or generate a production key if your plan has one, and copy it.
  4. In the Persona Dashboard, go to Integrations > Marketplace and select PandaDoc.
  5. Click Add Credential, enter a nickname for the credential, and paste the API key.
  6. 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

  1. Create a Workflow, or open the Workflow you want to update.
  2. Add an Action step and select Integrations.
  3. Select PandaDoc, choose the saved credential, and select an action.
  4. Map Persona data to the action’s input fields.
  5. 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:

  1. Create document from template. The document starts in the document.uploaded status.
  2. Get document status until the status is document.draft. This usually takes a few seconds. document.error means creation failed; check the template ID, role names, and field names.
  3. Send document. The status moves to document.sent, and each recipient receives an email with their own signing link.
  4. Get document status again to follow progress. The status moves to document.viewed when a recipient opens the document and document.completed once 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.Company for [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 ProgramEssential PlanGrowth PlanEnterprise Plan
PandaDoc IntegrationNot AvailableNot AvailableLimitedAvailable

Learn more about pricing and plans.

Was this page helpful?If something is missing, let us know and we will take a look.
Thanks for the feedback. It helps us improve these docs.