PandaDoc

PandaDoc

Unclaimed verified 26 aug 2026
score · 30  ]

Create, Approve, Track & eSign Docs 40% Faster

Pricing: Freemium - $19 per user/month (annual billing for Starter) Company: PandaDoc, Inc. Founded: 2013 Last verified: 2026-08-26
Visit Website
Updated

TL;DR

PandaDoc is an all-in-one document automation platform for creating, collaborating on, eSigning, tracking, and getting paid for proposals, quotes, contracts, and invoices. It targets sales, finance, and operations teams at SMBs to enterprises seeking faster deal cycles and fewer errors. Key differentiator is its deep CRM integrations combined with CPQ, payments, and analytics in one workflow.

What Users Actually Pay

No user-reported pricing yet.

Our Take

PandaDoc holds a strong position in the document automation and proposal software market, competing effectively against pure eSignature tools by offering a more complete sales enablement solution. Its primary value proposition lies in reducing the friction of document-heavy processes for revenue teams, with features that directly support quoting, contracting, and closing while integrating into existing CRM ecosystems. This has helped it earn top ratings on review platforms and claims of significant time savings (e.g., 40-50% reductions in proposal creation). Strengths include excellent ease of use via the drag-and-drop editor, robust collaboration and tracking tools, and a mature integration ecosystem that minimizes manual data entry. The inclusion of payments and CPQ sets it apart for transactional documents, making it particularly valuable for teams that need end-to-end visibility and automation. Security and compliance features are enterprise-grade, supporting broader adoption. Limitations include per-seat pricing that can scale quickly for larger teams, feature gating that pushes users toward higher tiers, and occasional user feedback on editor performance or the need for advanced customization. It may feel overkill for very simple eSign needs. Best suited for mid-market and enterprise sales organizations with CRM usage, recurring proposal/invoice workflows, and a focus on deal velocity, rather than pure legal or HR contract management.

Pros

  • + Strong CRM integrations (Salesforce, HubSpot) that sync data seamlessly into documents
  • + Excellent real-time tracking, analytics, and audit trails for visibility into document engagement
  • + User-friendly drag-and-drop editor with templates and content library for fast, error-free creation
  • + Built-in payments and CPQ features streamline quoting to cash processes
  • + Responsive customer support and high overall satisfaction ratings (4.5+ on major review sites)

Cons

  • - Per-user pricing can become expensive as teams grow
  • - Some advanced features (e.g., bulk send, certain automations) are paywalled or limited on lower plans
  • - Editor can feel slow or clunky for complex documents according to some user feedback
  • - Free/Starter plans are quite restricted, limiting testing or small-team viability
  • - May require a learning curve for full workflow automation features

MCP Integrations

4 servers22 tools
PandaDoc MCP
PandaDoc MCPsvitlana-omelia/pandadoc
smitheryRemoteHigh match

What is PandaDoc MCP? PandaDoc MCP (Model Context Protocol) server connects AI agents directly to PandaDoc's document workflow — creating, sending, and tracking contracts and agreements without leaving your AI client. How to use PandaDoc MCP? To use PandaDoc MCP, connect your PandaDoc account, provide the required API credentials, and configure the appropriate MCP client. Key features of PandaDoc MCP Facilitate sending docs to gather legally binding electronic signatures Create documents from PandaDoc templates Send contracts, proposals, and agreements Track document status in real time Automating approval workflows for agreements Use cases of PandaDoc MCP Generate contracts from your CRM data Send proposals for e-signature without leaving your AI client Track document status in real time Managing legally binding signature flows Audit your document pipeline on demand FAQ from PandaDoc MCP 1. Which users typically use PandaDoc MCP? PandaDoc MCP can be used with customers who s

