PandaDoc Recipient & Signature Management
Overview
Recipients in PandaDoc are the people who receive, view, and sign documents. In MSP engagements, documents typically involve multiple parties -- the client decision-maker who signs the agreement, sometimes a technical contact who reviews, and the MSP representative who countersigns. PandaDoc supports complex signing workflows with ordered signing, role-based assignments, and real-time completion tracking. Understanding recipient management is essential for smooth contract execution.
Anti-triggers
- Creating, sending, or downloading the document itself — use
pandadoc-documents.
- A contact record in the CRM — a PandaDoc recipient is an email address
attached to one document, not a stored contact; use
hubspot-contacts or
salesbuildr-companies-contacts.
MCP Tools
Available Tools
| Tool |
Description |
Key Parameters |
pandadoc-create-document |
Create document with recipients |
recipients array in document creation |
pandadoc-add-recipient |
Add a recipient to an existing document |
document_id, email, first_name, last_name, role, signing_order |
pandadoc-get-document |
Get document with recipient details |
id (required) |
pandadoc-get-document-status |
Check recipient completion status |
id (required) |
Add Recipients During Document Creation
When calling pandadoc-create-document, include the recipients array:
{
"recipients": [
{
"email": "john@acme.com",
"first_name": "John",
"last_name": "Smith",
"role": "Client",
"signing_order": 1
},
{
"email": "sarah@techforce.com",
"first_name": "Sarah",
"last_name": "Johnson",
"role": "MSP",
"signing_order": 2
}
]
}
Add a Recipient to an Existing Document
Call pandadoc-add-recipient with:
- Document: Set
document_id to the document ID (required)
- Email: Set
email to the recipient's email address
- Name: Set
first_name and last_name
- Role: Set
role to match a role defined in the template
- Order: Set
signing_order to control when they sign
Example: Add a co-signer:
pandadoc-add-recipient with document_id=msFYActMfJHqNTKH9tcPFa, email="cfo@acme.com", first_name="Lisa", last_name="Chen", role="Approver", signing_order=2
Check Recipient Completion
Call pandadoc-get-document with the document id to see recipient status:
- Review the
recipients array
- Check
has_completed for each recipient
true means the recipient has completed their signing action
false means they have not yet signed
Key Concepts
Recipient Roles
Roles define what actions a recipient takes on the document:
| Role |
Description |
Common Use |
| Signer |
Must sign the document |
Client decision-maker, MSP authorized representative |
| Approver |
Must approve before sending |
Internal review (e.g., MSP manager approval) |
| Viewer |
Can view but not sign |
CC'd stakeholders, technical contacts |
| CC |
Receives a copy after completion |
Accounting, project managers |
Signing Order
Signing order controls the sequence in which recipients receive and sign the document:
| Order |
Description |
Example |
| 1 |
Signs first |
Client CEO signs the MSA |
| 2 |
Signs second (after #1 completes) |
MSP owner countersigns |
| 3 |
Signs third |
Witness or notary (if required) |
When signing order is set:
- Recipient #1 receives the document first
- Recipient #2 is notified only after #1 has completed
- This ensures proper document flow and prevents premature signing
When signing order is not set (or all set to the same value):
- All recipients receive the document simultaneously
- Any recipient can sign in any order
Multi-Party MSP Agreements
Common multi-party signing scenarios for MSPs:
| Scenario |
Signers |
Signing Order |
| Simple MSA |
Client + MSP |
Client signs first (1), MSP countersigns (2) |
| Board-approved MSA |
Client + Board + MSP |
Client signs (1), Board approves (2), MSP signs (3) |
| Multi-site SOW |
Client HQ + Branch Manager + MSP |
HQ signs (1), Branch signs (1), MSP countersigns (2) |
| Vendor agreement |
Client + MSP + Vendor |
Client signs (1), Vendor signs (2), MSP signs (3) |
| Internal review |
MSP Tech + MSP Manager |
Tech reviews (1), Manager approves (2), then send to client |
Completion Tracking
Track the progress of document signing across all recipients:
| Status |
Meaning |
has_completed: false |
Recipient has not yet signed |
has_completed: true |
Recipient has completed their action |
| All recipients completed |
Document status changes to document.completed |
Field Reference
Recipient Fields
| Field |
Type |
Description |
email |
string |
Recipient email address (required) |
first_name |
string |
Recipient first name |
last_name |
string |
Recipient last name |
role |
string |
Recipient role (must match template role) |
signing_order |
integer |
Signing sequence (1, 2, 3...) |
has_completed |
boolean |
Whether the recipient has completed their action |
recipient_type |
string |
Type of recipient (signer, approver, viewer, cc) |
Common Workflows
Set Up a Standard MSP Contract Signing
- Create document with
pandadoc-create-document including two recipients:
- Client signer with
signing_order=1
- MSP signer with
signing_order=2
- Send the document with
pandadoc-send-document
- Client receives the document and signs
- MSP representative is automatically notified to countersign
- Document status changes to
document.completed
Add a Recipient After Document Creation
- Get the document with
pandadoc-get-document to review current recipients
- Call
pandadoc-add-recipient with the new recipient's details
- Verify the recipient was added by calling
pandadoc-get-document again
Check Who Has Signed
- Call
pandadoc-get-document with the document id
- Review the
recipients array
- For each recipient, check
has_completed:
true = signed
false = waiting for signature
- Report the signing progress
Follow Up on Unsigned Documents
- Call
pandadoc-list-documents with status=document.sent to find sent documents
- For each document, call
pandadoc-get-document to check recipient completion
- Identify recipients where
has_completed=false
- Flag documents that have been waiting more than 3-5 business days
Handle a Declined Document
- When a document status is
document.declined:
- Contact the recipient to understand their concerns
- Address the issues (modify terms, pricing, scope)
- Create a new document from the same template with updated content
- Send the new document to the same recipients
Response Examples
Document with Recipients:
{
"id": "msFYActMfJHqNTKH9tcPFa",
"name": "Acme Corp - Managed Services Agreement",
"status": "document.sent",
"recipients": [
{
"email": "john@acme.com",
"first_name": "John",
"last_name": "Smith",
"role": "Client",
"signing_order": 1,
"has_completed": true
},
{
"email": "sarah@techforce.com",
"first_name": "Sarah",
"last_name": "Johnson",
"role": "MSP",
"signing_order": 2,
"has_completed": false
}
]
}
Recipient Added:
{
"email": "cfo@acme.com",
"first_name": "Lisa",
"last_name": "Chen",
"role": "Approver",
"signing_order": 2,
"has_completed": false
}
Error Handling
Common Errors
| Error |
Cause |
Resolution |
| Invalid email |
Email format is incorrect |
Verify the email address format |
| Role not found |
Role does not exist in template |
Check template roles with pandadoc-get-template |
| Duplicate recipient |
Email already added to document |
Check existing recipients before adding |
| Cannot add recipient |
Document already sent or completed |
Recipients must be added before sending |
| Invalid signing order |
Signing order conflicts |
Ensure signing orders are sequential positive integers |
Recipient Addition Restrictions
| Document Status |
Can Add Recipients? |
Notes |
document.draft |
Yes |
Recipients can be freely added and modified |
document.sent |
Limited |
Some changes may require voiding and recreating |
document.completed |
No |
Document is finalized |
document.voided |
No |
Document is cancelled |
Best Practices
- Add all recipients during creation - Include recipients in
pandadoc-create-document rather than adding after
- Use signing order - Always set signing order for multi-party agreements
- Match template roles - Ensure recipient roles match the roles defined in the template
- Track completion actively - Check recipient completion status regularly for sent documents
- Use viewer role for CC - Add stakeholders as viewers rather than signers when they don't need to sign
- Plan signing flow - For complex agreements, map out the signing order before creating the document
- Document recipient changes - Note any changes to recipients in your PSA or CRM
Related Skills
1---2name: pandadoc-recipients3description: PandaDoc recipients and e-signature mechanics: recipient roles (signer, approver, viewer, CC), signing-order behavior, multi-party MSP signing scenarios, completion tracking via `has_completed`, recipient fields, and the document statuses that restrict adding or changing recipients.4---56# PandaDoc Recipient & Signature Management78## Overview910Recipients in PandaDoc are the people who receive, view, and sign documents. In MSP engagements, documents typically involve multiple parties -- the client decision-maker who signs the agreement, sometimes a technical contact who reviews, and the MSP representative who countersigns. PandaDoc supports complex signing workflows with ordered signing, role-based assignments, and real-time completion tracking. Understanding recipient management is essential for smooth contract execution.1112## Anti-triggers1314- **Creating, sending, or downloading the document itself** — use15 `pandadoc-documents`.16- **A contact record in the CRM** — a PandaDoc recipient is an email address17 attached to one document, not a stored contact; use `hubspot-contacts` or18 `salesbuildr-companies-contacts`.1920## MCP Tools2122### Available Tools2324| Tool | Description | Key Parameters |25|------|-------------|----------------|26| `pandadoc-create-document` | Create document with recipients | `recipients` array in document creation |27| `pandadoc-add-recipient` | Add a recipient to an existing document | `document_id`, `email`, `first_name`, `last_name`, `role`, `signing_order` |28| `pandadoc-get-document` | Get document with recipient details | `id` (required) |29| `pandadoc-get-document-status` | Check recipient completion status | `id` (required) |3031### Add Recipients During Document Creation3233When calling `pandadoc-create-document`, include the `recipients` array:3435```json36{37 "recipients": [38 {39 "email": "john@acme.com",40 "first_name": "John",41 "last_name": "Smith",42 "role": "Client",43 "signing_order": 144 },45 {46 "email": "sarah@techforce.com",47 "first_name": "Sarah",48 "last_name": "Johnson",49 "role": "MSP",50 "signing_order": 251 }52 ]53}54```5556### Add a Recipient to an Existing Document5758Call `pandadoc-add-recipient` with:5960- **Document:** Set `document_id` to the document ID (required)61- **Email:** Set `email` to the recipient's email address62- **Name:** Set `first_name` and `last_name`63- **Role:** Set `role` to match a role defined in the template64- **Order:** Set `signing_order` to control when they sign6566**Example: Add a co-signer:**67- `pandadoc-add-recipient` with `document_id=msFYActMfJHqNTKH9tcPFa`, `email="cfo@acme.com"`, `first_name="Lisa"`, `last_name="Chen"`, `role="Approver"`, `signing_order=2`6869### Check Recipient Completion7071Call `pandadoc-get-document` with the document `id` to see recipient status:7273- Review the `recipients` array74- Check `has_completed` for each recipient75- `true` means the recipient has completed their signing action76- `false` means they have not yet signed7778## Key Concepts7980### Recipient Roles8182Roles define what actions a recipient takes on the document:8384| Role | Description | Common Use |85|------|-------------|-----------|86| Signer | Must sign the document | Client decision-maker, MSP authorized representative |87| Approver | Must approve before sending | Internal review (e.g., MSP manager approval) |88| Viewer | Can view but not sign | CC'd stakeholders, technical contacts |89| CC | Receives a copy after completion | Accounting, project managers |9091### Signing Order9293Signing order controls the sequence in which recipients receive and sign the document:9495| Order | Description | Example |96|-------|-------------|---------|97| 1 | Signs first | Client CEO signs the MSA |98| 2 | Signs second (after #1 completes) | MSP owner countersigns |99| 3 | Signs third | Witness or notary (if required) |100101When signing order is set:102- Recipient #1 receives the document first103- Recipient #2 is notified only after #1 has completed104- This ensures proper document flow and prevents premature signing105106When signing order is not set (or all set to the same value):107- All recipients receive the document simultaneously108- Any recipient can sign in any order109110### Multi-Party MSP Agreements111112Common multi-party signing scenarios for MSPs:113114| Scenario | Signers | Signing Order |115|----------|---------|---------------|116| Simple MSA | Client + MSP | Client signs first (1), MSP countersigns (2) |117| Board-approved MSA | Client + Board + MSP | Client signs (1), Board approves (2), MSP signs (3) |118| Multi-site SOW | Client HQ + Branch Manager + MSP | HQ signs (1), Branch signs (1), MSP countersigns (2) |119| Vendor agreement | Client + MSP + Vendor | Client signs (1), Vendor signs (2), MSP signs (3) |120| Internal review | MSP Tech + MSP Manager | Tech reviews (1), Manager approves (2), then send to client |121122### Completion Tracking123124Track the progress of document signing across all recipients:125126| Status | Meaning |127|--------|---------|128| `has_completed: false` | Recipient has not yet signed |129| `has_completed: true` | Recipient has completed their action |130| All recipients completed | Document status changes to `document.completed` |131132## Field Reference133134### Recipient Fields135136| Field | Type | Description |137|-------|------|-------------|138| `email` | string | Recipient email address (required) |139| `first_name` | string | Recipient first name |140| `last_name` | string | Recipient last name |141| `role` | string | Recipient role (must match template role) |142| `signing_order` | integer | Signing sequence (1, 2, 3...) |143| `has_completed` | boolean | Whether the recipient has completed their action |144| `recipient_type` | string | Type of recipient (signer, approver, viewer, cc) |145146## Common Workflows147148### Set Up a Standard MSP Contract Signing1491501. Create document with `pandadoc-create-document` including two recipients:151 - Client signer with `signing_order=1`152 - MSP signer with `signing_order=2`1532. Send the document with `pandadoc-send-document`1543. Client receives the document and signs1554. MSP representative is automatically notified to countersign1565. Document status changes to `document.completed`157158### Add a Recipient After Document Creation1591601. Get the document with `pandadoc-get-document` to review current recipients1612. Call `pandadoc-add-recipient` with the new recipient's details1623. Verify the recipient was added by calling `pandadoc-get-document` again163164### Check Who Has Signed1651661. Call `pandadoc-get-document` with the document `id`1672. Review the `recipients` array1683. For each recipient, check `has_completed`:169 - `true` = signed170 - `false` = waiting for signature1714. Report the signing progress172173### Follow Up on Unsigned Documents1741751. Call `pandadoc-list-documents` with `status=document.sent` to find sent documents1762. For each document, call `pandadoc-get-document` to check recipient completion1773. Identify recipients where `has_completed=false`1784. Flag documents that have been waiting more than 3-5 business days179180### Handle a Declined Document1811821. When a document status is `document.declined`:183 - Contact the recipient to understand their concerns184 - Address the issues (modify terms, pricing, scope)185 - Create a new document from the same template with updated content186 - Send the new document to the same recipients187188## Response Examples189190**Document with Recipients:**191192```json193{194 "id": "msFYActMfJHqNTKH9tcPFa",195 "name": "Acme Corp - Managed Services Agreement",196 "status": "document.sent",197 "recipients": [198 {199 "email": "john@acme.com",200 "first_name": "John",201 "last_name": "Smith",202 "role": "Client",203 "signing_order": 1,204 "has_completed": true205 },206 {207 "email": "sarah@techforce.com",208 "first_name": "Sarah",209 "last_name": "Johnson",210 "role": "MSP",211 "signing_order": 2,212 "has_completed": false213 }214 ]215}216```217218**Recipient Added:**219220```json221{222 "email": "cfo@acme.com",223 "first_name": "Lisa",224 "last_name": "Chen",225 "role": "Approver",226 "signing_order": 2,227 "has_completed": false228}229```230231## Error Handling232233### Common Errors234235| Error | Cause | Resolution |236|-------|-------|------------|237| Invalid email | Email format is incorrect | Verify the email address format |238| Role not found | Role does not exist in template | Check template roles with `pandadoc-get-template` |239| Duplicate recipient | Email already added to document | Check existing recipients before adding |240| Cannot add recipient | Document already sent or completed | Recipients must be added before sending |241| Invalid signing order | Signing order conflicts | Ensure signing orders are sequential positive integers |242243### Recipient Addition Restrictions244245| Document Status | Can Add Recipients? | Notes |246|----------------|--------------------|----|247| `document.draft` | Yes | Recipients can be freely added and modified |248| `document.sent` | Limited | Some changes may require voiding and recreating |249| `document.completed` | No | Document is finalized |250| `document.voided` | No | Document is cancelled |251252## Best Practices2532541. **Add all recipients during creation** - Include recipients in `pandadoc-create-document` rather than adding after2552. **Use signing order** - Always set signing order for multi-party agreements2563. **Match template roles** - Ensure recipient roles match the roles defined in the template2574. **Track completion actively** - Check recipient completion status regularly for sent documents2585. **Use viewer role for CC** - Add stakeholders as viewers rather than signers when they don't need to sign2596. **Plan signing flow** - For complex agreements, map out the signing order before creating the document2607. **Document recipient changes** - Note any changes to recipients in your PSA or CRM261262## Related Skills263264- [PandaDoc API Patterns](../api-patterns/SKILL.md) - MCP tools reference and connection info265- [PandaDoc Documents](../documents/SKILL.md) - Document creation and management266- [PandaDoc Templates](../templates/SKILL.md) - Template roles and fields267- [PandaDoc Proposals](../proposals/SKILL.md) - MSP proposal workflows with recipients