Skip to content
Scalekit Docs
Talk to an EngineerDashboard

Pandadoc MCP connector

OAuth 2.1/DCRProductivityAutomationFiles & Documents

Connect to PandaDoc MCP. Create, send, and manage documents, templates, and e-signatures directly from your AI workflows.

Pandadoc MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. 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>
  3. 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.actions
    const connector = 'pandadocmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { 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 call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'pandadocmcp_documents_list',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Create documents — build a document from a PandaDoc template, from markdown content, or from a PDF/DOCX file URL
  • Send for signature — send a draft to its recipients with a custom subject and message, control email notifications, and set forwarding and approval options
  • Manage recipients — add CC recipients, edit a recipient’s details, reassign a signer to another contact, or remove a recipient
  • Track status and history — check document status, retrieve the full audit trail, and manually mark a document Completed, Paid, Expired, or Declined
  • Find and read documents — list with status, folder, tag, sorting and date-range filters, full-text search, and pull content, details, summaries, or metadata (single or batched across up to 40 documents)
  • Work with templates — list templates, inspect a template’s roles, fields, tokens and pricing tables, or create a new template from a PDF URL

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.

NameTypeRequiredDescription
document_idstringrequiredDocument 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.

NameTypeRequiredDescription
document_idstringrequiredDocument ID
pandadocmcp_documents_content_get#Get the textual content of a document in plaintext or markdown format by document ID.2 params

Get the textual content of a document in plaintext or markdown format by document ID.

NameTypeRequiredDescription
content_formatstringrequiredContent format to return. Must be one of: 'plaintext' or 'markdown'.
document_idstringrequiredDocument ID
pandadocmcp_documents_create#Create a document from a template, markdown content, or a PDF/DOCX file URL. Pass a single 'request' object whose 'source' selects the creation mode; each source accepts only its own parameters. Creation is asynchronous - poll Get Document Status until the document is Draft or Error.1 param

Create a document from a template, markdown content, or a PDF/DOCX file URL. Pass a single 'request' object whose 'source' selects the creation mode; each source accepts only its own parameters. Creation is asynchronous - poll Get Document Status until the document is Draft or Error.

NameTypeRequiredDescription
requestobjectrequiredDocument to create. Set `source` to `template` (create from a PandaDoc template), `markdown` (create from markdown content), or `file` (create from a PDF/DOCX file URL). Each source accepts only its own parameters.
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.

NameTypeRequiredDescription
document_idstringrequiredDocument 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.

NameTypeRequiredDescription
assignmentsarrayrequiredList of field-to-recipient assignments. Each item maps a field UUID to a recipient UUID (or null to unassign).
document_idstringrequiredDocument ID
pandadocmcp_documents_list#List documents with filters for status, folder, tag, free-text search, sorting, and created/completed date ranges. Returns paginated results.12 params

List documents with filters for status, folder, tag, free-text search, sorting, and created/completed date ranges. Returns paginated results.

NameTypeRequiredDescription
completed_fromstringoptionalOnly documents completed on or after this ISO-8601 datetime.
completed_tostringoptionalOnly documents completed before this ISO-8601 datetime.
countstringoptionalLimits the size of the response. Default is 50 documents, maximum is 100 documents.
created_fromstringoptionalOnly documents created on or after this ISO-8601 datetime, e.g. ``2026-03-01T00:00:00Z``.
created_tostringoptionalOnly documents created before this ISO-8601 datetime, e.g. ``2026-03-31T23:59:59Z``.
folder_uuidstringoptionalUUID of the folder to list from (folder_uuid, NOT folder_id).
pagestringoptionalPaginates the search result. Increase value to get the next page of results.
qstringoptionalFilters documents by name or reference number (stored on the template level).
sort_bystringoptionalField to sort documents by. Defaults to date_status_changed when omitted.
sort_orderstringoptionalSort direction, ascending when omitted. Keep consistent across pages of the same query.
statusstringoptionalFilters documents by status. Valid values: Draft, Sent, Completed, Uploaded, Error, Viewed, Waiting for Approval, Approved, Rejected, Waiting for Payment, Paid, Expired, Declined, External Review, Scheduled.
tagstringoptionalFilters documents by tag.
pandadocmcp_documents_metadata_batch_get#Retrieve metadata for 1-40 documents in one request. Preferred over calling Get Document Metadata in a loop; a failure for one document does not fail the batch.2 params

Retrieve metadata for 1-40 documents in one request. Preferred over calling Get Document Metadata in a loop; a failure for one document does not fail the batch.

NameTypeRequiredDescription
document_idsarrayrequired1-40 document IDs to fetch metadata for. Duplicates are rejected by the server.
field_keysstringoptionalOptional case-sensitive filter on metadata field `key` (the human-readable name returned as `results[].key` by the single-document endpoint, e.g. `Contract value`). Unknown keys are silently ignored. When omitted, every populated field is returned per document.
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.

NameTypeRequiredDescription
document_idstringrequiredDocument ID
limitstringoptionalMaximum number of fields to return in one response. Omit for API default (100). Max 100.
offsetstringoptionalNumber of fields to skip before starting to collect the result set. For predictable paging, use multiples of `limit`.
pandadocmcp_documents_send#Send a draft document to recipients for review and signature with optional message, subject, and CC settings.9 params

Send a draft document to recipients for review and signature with optional message, subject, and CC settings.