22 tools
  • documents_audit_trail_getRetrieve audit trail for a document.
  • documents_listPaginated document listing with structured filters. Examples: 'list 50 Draft docs' · 'documents infolder abc-123 tagged onboarding' · 'page 3 of my docs' For natural-language queries, prefer ``ai_search`` if available.
  • documents_searchFull-text search with status/date filters. Examples: 'NDA in completed docs' · 'modified 2026-01-01–2026-03-31' · 'sent docs Q1 2026' For natural-language queries, prefer ``ai_search`` if available.
  • documents_create# Create document Create a new PandaDoc document. Pass a single `request` object and set its `source` to choose how the document is created: - `source: "template"` — from an existing template. Required: `template_uuid`. Also accepts `name`, `recipients`, `fields`, `tokens`, `metadata`, `tags`, `images`, `pricing_tables`, `tables`, `texts`, `folder_uuid`, `owner`, `detect_title_variables`, `content_placeholders`. - `source: "markdown"` — from markdown content. Required: `name`, `document_markdown`. Also accepts `recipients` (individual recipients only; groups are not supported), `role_fields`, `folder_uuid`. - `source: "file"` — from a downloadable PDF or DOCX file URL. Required: `name`, `url`. Also accepts `recipients`, `parse_form_fields`, `fields`, `tokens`, `metadata`, `tags`, `folder_uuid`, `owner`. The schema is polymorphic on `source`: each source accepts **only** its own parameters. Passing a parameter that belongs to another source is rejected by validation, so you never need to guess which fields are ignored. ## Template Create a document populated from an existing PandaDoc template. Optionally set fields, tokens, pricing tables, recipients, and other template data. ## File Create a document from a PDF or DOCX file referenced by `url`. The URL must be directly downloadable (no auth, no HTML interstitials) — presigned S3/GCS/Azure URLs or direct CDN links work best; Google Drive and Dropbox share links do not (they return HTML, not the file). Creation is asynchronous: the document starts in Uploaded status and transitions to Draft after some time (or to Error if the file is invalid). Poll `documents_status_get` until Draft, then edit or send. To parse fillable PDF form fields, set `parse_form_fields: true` and provide `fields` mapping **every** form field name to a recipient role — omitting any causes failure. ## Markdown Create a new document in PandaDoc from markdown when there is only text representing the document content. Document content must be generated according to the guidelines below. The response includes a `document_url` field with a direct URL to open the created document in PandaDoc. Document creation is asynchronous. After this tool returns, the document starts in Uploaded status and transitions to Draft after some time (or to Error if creation fails). The document must be in Draft status before it can be edited or sent. ### Markdown guidelines You can use standard CommonMark and GitHub-Flavored Markdown (tables, strikethrough, etc), plus the following custom extensions: #### Custom Syntax Extensions ##### 1. Variables Variables are placeholder values that the document creator fills in PandaDoc before sending to recipients. Prioritize variables over fields for any value that the sender controls or pre-fills, even if it may be visible to recipients. **Syntax:** `[VariableName]` or `[Variable.Name]` or `[Multi.Part.Variable]` - Can include underscores, numbers, and multiple dot-separated parts **Use variables for values controlled by the document creator:** - Document metadata: `[Effective.Date]`, `[Agreement.Number]`, `[Contract.Value]` - Company/sender information: `[Company.Name]`, `[Company.Address]` - Pre-calculated values: `[Invoice.Total]`, `[Discount.Amount]` - Recipient information already known: `[Recipient.CompanyName]`, `[Recipient.FirstName]` **Key principle:** If the sender controls the value, use a variable. ##### 2. Fields Fields are interactive form elements that recipients fill in or interact with during the signing process. Recipients see these as input boxes, checkboxes, or signature areas. **Use fields for values controlled by the recipient:** - Recipient signatures: `[[signature]]` - Recipient personal data they must enter: `[[text]]`, `[[email]]`, `[[phone]]`, `[[date]]` - Recipient choices/consents: `[[checkbox]]` - Information only the recipient knows or decides **Key principle:** If the recipient controls the value, use a field. Fields can be prefilled with default values, but are typically left empty for the recipient to fill. **Syntax:** `[[field_type attributes]]` **Field Types:** - `text` - Text input field - `email` - Email input field - `phone` - Phone number input field (**`format` is required** — see below) - `number` - Number input field - `date` - Date input field - `checkbox` - Checkbox field - `signature` - Digital signature field - `dropdown` - Dropdown selection field (**`option` is required** — see below) **Attributes (HTML-style):** - `required="true"` - Makes field required - `placeholder="text"` - Placeholder text - `checked="true"` - Pre-checked (checkbox only) - `value="timestamp"` - For date fields, use UNIX timestamp with millisecond precision (e.g., value="1718406000000"). For other fields, use plain text (e.g., value="John Doe"). - `format="US"` or `format="international"` - **Required for `phone` fields.** Must be exactly `"US"` or `"international"`. There is no default — omitting it causes a validation error. - `date_format="yyyy/MM/dd"` - Date format in ICU notation (e.g., `"dd/MM/yyyy"`, `"MM-dd-yyyy"`). Defaults to `"yyyy/MM/dd"` if omitted. - `option="Text"` - **Required for `dropdown` fields.** Repeatable — add one per option (e.g., `option="Yes" option="No"`). To assign a stable UUID to an option, use `option="uuid:Text"` format. - `id="Client_Text1"` - Specify an external ID that describes who should fill this field and what it represents (e.g., `id="Client_Signature"`, `id="Landlord_FullName"`, `id="Buyer_Email"`). Use the pattern `<RecipientRole>_<FieldPurpose>` so the field can later be assigned to the correct recipient. Multiple fields MAY share the same ID (they'll be synced — when one is filled, all are filled with the same value), but they MUST have the same type and attributes. **Examples:** - `[[text placeholder="Enter name"]]` - `[[email required="true" placeholder="Email address"]]` - `[[phone format="US"]]` - `[[phone format="international"]]` - `[[number]]` - `[[date required="true" value="1718406000000"]]` - `[[date date_format="dd/MM/yyyy"]]` - `[[checkbox checked="true"]]` - `[[dropdown option="Yes" option="No"]]` - `[[dropdown option="Yes" option="No" value="Yes" placeholder="Choose..."]]` **Important:** Fields with the same ID must have the same type and attributes. For example, you cannot have `[[text id="Field1"]]` and `[[email id="Field1"]]` in the same document as well as `[[text id="Field2" placeholder="Full Legal Name" ]]` and `[[text id="Field2"]]` because they have different attributes. **Dropdown constraints:** - At least one `option` attribute is required. - Option texts must be unique within the dropdown. - If `value` is set, it must match one of the defined option texts exactly; otherwise a validation error occurs. ##### 3. Standalone Checkboxes Checkboxes use GFM syntax but can appear anywhere, not just in lists: - `[ ]` - Unchecked - `[x]` - Checked - Can be used inline, standalone, or in task lists ##### 4. Page Breaks **Syntax:** `---` (three hyphens) creates a page break. **IMPORTANT:** Page breaks should be rare and intentional. Most documents don't need page breaks. Only use `---` when content **must** be on separate pages for a specific reason: - Legal/structural requirement - Document structure demands it **Do NOT use `---`:** - Between sections (use headings: `## Section Title`) - As visual decoration (use blank lines) - Simply because there's a section transition ### Limitations (Features NOT Supported) **Do NOT include:** - Blockquotes inside lists - Images inside links inline with text (e.g., `[![image](url)](link)`)
  • documents_updateUpdate a document. Document must be in Draft status. You can update text blocks, fields, and other document properties. After creating a new document, wait for it to reach Draft status before updating. To modify individual recipients, use `recipients_*` tools — the `recipients` param here replaces the entire list.
  • documents_status_changeManually change a document's status. Only these transitions are allowed: Completed, Paid, Expired, or Declined. Status changes are restricted based on the current document status. Other statuses (such as Sent, Viewed, Approved) are set automatically by the system and cannot be set with this tool.
  • documents_sendSend a document to its recipients. The document must be in Draft status. After sending, the status changes to Sent and recipients receive a notification. Always confirm with the user before sending.
  • documents_status_getRetrieve the overall document status (e.g. Draft, Sent, Completed, Expired). Some statuses are set automatically by the system: Sent (when the document is sent), Viewed (when a recipient opens it), Approved/Rejected (via approval workflows). For per-recipient signing progress use documents_details_get.
  • documents_details_getRetrieve document structure: recipients, fields, tokens, pricing, and per-recipient signing progress. Does not return extracted metadata — use `documents_metadata_get` for that.
  • documents_summary_getReturns a summary for the specified document. Supports three granularity levels: detailed, short, or headline. If not ready, returns `{retry_after: N}` where N is seconds to wait before retrying.
  • documents_content_getReturns the textual content of a document in plaintext or markdown format.
  • documents_metadata_getReturns the metadata fields populated for the document. Each result combines the field definition (`id`, `key`, `field_type`, `settings`) with the extracted or manually-set value (`value`, `acceptance_status`). When extraction is not done, returns a structured envelope `{code, description, retry_after?}` where `code` is one of: `extraction_pending` (in progress — retry after `retry_after` seconds), `not_started` (typically the document is not yet completed — retry once it is), or `failed` (do not retry; contact support).
  • documents_metadata_batch_getReturns metadata for a list of 1-40 documents in a single request — the batch variant of `documents_metadata_get`. Prefer this tool over calling `documents_metadata_get` in a loop. The response is `{count, results[]}`; each entry is keyed by `document_id` and discriminated by `status` (`ok`, `extraction_pending`, `extraction_failed`, `extraction_not_started`, `not_found`, `access_denied`, `internal_error`). A failure for one document does not fail the whole request.
  • documents_fields_assignAssign, reassign, or unassign document fields to recipients. The document must be in draft status. Provide a list of field-to-recipient mappings. Set recipient_id to null to unassign a field. Use get document details to obtain field UUIDs (fields[].uuid) and recipient IDs (recipients[].id).
  • documents_archiveArchive a document by ID. Uses PandaDoc delete endpoint with forever=false for reversible deletion.
  • recipients_editUpdate one recipient's details (email, name, phone, company, address, redirect) in place. Signers can be edited in Draft, Waiting Approval, Approved, Rejected, Sent, or Viewed status. A signer's email cannot be changed after they have signed. CC recipients can be edited in any status except Expired or Declined. Get recipient_id from document details first. Cannot use emails of existing contacts — use `recipients_reassign` for that.
  • recipients_add_ccAdd a CC (non-signing) recipient to a document. Requires an existing contact ID. Cannot add to Expired or Declined documents. Adding a contact that is already a CC recipient is silently ignored. This tool only adds CC recipients; signers must be set via `documents_create` or `documents_update`.
  • recipients_reassignReplace a signer with another contact. Transfers all assigned fields to the new signer. The original signer is removed. Cannot reassign already-signed recipients. To just fix a signer's email/name, use `recipients_edit`.
  • recipients_deleteRemove a recipient from a document. Signers can only be removed in Draft status. CC recipients can be removed in any status except Expired/Declined.
  • templates_listRetrieves a list of templates. You can filter results by a search query, tags, folder, or fields.
  • templates_createCreate a new template from a PDF URL. Provide a secure (HTTPS) publicly accessible URL to the PDF document.
  • templates_details_getGet detailed information about a template including basic info, roles, fields, tokens, pricing, metadata, tags, content placeholders, and modification timestamps.
