Connectors · Files & documents
PandaDoc MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to PandaDoc and the rest of your systems. It gives your agent 126 PandaDoc actions (57 reads, 54 writes and 15 that wait for a confirmation) and holds the PandaDoc credential itself, so the agent never does. It paces PandaDoc's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "pandadoc.document_folders.list", intent: "check which PandaDoc account is connected"}# List Documents Folders · read · 1 upstream call- 126actionsin one signed file
- 57readlook, never change
- 54writecreate and update
- 15wait for a yesdestructive, confirmed first
Set up
Connect PandaDoc in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect PandaDoc.
API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
api_keyPandaDoc API keyhostWhere your PandaDoc lives: your host
account { op: "connections.requirements", service: "pandadoc" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "pandadoc.document_folders.list" }# list documents folders · read · 1 upstream callcheck { action: "pandadoc.document_folders.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
PandaDoc at a glance
- Sign-in
- API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
api_key- Setup fields
host- Limits we pace to
- 100 calls a minute, per connection
- API covered
- PandaDoc Public API (OpenAPI 3.0.3, 124 of 135 operations)
api.pandadoc.com - Built from
- PandaDoc's documentation, read 22 October 2026OpenAPI spec (GitHub)developers.pandadoc.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 57 of 57 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 6, so ask can line PandaDoc up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in PandaDoc.
126 actions in 45 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 57readlook, never change
- 54writecreate and update
- 15destructivewait for a confirmation
Documents
175 read · 8 write · 4 destructive
List Documents · Create Document (From PandaDoc Template) · Send Document · Document Details
Templates
73 read · 3 write · 1 destructive
List Templates · Create Template · Template Details · Template Update
Webhook subscriptions
62 read · 3 write · 1 destructive
Create Webhook Subscription · List Webhook Subscriptions · Update Webhook Subscription · Webhook Subscription Details
Catalog items
52 read · 2 write · 1 destructive
List Catalog Items Search · Create Catalog Item · Catalog Item Details · Update Catalog Item
Contacts
52 read · 2 write · 1 destructive
List contacts · Create contact · Contact Details · Update Contact
Content library items
43 read · 1 write · 0 destructive
List Content Library Item · Create Content Library Item · Content Library Item Details · Content Library Item Status
Document attachments
42 read · 1 write · 1 destructive
Create Document Attachment · List Document Attachments · Document Attachment Details · Delete Document Attachment
Document recipients
40 read · 3 write · 1 destructive
Update Document Recipient · Add Document Recipient · Delete Document Recipient · Change Signer (Reassign Document Recipient)
37 more areas · 74 actions
- Notarization requests 4
- Workspaces 4
- Document auto reminders 3
- Document fields 3
- Document folders 3
- Document linked objects 3
- Document section uploads 3
- Document sections 3
- Members 3
- Template folders 3
- Users 3
- Workspace members 3
- API logs 2
- API logs V2 2
- Document AI metadata 2
- Document docx exports 2
- Document quotes 2
- Document settings 2
- Template approval workflows 2
- Template settings 2
- Template shares 2
- Webhook events 2
- Workspace privacy settings 2
- Document audit trail 1
- Document contents 1
- Document editing sessions 1
- Document esign disclosure 1
- Document reminders 1
- Document sessions 1
- Document structure 1
- Document summaries 1
- Forms 1
- Member tokens 1
- Notaries 1
- SMS opt outs 1
- Template editing sessions 1
- Workspace API keys 1
Top actions
The PandaDoc API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 48 of PandaDoc's 49 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
pandadoc.document_folders.listList Documents Folders | List Documents Folders. | read | content.folder.list62 connectors |
pandadoc.users.listList Users | List Users. | read | identity.user.list474 connectors |
pandadoc.contacts.listList contacts | List contacts. | read | crm.contact.list177 connectors |
pandadoc.document_folders.createCreate Documents Folder | Create Documents Folder. | write | content.folder.create62 connectors |
pandadoc.workspaces.listList Workspaces | List Workspaces. | read | work.workspace.list50 connectors |
pandadoc.users.createCreate User | Create User. | write | identity.user.create262 connectors |
pandadoc.members.listList Members | List Members. | read | work.workspace_member.list26 connectors |
pandadoc.contacts.createCreate contact | Create contact. | write | crm.contact.create161 connectors |
pandadoc.catalog_items.searchList Catalog Items Search | List Catalog Items Search. | read | commerce.product.search18 connectors |
pandadoc.catalog_items.createCreate Catalog Item | Create Catalog Item. | write | commerce.product.create92 connectors |
pandadoc.contacts.deleteDelete Contact | Delete Contact. | destructive | crm.contact.delete147 connectors |
pandadoc.workspaces.createCreate Workspace | Create Workspace. | write | work.workspace.create36 connectors |
Try it
Prompts to paste into Claude.
Each one names the PandaDoc actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Find the PandaDoc contacts with no email address, so we can clean them up.
calls
pandadoc.contacts.list - Writewrite
Create Documents Folder in PandaDoc. Show me exactly what you will send before you save it.
calls
pandadoc.document_folders.create - Across systemsread
Which contacts are in both PandaDoc and HaloPSA, and how many are in only one of them?
calls
pandadoc.contacts.listhalopsa.users.list
Across your systems
PandaDoc, joined to the rest of your business.
One ask fetches from PandaDoc and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.
Which contacts are in both PandaDoc and HaloPSA, and how many are in only one of them?
pandadoc.contacts.list+halopsa.users.list, oncrm.contact· HaloPSAWhich contacts are in both PandaDoc and NetSuite, and how many are in only one of them?
pandadoc.contacts.list+netsuite.views.contacts, oncrm.contact· NetSuite
identity.user 517crm.contact 192commerce.product 109work.workspace 43content.folder 38work.workspace_member 18ask { intent: "which contacts are in both PandaDoc and HaloPSA, and how many are in only one of them", steps: [ { action: "pandadoc.contacts.list", as: "people", input: {}, limit: 100, max_pages: 5 }, { action: "halopsa.users.list", as: "people2", input: {}, limit: 100, max_pages: 5 }, { join: { left: "people", right: "people2", on: "crm.contact", group_by: "people.email", select: ["people.email", "count(people2.id) as in_halopsa"] } } ]}Governance for PandaDoc
Destructive actions wait for a yes.
15 PandaDoc actions are destructive. These are all of them:
- Delete Contact
pandadoc.contacts.delete - Delete Catalog Item
pandadoc.catalog_items.delete - Delete Webhook Subscription
pandadoc.webhook_subscriptions.delete - Delete Document
pandadoc.documents.delete - Remove Member from Workspace
pandadoc.workspace_members.remove - Delete Template
pandadoc.templates.delete - Delete Document Recipient
pandadoc.document_recipients.delete - Delete documents (bulk)
pandadoc.documents.bulk_delete - Delete Document Section
pandadoc.document_sections.delete - Delete Document Attachment
pandadoc.document_attachments.delete - Update document ownership
pandadoc.documents.transfer_ownership - Delete Notarization Request
pandadoc.notarization_requests.delete - Delete Linked Object
pandadoc.document_linked_objects.delete - Transfer all documents ownership
pandadoc.documents.transfer_all_ownership - Deactivate Workspace
pandadoc.workspaces.deactivate
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete Contact?
intent: the user asked me to delete Contact
account { op: "keys.create", name: "pandadoc-agent", allowed_actions: ["pandadoc.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "pandadoc.contacts.delete", approver: "[email protected]" }, { match: "pandadoc.catalog_items.delete", approver: "[email protected]" }, { match: "pandadoc.webhook_subscriptions.delete", approver: "[email protected]" } ]}Cost
What PandaDoc costs on actionlake.
Every PandaDoc action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call PandaDoc refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 126 PandaDoc actions
- 126actions pageeach page of a long list is one call
- 57reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every PandaDoc action.
126 actions by area: the id your agent calls, what it does, and its effect.
Documents17
pandadoc.documents.append_content_library_itemAppend Content Library Item to a documentwritepandadoc.documents.bulk_deleteDelete documents (bulk)destructivepandadoc.documents.change_statusDocument Status Changewritepandadoc.documents.create_from_templateCreate Document (From PandaDoc Template)writepandadoc.documents.create_from_urlCreate Document (From File By Url)writepandadoc.documents.deleteDelete Documentdestructivepandadoc.documents.getDocument Detailsreadpandadoc.documents.get_statusDocument Statusreadpandadoc.documents.listList Documentsreadpandadoc.documents.list_by_linked_objectList Documents by Linked Objectreadpandadoc.documents.move_to_folderDocument move to folderwritepandadoc.documents.revert_to_draftMove Document to Draftwritepandadoc.documents.search[Beta] List Documents Searchreadpandadoc.documents.sendSend Documentwritepandadoc.documents.transfer_all_ownershipTransfer all documents ownershipdestructivepandadoc.documents.transfer_ownershipUpdate document ownershipdestructivepandadoc.documents.updateUpdate Documentwrite
Templates7
pandadoc.templates.createCreate Templatewritepandadoc.templates.deleteDelete Templatedestructivepandadoc.templates.duplicateDuplicate Templatewritepandadoc.templates.getTemplate Detailsreadpandadoc.templates.get_statusTemplate Statusreadpandadoc.templates.listList Templatesreadpandadoc.templates.updateTemplate Updatewrite
Webhook subscriptions6
pandadoc.webhook_subscriptions.createCreate Webhook Subscriptionwritepandadoc.webhook_subscriptions.deleteDelete Webhook Subscriptiondestructivepandadoc.webhook_subscriptions.getWebhook Subscription Detailsreadpandadoc.webhook_subscriptions.listList Webhook Subscriptionsreadpandadoc.webhook_subscriptions.regenerate_shared_keyUpdate Webhook Subscription Shared Keywritepandadoc.webhook_subscriptions.updateUpdate Webhook Subscriptionwrite
Catalog items5
pandadoc.catalog_items.createCreate Catalog Itemwritepandadoc.catalog_items.deleteDelete Catalog Itemdestructivepandadoc.catalog_items.getCatalog Item Detailsreadpandadoc.catalog_items.searchList Catalog Items Searchreadpandadoc.catalog_items.updateUpdate Catalog Itemwrite
Contacts5
pandadoc.contacts.createCreate contactwritepandadoc.contacts.deleteDelete Contactdestructivepandadoc.contacts.getContact Detailsreadpandadoc.contacts.listList contactsreadpandadoc.contacts.updateUpdate Contactwrite
Content library items4
pandadoc.content_library_items.createCreate Content Library Itemwritepandadoc.content_library_items.getContent Library Item Detailsreadpandadoc.content_library_items.get_statusContent Library Item Statusreadpandadoc.content_library_items.listList Content Library Itemread
Document attachments4
pandadoc.document_attachments.createCreate Document Attachmentwritepandadoc.document_attachments.deleteDelete Document Attachmentdestructivepandadoc.document_attachments.getDocument Attachment Detailsreadpandadoc.document_attachments.listList Document Attachmentsread
Document recipients4
pandadoc.document_recipients.addAdd Document Recipientwritepandadoc.document_recipients.deleteDelete Document Recipientdestructivepandadoc.document_recipients.reassignChange Signer (Reassign Document Recipient)writepandadoc.document_recipients.updateUpdate Document Recipientwrite
Notarization requests4
pandadoc.notarization_requests.createCreate Notarization Requestwritepandadoc.notarization_requests.deleteDelete Notarization Requestdestructivepandadoc.notarization_requests.getNotarization Request Detailsreadpandadoc.notarization_requests.listList Notarization Requestsread
Workspaces4
pandadoc.workspaces.createCreate Workspacewritepandadoc.workspaces.deactivateDeactivate Workspacedestructivepandadoc.workspaces.listList Workspacesreadpandadoc.workspaces.update[Beta] Update Workspacewrite
Document auto reminders3
pandadoc.document_auto_reminders.getDocument Auto Reminder Settingsreadpandadoc.document_auto_reminders.get_statusDocument Auto Reminder Statusreadpandadoc.document_auto_reminders.updateUpdate Document Auto Reminder Settingswrite
Document fields3
pandadoc.document_fields.createCreate Document Fieldswritepandadoc.document_fields.listList Document Fieldsreadpandadoc.document_fields.update_assignmentUpdate Document Fields Assignmentwrite
Document folders3
pandadoc.document_folders.createCreate Documents Folderwritepandadoc.document_folders.listList Documents Foldersreadpandadoc.document_folders.renameRename Documents Folderwrite
Document linked objects3
pandadoc.document_linked_objects.createCreate Linked Objectwritepandadoc.document_linked_objects.deleteDelete Linked Objectdestructivepandadoc.document_linked_objects.listList Linked Objectsread
Document section uploads3
pandadoc.document_section_uploads.create_from_templateCreate Document Section (From PandaDoc Template)writepandadoc.document_section_uploads.create_from_urlCreate Document Section (From File By Url)writepandadoc.document_section_uploads.getDocument Section Upload Statusread
Document sections3
pandadoc.document_sections.deleteDelete Document Sectiondestructivepandadoc.document_sections.getDocument Section Detailsreadpandadoc.document_sections.listList Document Sectionsread
Members3
pandadoc.members.getMember Detailsreadpandadoc.members.get_currentCurrent Member Detailsreadpandadoc.members.listList Membersread
Template folders3
pandadoc.template_folders.createCreate Templates Folderwritepandadoc.template_folders.listList Templates Foldersreadpandadoc.template_folders.renameRename Templates Folderwrite
Users3
pandadoc.users.createCreate Userwritepandadoc.users.getGet User Details by IDreadpandadoc.users.listList Usersread
Workspace members3
pandadoc.workspace_members.addAdd Member to Workspacewritepandadoc.workspace_members.change_roleChange Member Role in Workspacewritepandadoc.workspace_members.removeRemove Member from Workspacedestructive
API logs2
pandadoc.api_logs.getAPI Log Detailsreadpandadoc.api_logs.listList API Logread
API logs V22
pandadoc.api_logs_v2.getAPI Log Detailsreadpandadoc.api_logs_v2.listList API Logread
Document AI metadata2
pandadoc.document_ai_metadata.batch_get[Beta] Get AI Metadata for Multiple Documentsreadpandadoc.document_ai_metadata.list[Beta] Get AI Metadata for a Documentread
Document docx exports2
pandadoc.document_docx_exports.create[Beta] Create DOCX Export Taskwritepandadoc.document_docx_exports.get[Beta] DOCX Export Taskread
Document quotes2
pandadoc.document_quotes.batch_update[Beta] Update Multiple Quoteswritepandadoc.document_quotes.updateQuote updatewrite
Document settings2
pandadoc.document_settings.getGet document settingsreadpandadoc.document_settings.updateUpdate document settingswrite
Template approval workflows2
pandadoc.template_approval_workflows.get[Beta] Get Submit for approval configurationreadpandadoc.template_approval_workflows.update[Beta] Update Template Approval Workflowwrite
Template settings2
pandadoc.template_settings.getGet template settingsreadpandadoc.template_settings.updateUpdate template settingswrite
Template shares2
pandadoc.template_shares.getGet Template Sharing Settingsreadpandadoc.template_shares.updateUpdate Template Sharing Settingswrite
Webhook events2
pandadoc.webhook_events.getWebhook Event Detailsreadpandadoc.webhook_events.listList Webhook Eventsread
Workspace privacy settings2
pandadoc.workspace_privacy_settings.get[Beta] Workspace Privacy Settings Detailsreadpandadoc.workspace_privacy_settings.update[Beta] Update Workspace Privacy Settingswrite
Document audit trail1
pandadoc.document_audit_trail.listList Document Audit Trailread
Document contents1
pandadoc.document_contents.get[Beta] Document Contentread
Document editing sessions1
pandadoc.document_editing_sessions.createCreate Document Editing Sessionwrite
Document esign disclosure1
pandadoc.document_esign_disclosure.getDocument eSign disclosureread
Document reminders1
pandadoc.document_reminders.sendSend Manual Reminderwrite
Document sessions1
pandadoc.document_sessions.createCreate Document Session for Embedded Signwrite
Document structure1
pandadoc.document_structure.add_named_itemsAdd DSV Named Items to a Documentwrite
Document summaries1
pandadoc.document_summaries.get[Beta] Document Summaryread
Forms1
pandadoc.forms.listList Formsread
Member tokens1
pandadoc.member_tokens.createCreate Member Tokenwrite
Notaries1
pandadoc.notaries.listList Notariesread
SMS opt outs1
pandadoc.sms_opt_outs.listRecent SMS Opt-outread
Template editing sessions1
pandadoc.template_editing_sessions.createCreate Template Editing Sessionwrite
Workspace API keys1
pandadoc.workspace_api_keys.createCreate API Keywrite
Questions
The PandaDoc MCP server, answered.
Is there a PandaDoc MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 126 PandaDoc actions across documents, templates, webhook subscriptions and catalog items, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by PandaDoc.
What do I need to connect PandaDoc?
PandaDoc API key. Plus your host. The free call account { op: "connections.requirements", service: "pandadoc" } lists exactly what to paste.
Can an AI agent delete or change things in PandaDoc?
Only if its key allows it, and only with an explicit confirmation. 15 PandaDoc actions are destructive, including delete Contact, delete Catalog Item and delete Webhook Subscription. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my PandaDoc API limit?
actionlake paces every call to the limits in the PandaDoc service file: 100 calls a minute per connection. Repeated reads are answered from cache (57 PandaDoc actions can be), which never reaches PandaDoc.
What does a PandaDoc action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (126 PandaDoc actions page). Cache hits, searches, dry runs and calls PandaDoc refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which PandaDoc API does it cover?
The PandaDoc Public API (OpenAPI 3.0.3, 124 of 135 operations) at api.pandadoc.com by default, or the base URL set when you connect. It is built from PandaDoc's documentation as read on 22 October 2026. 126 actions in 45 areas, each one in the signed service file (version 1.0.0).
Can I combine PandaDoc with my other systems?
Yes. ask joins PandaDoc to HaloPSA or NetSuite on the same customer and returns the answer rather than every row. PandaDoc maps crm.contact, which 192 other connectors also map.
Does actionlake keep my PandaDoc data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your PandaDoc credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent PandaDoc today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.