NameTypeRequiredDescription
document_idstringrequiredDocument ID
forwarding_settingsstringoptionalSettings for document and signature forwarding. Controls whether recipients can forward the document or reassign their fields to another person.
messagestringoptionalA message that will be sent by email with a link to the document to sign.
reply_tostringoptionalEmail address used as reply-to for the document. Must be enabled for the account by support.
selected_approversstringoptionalConfiguration 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.
senderstringoptionalSet a sender of a document as an email or membership_id.
silentstringoptionalIf true, disables email notifications for document recipients and the sender. Also disables scheduled reminders. Does not affect 'Approve document' email notification.
skip_unfilled_variablesbooleanoptionalMust be false by default. Only set to true when the user has explicitly chosen to send with empty variables.
subjectstringoptionalValue that will be used as the email subject.
pandadocmcp_documents_status_change#Manually change a document's status. Only Completed, Paid, Expired, and Declined are settable; other statuses are managed automatically by PandaDoc.4 params

Manually change a document's status. Only Completed, Paid, Expired, and Declined are settable; other statuses are managed automatically by PandaDoc.

NameTypeRequiredDescription
document_idstringrequiredDocument ID
statusstringrequiredTarget status. Valid values: Completed, Paid, Expired, Declined.
notestringoptionalOptional note for the status change
notify_recipientsbooleanoptionalWhether 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.

NameTypeRequiredDescription
document_idstringrequiredDocument ID
pandadocmcp_documents_summary_get#Get a summary for a document at one of three granularity levels: detailed, short, or headline.2 params

Get a summary for a document at one of three granularity levels: detailed, short, or headline.

NameTypeRequiredDescription
document_idstringrequiredDocument ID
summary_typestringrequiredSummary 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.

NameTypeRequiredDescription
document_idstringrequiredDocument ID
fieldsstringoptionalDocument fields as key-value pairs
imagesstringoptionalImages
metadatastringoptionalDocument metadata as key-value pairs
namestringoptionalDocument name
pricing_tablesstringoptionalPricing tables to populate by name
recipientsstringoptionalList of recipients. Each should have email, first_name, last_name, etc.
tablesstringoptionalTables to populate by name
tagsstringoptionalDocument tags
textsstringoptionalList of text blocks to update. Each item should have 'name' and 'data' fields
tokensstringoptionalDocument tokens (variables). Each should have name and value.
urlstringoptionalDocument URL
pandadocmcp_recipients_add_cc#Add a CC (non-signing) recipient to a document using an existing contact ID. Cannot add to expired or declined documents.3 params

Add a CC (non-signing) recipient to a document using an existing contact ID. Cannot add to expired or declined documents.

NameTypeRequiredDescription
contact_idstringrequiredContact UUID to add as CC.
document_idstringrequiredDocument UUID
kindstringoptional'contact' or 'contact_group'.
pandadocmcp_recipients_delete#Remove a recipient from a document. Signers can only be removed while the document is in draft; CC recipients can be removed in any status except expired or declined.2 params

Remove a recipient from a document. Signers can only be removed while the document is in draft; CC recipients can be removed in any status except expired or declined.

NameTypeRequiredDescription
document_idstringrequiredDocument UUID
recipient_idstringrequiredRecipient UUID to remove.
pandadocmcp_recipients_edit#Update a recipient's details such as email, name, phone, company, address, or redirect. A signer's email cannot be changed after they have signed.15 params

Update a recipient's details such as email, name, phone, company, address, or redirect. A signer's email cannot be changed after they have signed.

NameTypeRequiredDescription
document_idstringrequiredDocument UUID
recipient_idstringrequiredRecipient UUID from document details.
citystringoptionalCity.
companystringoptionalCompany name.
countrystringoptionalCountry.
delivery_methodsstringoptionalDelivery methods (email/sms).
emailstringoptionalNew email address.
first_namestringoptionalFirst name.
job_titlestringoptionalJob title.
last_namestringoptionalLast name.
phonestringoptionalPhone number.
postal_codestringoptionalPostal / ZIP code.
redirectstringoptionalPost-signing redirect (is_enabled, url).
statestringoptionalState or region.
street_addressstringoptionalStreet address.
pandadocmcp_recipients_reassign#Replace a signer with another contact, transferring all assigned fields to the new signer. Cannot reassign recipients who have already signed.4 params

Replace a signer with another contact, transferring all assigned fields to the new signer. Cannot reassign recipients who have already signed.

NameTypeRequiredDescription
document_idstringrequiredDocument UUID
new_contact_idstringrequiredContact UUID of the new signer.
recipient_idstringrequiredRecipient UUID of the signer to replace.
kindstringoptional'contact' or 'contact_group'.
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.

NameTypeRequiredDescription
urlstringrequiredSecure (HTTPS) and publicly accessible URL to the PDF document
folder_uuidstringoptionalFolder ID where the created template should be stored
metadatastringoptionalArbitrary key-value data to associate with the template
namestringoptionalThe name of the template
owner_emailstringoptionalOwner email for the template
owner_membership_idstringoptionalOwner membership_id for the template
tokensstringoptionalCUSTOM 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.

NameTypeRequiredDescription
template_idstringrequiredTemplate 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.

NameTypeRequiredDescription
countstringoptionalSpecify how many templates to return.
deletedstringoptionalReturns only the deleted templates.
fieldsstringoptionalA comma-separated list of additional fields to include in the response.
folder_uuidstringoptionalUUID of the folder where the templates are stored.
pagestringoptionalSpecify which page of the dataset to return.
qstringoptionalSearch query. Filter by template name.
sharedstringoptionalReturns only the shared templates.
tagstringoptionalSearch tag. Filter by template tag.
template_idstringoptionalSpecify template ID.