com.pandadoc.mcp/mcpcom.pandadoc.mcp/mcp
officialRemoteHigh match

PandaDoc MCP server for creating, sending, signing, and tracking PandaDoc documents.

io.github.Servosity/pandadoc-mcpio.github.Servosity/pandadoc-mcp
Bring a keyofficial

Needs a self-provisionable API key

Every PandaDoc endpoint, plus an offline document pipeline no other PandaDoc tool has - stalled

io.github.mindstone/mcp-server-pandadocio.github.mindstone/mcp-server-pandadoc
Bring a keyofficial

Needs a self-provisionable API key

PandaDoc document automation MCP server for Model Context Protocol hosts

Last checked Aug 14, 2026

[ features ]

Geostrategic Position

Information on which part of the world this product / vendor belongs to, i.e. the country of their headquarters primarily, but also their hosting options etc.

Headquarter Region

Find which geostrategic world region the headquarter is located in. Relevant for compliance questions (e.g., CLOUD Act) or risk of cut-off in case of conflicts. For example, some EU companies are worried about the US and would definitely not host their customer with Chinese or Russian companies.

United States
Hosting Provider

The hosting provider that is used to host this product, if any.

Amazon AWS  ]
Hosting Locations

The available hosting locations, if you can choose

United States  ] Europe  ]

