# PandaDoc — how to use (mcp.ai)

Connect your PandaDoc account and use 14 tools for documents straight from your AI agent. Connect with your own API key. PandaDoc offers document creation, e-signatures, and workflow automation, helping sales teams and businesses streamline proposals, contracts, and agreement processes.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_pandadoc?ms=1787296080000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `pandadoc_create_document_attachment`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/pandadoc`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/pandadoc/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/pandadoc/create/document/attachment` — Creates and adds an attachment to a PandaDoc document. This tool allows you to attach downloadable files such as supplemental materials, Excel spreadsheets, or other content without embedding them dir
  - body: { file: object, document_id: string }
- `POST https://api.mcp.ai/api/pandadoc/create/document/from/file` — Creates a new document in PandaDoc by uploading a file (PDF, DOCX, or RTF). Converts existing documents into PandaDoc documents for processing, signing, and tracking. Either `file` or `url` must be pr
  - body: { url?: string, file?: object, name: string, tags?: string[], owner?: object, recipients: object[], parse_form_fields?: boolean }
- `POST https://api.mcp.ai/api/pandadoc/create/folder` — Creates a new folder in PandaDoc to organize documents. This action allows users to create a new folder with a specified name and optionally set a parent folder to create a nested folder structure.
  - body: { name: string, parent_uuid?: string }
- `POST https://api.mcp.ai/api/pandadoc/create/or/update/contact` — This tool creates a new contact or updates an existing one in PandaDoc based on the email address. If a contact with the provided email exists, it will be updated; otherwise, a new contact will be cre
  - body: { city?: string, email: string, phone?: string, state?: string, company?: string, country?: string, job_title?: string, last_name?: string, first_name?: string, postal_code?: string, street_address?: string }
- `POST https://api.mcp.ai/api/pandadoc/create/template` — This tool allows users to create a new template in PandaDoc from a PDF file or from scratch. It handles file upload validation, parameter checks, proper error handling, and authentication with the Pan
  - body: { file?: object, name: string, tags?: string[], content?: object, description?: string }
- `POST https://api.mcp.ai/api/pandadoc/create/webhook` — Creates a new webhook subscription in PandaDoc to receive notifications about specific events. This action allows you to set up webhook notifications for various document-related events such as status
  - body: { url: string, name: string, active?: boolean, payload?: string[], triggers: string[] }
- `POST https://api.mcp.ai/api/pandadoc/delete/contact` — This tool allows you to delete a contact from your PandaDoc account. The action is permanent and cannot be undone.
  - body: { contact_id: string }
- `POST https://api.mcp.ai/api/pandadoc/delete/template` — This tool deletes a specific template from PandaDoc. Once a template is deleted, it cannot be recovered. This action is permanent and should be used with caution.
  - body: { template_id: string }
- `POST https://api.mcp.ai/api/pandadoc/get/document/details` — Fetch detailed metadata for a specific PandaDoc document including recipients, fields/tokens values, pricing data, metadata, tags, and content-block names. Use this after discovering a document via li
  - body: { id: string }
- `POST https://api.mcp.ai/api/pandadoc/get/template/details` — This tool retrieves detailed information about a specific template by its ID. The endpoint returns comprehensive template details including metadata, content details, and sharing settings.
  - body: { template_id: string }
- `POST https://api.mcp.ai/api/pandadoc/list/contacts` — List all contacts in your PandaDoc workspace. Returns all contacts with their details including email, name, company, and contact information. Optionally filter by exact email address. Note: The API r
  - body: { email?: string }
- `POST https://api.mcp.ai/api/pandadoc/list/document/folders` — This tool retrieves a list of all document folders in PandaDoc. It's a standalone action that doesn't require any external dependencies or resource IDs. The tool will return a list of folders containi
  - body: { page?: integer, count?: integer, parent_uuid?: string }
- `POST https://api.mcp.ai/api/pandadoc/list/templates` — This tool retrieves a list of all templates available in the PandaDoc account. It supports parameters to filter templates by name, shared status, deleted status, pagination, and tag filtering, and ret
  - body: { q?: string, id?: string, tag?: string[], page?: integer, count?: integer, fields?: string[], shared?: boolean, deleted?: boolean, folder_uuid?: string }
- `POST https://api.mcp.ai/api/pandadoc/move/document/to/folder` — This tool allows users to move a document to a specific folder within their PandaDoc account. It performs a POST request to move the document to the specified folder. Both the document and the destina
  - body: { folder_id: string, document_id: string }

## Example prompts
- "What can I do in PandaDoc?"
- "Show me a summary of my PandaDoc account"

## More
- Page: https://mcp.ai/pandadoc
- Agent spec (llms.txt): https://mcp.ai/pandadoc/llms.txt
- Postman collection: https://mcp.ai/pandadoc/postman.json
