# PandaDoc

Manage PandaDoc: documents, templates, send-to-sign, contacts, folders. Exposes **28 actions** covering the full API surface
the agent needs - read and write.

## What it can do

| Method | What it does |
| --- | --- |
| `pandadoc_list_documents` | List all documents with optional status filter - GET /documents. |
| `pandadoc_create_document` | Create a new document from template or content - POST /documents. |
| `pandadoc_get_document` | Get document details - GET /documents/&#123;document_id&#125;. |
| `pandadoc_update_document` | Update document metadata/fields - PATCH /documents/&#123;document_id&#125;. |
| `pandadoc_delete_document` | Delete a document (typically draft only) - DELETE /documents/&#123;document_id&#125;. |
| `pandadoc_send_document` | Send a draft document to recipients - POST /documents/&#123;document_id&#125;/send. |
| `pandadoc_download_document` | Download a document in specified format - GET /documents/&#123;document_id&#125;/download. |
| `pandadoc_document_status` | Get document status and event timeline - GET /documents/&#123;document_id&#125;/status. |
| `pandadoc_list_templates` | List workspace templates - GET /templates. |
| `pandadoc_get_template` | Get template summary - GET /templates/&#123;template_uuid&#125;. |
| `pandadoc_template_details` | Get template structure and field details - GET /templates/&#123;template_uuid&#125;/details. |
| `pandadoc_list_contacts` | List workspace contacts - GET /contacts. |
| `pandadoc_create_contact` | Create a new contact - POST /contacts. |
| `pandadoc_get_contact` | Get contact details - GET /contacts/&#123;contact_id&#125;. |
| `pandadoc_update_contact` | Update contact information - PATCH /contacts/&#123;contact_id&#125;. |
| `pandadoc_delete_contact` | Delete a contact - DELETE /contacts/&#123;contact_id&#125;. |
| `pandadoc_list_folders` | List workspace folders - GET /folders. |
| `pandadoc_create_folder` | Create a new folder - POST /folders. |
| `pandadoc_get_folder` | Get folder details - GET /folders/&#123;folder_uuid&#125;. |
| `pandadoc_update_folder` | Update folder name - PATCH /folders/&#123;folder_uuid&#125;. |
| `pandadoc_delete_folder` | Delete a folder - DELETE /folders/&#123;folder_uuid&#125;. |
| `pandadoc_list_webhooks` | List webhook subscriptions - GET /webhooks. |
| `pandadoc_create_webhook` | Create a webhook subscription - POST /webhooks. |
| `pandadoc_delete_webhook` | Delete a webhook subscription - DELETE /webhooks/&#123;webhook_uuid&#125;. |
| `pandadoc_list_members` | List workspace members - GET /members. |
| `pandadoc_get_member` | Get member details - GET /members/&#123;member_id&#125;. |
| `pandadoc_list_form_responses` | List form responses/submissions - GET /form_responses. |
| `pandadoc_get_form_response` | Get a specific form response - GET /form_responses/&#123;form_response_uuid&#125;. |

## How to get credentials

This connector uses an **API key / token**. Create one in the provider
dashboard, then paste it into FlyMyAI:

- **`PANDADOC_API_KEY`** - PandaDoc - Settings - Integrations - API - Create API key. (https://app.pandadoc.com/a/#/settings/integrations/api/dashboard)

## Fields to fill in FlyMyAI

| FlyMyAI field | Where it comes from |
| --- | --- |
| `PANDADOC_API_KEY` | PandaDoc - Settings - Integrations - API - Create API key. |

## Troubleshooting

- **`401 Unauthorized` / `403 Forbidden`** - the token is wrong, expired, or missing a required scope - regenerate it.
- **`429 Too Many Requests`** - you hit the provider rate limit; retry after a short backoff.
- **Unexpected `4xx` on writes** - double-check required fields; the agent confirms before write actions.

## Links

- [PandaDoc API documentation](https://developers.pandadoc.com/reference/)