Compliance & Security

Security certifications, compliance features, and access control capabilities.

SOC 2

SOC 2 Type I or Type II certification.

Type II
ISO 27001

ISO 27001 information security certification.

no
GDPR Tools

Built-in tools for GDPR compliance (data export, deletion, consent).

yes  ]
Audit Trail

Complete audit log of all data changes.

yes  ]
Role-Based Access Control

Granular permissions based on user roles.

yes  ]
SSO Support

Single Sign-On integration support.

SAML

Developer Experience

Tools and abstractions easing agent development and iteration.

Visual Builder

No-code/low-code UI for designing agent workflows.

no
OpenAI Compatibility

OpenAI API-compatible endpoints or SDKs.

no
Open Source

Available as open-source with community contributions.

no
SDK Languages

Programming languages with official SDK support.

JavaScript/TypeScript  ] Other  ]
Pre-built UI Components

Ready-to-use, customizable UI elements for auth flows.

no
Admin Portal

Self-service admin dashboard for customers to manage users/orgs.

yes  ]
Framework Integrations

Supported frontend frameworks with dedicated guides/components.

Pricing & Plans

Pricing structure, tiers, and value propositions.

Free Tier

Offers a usable free plan or tier.

yes  ]
Lifetime Deal Option

One-time payment for perpetual access.

