Pandadoc MCP connector
OAuth 2.1/DCR ProductivityAutomationFiles & DocumentsConnect to PandaDoc MCP. Create, send, and manage documents, templates, and e-signatures directly from your AI workflows.
Pandadoc MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'pandadocmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Pandadoc MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'pandadocmcp_documents_list',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "pandadocmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Pandadoc MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="pandadocmcp_documents_list",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- List templates, documents — List templates with optional filters for search, tags, folder, and shared/deleted status
- Get templates details, documents summary, documents status — Get full details for a template including roles, fields, tokens, and pricing tables
- Create templates, documents — Create a new template from a publicly accessible PDF URL with optional name, folder, tokens, and owner
- Update documents — Update a draft document — name, recipients, fields, tokens, images, pricing tables, and metadata
- Change documents status — Manually change a document status to completed, expired, paid, or voided
- Send documents — Send a draft document to recipients for review and signature with optional message, subject, and CC settings
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
pandadocmcp_documents_archive
#
Archive a document by ID to remove it from active lists without permanently deleting it. 1 param
Archive a document by ID to remove it from active lists without permanently deleting it.
document_id string required Document ID to archive pandadocmcp_documents_audit_trail_get
#
Retrieve the full audit trail for a document, showing all events including views, signatures, and status changes. 1 param
Retrieve the full audit trail for a document, showing all events including views, signatures, and status changes.
document_id string required Document ID pandadocmcp_documents_content_get
#
Get the content of a document in HTML or PDF format by document ID. 2 params
Get the content of a document in HTML or PDF format by document ID.
content_format string required Content format to return. Must be one of: 'plaintext' or 'markdown'. document_id string required Document ID pandadocmcp_documents_create
#
Create a new document from an existing template with optional recipients, tokens, fields, and metadata. 15 params
Create a new document from an existing template with optional recipients, tokens, fields, and metadata.
name string required New document name recipients array required List of recipients for the document template_uuid string required Template UUID content_placeholders string optional Content placeholders for content library blocks detect_title_variables string optional Use title variables from template in document name fields string optional Document fields as key-value pairs folder_uuid string optional Destination folder UUID images string optional Images to populate in template image blocks metadata string optional Document metadata as key-value pairs owner string optional Document owner (email or membership_id) pricing_tables string optional Pricing tables tables string optional Tables tags string optional Document tags texts string optional Text blocks to populate by name tokens string optional Document tokens (variables) as name/value pairs pandadocmcp_documents_create_from_markdown
#
Create a new PandaDoc document from Markdown content with optional recipients and role-based fields. 5 params
Create a new PandaDoc document from Markdown content with optional recipients and role-based fields.
document_markdown string required Content of the document in markdown name string required Name of the new document folder_id string optional ID of the folder to create the document in. Optional, if not provided document will be created in root folder. recipients string optional List of document recipients. Optional, if not provided document will be created without recipients. role_fields string optional List of roles with assigned fields. Optional, if not provided no fields will be assigned to recipients by default. MUST be used together with `recipients`: every role referenced here must match the `role` of a recipient in the `recipients` argument. Passing `role_fields` without a matching recipient role will cause an error. pandadocmcp_documents_details_get
#
Retrieve full details for a document including metadata, recipients, fields, and status. 1 param
Retrieve full details for a document including metadata, recipients, fields, and status.
document_id string required Document ID pandadocmcp_documents_fields_assign
#
Assign, reassign, or unassign document fields to recipients. Document must be in draft status. 2 params
Assign, reassign, or unassign document fields to recipients. Document must be in draft status.
assignments array required List of field-to-recipient assignments. Each item maps a field UUID to a recipient UUID (or null to unassign). document_id string required Document ID pandadocmcp_documents_list
#
List documents with optional filters for status, folder, tag, and search query. Returns paginated results. 6 params
List documents with optional filters for status, folder, tag, and search query. Returns paginated results.
count string optional Limits the size of the response. Default is 50 documents, maximum is 100 documents. folder_uuid string optional Filters by the folder where the documents are stored. page string optional Paginates the search result. Increase value to get the next page of results. q string optional Filters documents by name or reference number (stored on the template level). status string optional Filters documents by the status. 0: document.draft, 1: document.sent, 2: document.completed, 3: document.uploaded, 4: document.error, 5: document.viewed, 6: document.waiting_approval, 7: document.approved, 8: document.rejected, 9: document.waiting_pay, 10: document.paid, 11: document.voided, 12: document.declined, 13: document.external_review. tag string optional Filters documents by tag. pandadocmcp_documents_metadata_get
#
Get AI-extracted metadata fields from a document, combining document and content data into structured key-value pairs. 3 params
Get AI-extracted metadata fields from a document, combining document and content data into structured key-value pairs.
document_id string required Document ID limit string optional Maximum number of fields to return in one response. Omit for API default (100). Max 100. offset string optional Number of fields to skip before starting to collect the result set. For predictable paging, use multiples of `limit`. pandadocmcp_documents_search
#
Full-text search across documents with optional filters for status, date range, and pagination. 7 params
Full-text search across documents with optional filters for status, date range, and pagination.
query string required Full-text search string (matches document content and metadata). count string optional Page size: public API ``count`` query param. Omit for default (30). Max 100. date_filter_column string optional Which document timestamp the date window applies to. If you set any date filter, set **all three** of ``date_filter_column``, ``from_date``, and ``to_date``. Allowed values: ``date_created``, ``date_expiration``, ``last_modified``, ``signature_date``, ``effective_date``. from_date string optional Inclusive window start (ISO-8601), e.g. ``2026-03-01T00:00:00Z``. Use together with ``date_filter_column`` and ``to_date``. page string optional Page number (1-based). Omit to use API default (1). status string optional Restrict hits to these PandaDoc document status codes (omit to ignore status). 0 draft, 1 sent, 2 completed, 5 viewed, 6 waiting approval, 7 approved, 8 rejected, 9 waiting pay, 10 paid, 11 expired, 12 declined, 13 external review. Example: ``[1, 2]`` for sent or completed. to_date string optional Inclusive window end (ISO-8601), e.g. ``2026-03-31T23:59:59Z``. Use together with ``date_filter_column`` and ``from_date``. pandadocmcp_documents_send
#
Send a draft document to recipients for review and signature with optional message, subject, and CC settings. 8 params
Send a draft document to recipients for review and signature with optional message, subject, and CC settings.
document_id string required Document ID forwarding_settings string optional Settings for document and signature forwarding. Controls whether recipients can forward the document or reassign their fields to another person. message string optional A message that will be sent by email with a link to the document to sign. reply_to string optional Email address used as reply-to for the document. Must be enabled for the account by support. selected_approvers string optional Configuration for selecting approvers from approval workflow groups. Copy 'steps' from the 'approval_execution' section of Document Details and set 'is_selected' to true for the desired approver. sender string optional Set a sender of a document as an email or membership_id. silent string optional If true, disables email notifications for document recipients and the sender. Also disables scheduled reminders. Does not affect 'Approve document' email notification. subject string optional Value that will be used as the email subject. pandadocmcp_documents_status_change
#
Manually change a document status to completed, expired, paid, or voided. 4 params
Manually change a document status to completed, expired, paid, or voided.
document_id string required Document ID status integer required Document status code (2=completed, 10=paid, 11=expired, 12=declined) note string optional Optional note for the status change notify_recipients boolean optional Whether to notify recipients of the status change pandadocmcp_documents_status_get
#
Get the current status of a document by ID. 1 param
Get the current status of a document by ID.
document_id string required Document ID pandadocmcp_documents_summary_get
#
Get an AI-generated or standard summary for a document by ID. 2 params
Get an AI-generated or standard summary for a document by ID.
document_id string required Document ID summary_type string required Summary granularity to return. Must be one of: 'detailed', 'short', or 'headline'. pandadocmcp_documents_update
#
Update a draft document — name, recipients, fields, tokens, images, pricing tables, and metadata. Document must be in draft status. 12 params
Update a draft document — name, recipients, fields, tokens, images, pricing tables, and metadata. Document must be in draft status.
document_id string required Document ID fields string optional Document fields as key-value pairs images string optional Images metadata string optional Document metadata as key-value pairs name string optional Document name pricing_tables string optional Pricing tables recipients string optional List of recipients. Each should have email, first_name, last_name, etc. tables string optional Tables tags string optional Document tags texts string optional List of text blocks to update. Each item should have 'name' and 'data' fields tokens string optional Document tokens (variables). Each should have name and value. url string optional Document URL pandadocmcp_templates_create
#
Create a new template from a publicly accessible PDF URL with optional name, folder, tokens, and owner. 7 params
Create a new template from a publicly accessible PDF URL with optional name, folder, tokens, and owner.
url string required Secure (HTTPS) and publicly accessible URL to the PDF document folder_uuid string optional Folder ID where the created template should be stored metadata string optional Arbitrary key-value data to associate with the template name string optional The name of the template owner_email string optional Owner email for the template owner_membership_id string optional Owner membership_id for the template tokens string optional CUSTOM variables as list of {name, value} pairs pandadocmcp_templates_details_get
#
Get full details for a template including roles, fields, tokens, and pricing tables. 1 param
Get full details for a template including roles, fields, tokens, and pricing tables.
template_id string required Template ID pandadocmcp_templates_list
#
List templates with optional filters for search, tags, folder, and shared/deleted status. 9 params
List templates with optional filters for search, tags, folder, and shared/deleted status.
count string optional Specify how many templates to return. deleted string optional Returns only the deleted templates. fields string optional A comma-separated list of additional fields to include in the response. folder_uuid string optional UUID of the folder where the templates are stored. page string optional Specify which page of the dataset to return. q string optional Search query. Filter by template name. shared string optional Returns only the shared templates. tag string optional Search tag. Filter by template tag. template_id string optional Specify template ID.