# PandaDoc

PandaDoc offers document creation, e-signatures, and workflow automation, helping sales teams and businesses streamline proposals, contracts, and agreement processes

- **Category:** documents
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 14
- **Triggers:** 0
- **Slug:** `PANDADOC`
- **Version:** 20260316_00

## Tools

### Create Document Attachment

**Slug:** `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 directly into the document. Attachments can be added only to documents in 'document.draft' status, with a maximum of 10 files per document and a size limit of 50MB per file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file` | object | Yes | File to upload as an attachment. |
| `document_id` | string | Yes | UUID of the document to attach the file to |
| `local_file_path` | string | No | Optional local file path to read the file content from. If provided, this will be used instead of the file reference. Useful for testing or when the file is available locally. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Document from File Upload

**Slug:** `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 provided; omitting both will fail. Large files may time out during upload and conversion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | No | Public HTTPS URL of the file to use (PDF, DOCX, or RTF format). Either 'file' or 'url' must be provided. |
| `file` | object | No | File to upload (PDF, DOCX, or RTF format). Either 'file' or 'url' must be provided. |
| `name` | string | Yes | Name of the document |
| `tags` | array | No | Tags to categorize the document |
| `owner` | object | No | Model for document owner. |
| `recipients` | array | Yes | List of recipients for the document Each recipient object must include a valid `email` field; missing or malformed emails will prevent sending or signing. |
| `parse_form_fields` | boolean | No | Whether to parse form fields in the document (for PDFs) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Document Folder

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the folder to be created |
| `parent_uuid` | string | No | UUID of the parent folder if creating a nested folder structure |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create or Update Contact

**Slug:** `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 created.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `city` | string | No | City of the contact |
| `email` | string | Yes | Email address of the contact. Required for both create and update operations. |
| `phone` | string | No | Phone number of the contact |
| `state` | string | No | State of the contact |
| `company` | string | No | Company name of the contact |
| `country` | string | No | Country of the contact |
| `job_title` | string | No | Job title of the contact |
| `last_name` | string | No | Last name of the contact |
| `first_name` | string | No | First name of the contact |
| `postal_code` | string | No | Postal code of the contact |
| `street_address` | string | No | Street address of the contact |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Template

**Slug:** `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 PandaDoc API. The template can be created either by uploading a PDF file or by providing a structured content object that defines the template layout and elements.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the template |
| `tags` | array | No | Optional tags to categorize the template |
| `content` | object | No | Content model for template creation from scratch. |
| `file_path` | string | No | Path to the PDF file to use for template creation |
| `description` | string | No | Optional description of the template |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create PandaDoc Webhook

**Slug:** `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 changes, recipient completions, and updates. The webhook will send HTTP notifications to your specified endpoint when the configured events occur.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The endpoint URL where webhook notifications will be sent |
| `name` | string | Yes | A descriptive name for the webhook subscription |
| `active` | boolean | No | Whether the webhook subscription should be active |
| `payload` | array | No | Additional data to include in webhook payload |
| `triggers` | array | Yes | List of events that will trigger the webhook |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Contact

**Slug:** `PANDADOC_DELETE_CONTACT`

This tool allows you to delete a contact from your PandaDoc account. The action is permanent and cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | The unique identifier of the contact to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Template

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | The unique identifier of the template to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Document Details

**Slug:** `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 list/search to inspect recipients/status/fields/metadata/content-block references for follow-up automation or reporting.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the document to retrieve details for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Template Details

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | The unique identifier of the template to retrieve details for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Contacts

**Slug:** `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 returns all contacts at once without pagination - filtering and pagination should be done client-side if needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Filter contacts by exact email match. Returns only contacts with this specific email address. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Document Folders

**Slug:** `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 containing documents, with each folder containing information about its ID, name, and parent folder relationship.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number (starts from 1) |
| `count` | integer | No | Number of folders to return (default: 50, max: 100) |
| `parent_uuid` | string | No | The UUID of the parent folder. If omitted, returns folders in root directory |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Templates

**Slug:** `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 returns detailed template information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search query to filter templates by name |
| `id` | string | No | Specific template ID to retrieve |
| `tag` | array | No | Filter templates by tags |
| `page` | integer | No | Page number of the results to return |
| `count` | integer | No | Number of templates to return per page (1-100, default: 50) |
| `fields` | array | No | Additional fields to include in the response (e.g., content_date_modified) |
| `shared` | boolean | No | If true, returns only shared templates |
| `deleted` | boolean | No | If true, returns only deleted templates |
| `folder_uuid` | string | No | UUID of the folder where the templates are stored |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move Document to Folder

**Slug:** `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 destination folder must exist. Only documents in draft status can be moved; attempting to move documents in sent, completed, or other non-draft states will fail.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `folder_id` | string | Yes | The unique identifier of the destination folder |
| `document_id` | string | Yes | The unique identifier of the document to move |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