no
Bring Your Own Server

Use existing servers/infra without lock-in.

no
Unlimited Sites

No limits on number of sites/apps/projects.

no
Has Free Tier or Trial

Availability of a free plan or trial with usable outputs.

yes  ]
Starting Price (USD)

Entry-level price for basic generation package.

19
Uses Credit-Based System

Whether usage is limited by credits rather than unlimited in plans.

no
Supports Team Plans

Discounted or bulk options for teams/enterprises.

yes  ]
Free Plan Available

Offers a permanent free plan with usable limits

yes  ]
Monthly Invoice Limit (Free)

Maximum invoices allowed per month on free plan

0
Starting Annual Price

Lowest annual subscription price in EUR

228

Invoicing & Billing

Core invoicing features including automation, templates, and payment handling

Recurring Invoices

Supports automatic generation and sending of recurring invoices

no
Dunning Automation

Automated payment reminders and dunning processes

no
Offer to Invoice Conversion

One-click conversion from quotes/offers to invoices

no
QR Code Payments

Includes GiroCode or EPC QR codes for easy bank transfers

no

Accounting Integrations

Connections to banking, tax systems, and export formats

DATEV Export

Supports direct export to DATEV accounting software

no
Bank Reconciliation

Automatic matching of bank transactions with bookkeeping

no
ELSTER Integration

Direct connection for VAT pre-registration and tax filings

no

Receipt & Document Management

Features for capturing, digitizing, and organizing receipts and documents

OCR Receipt Capture

AI-powered OCR for scanning and extracting receipt data

no
Mobile Receipt Scanning

Mobile app with camera-based receipt upload and processing

no
Automatic Categorization

Automatically suggests accounts and categories for receipts

no

Reviews

0 reviews
Write a Review

No reviews yet. Be the first to review PandaDoc!