PandaDoc Template Management
Overview
Templates in PandaDoc are reusable document blueprints that define the structure, layout, content, and fields of a document. MSPs use templates to standardize their business documents -- managed service agreements (MSAs), statements of work (SOWs), proposals, hardware quotes, and NDAs. Templates contain placeholders (tokens) for client-specific content, signature fields, and pricing tables that get populated when a document is created. A well-organized template library is the foundation of an efficient MSP sales process.
Anti-triggers
- A real document created from a template — templates have no recipients,
status, or signatures; use
pandadoc-documents.
- Which template suits a given MSP deal type — use
pandadoc-proposals.
MCP Tools
Available Tools
| Tool |
Description |
Key Parameters |
pandadoc-list-templates |
List and search templates |
q (search query), count, page, tag, folder_uuid |
pandadoc-get-template |
Get template details |
id (required) |
List Templates
Call pandadoc-list-templates with optional parameters:
- Search by name: Set
q to a template name or keyword (e.g., "MSA", "proposal", "quote")
- Filter by tag: Set
tag to a template tag (e.g., "msp", "managed-services")
- Filter by folder: Set
folder_uuid to filter by a specific folder
- Paginate: Set
page (1-based) and count (up to 100)
Example: Find MSA templates:
pandadoc-list-templates with q=Managed Services Agreement, count=100
Example: Find all proposal templates:
pandadoc-list-templates with q=proposal, count=100
Example: List all templates:
pandadoc-list-templates with count=100, page=1
Get Template Details
Call pandadoc-get-template with the id parameter to get full template details including fields, tokens, roles, and pricing table structure.
Example:
pandadoc-get-template with id=tpl_abc123def456
Key Concepts
Template Structure
| Component |
Description |
Example |
| Layout |
Page structure and design |
Header, body sections, footer |
| Content blocks |
Static text and formatting |
Terms and conditions, scope descriptions |
| Tokens |
Dynamic text placeholders |
{{Client.Company}}, {{Contract.StartDate}} |
| Fields |
Interactive form fields |
Text inputs, checkboxes, dropdowns |
| Signature fields |
E-signature placeholders |
Signature, initials, date signed |
| Pricing tables |
Line-item pricing |
Services, hardware, recurring fees |
| Roles |
Recipient roles |
Client, MSP, Approver |
Common MSP Templates
| Template |
Purpose |
Key Tokens |
| Managed Services Agreement (MSA) |
Long-term IT management contract |
Client.Company, Contract.Term, Contract.Value, MSP.Company |
| Statement of Work (SOW) |
Project-specific scope and deliverables |
Project.Name, Project.Timeline, Project.Budget |
| Service Proposal |
Proposed managed services with pricing |
Client.Company, Services.Description, Pricing |
| Hardware Quote |
Equipment and licensing quote |
Client.Company, Quote.ValidUntil, Items |
| NDA |
Non-disclosure agreement |
Client.Company, Client.Name, Effective.Date |
| Change Order |
Modifications to existing agreements |
ChangeOrder.Number, Original.Agreement, Changes |
| Quarterly Business Review (QBR) |
Review document for client meetings |
Client.Company, Review.Period, Metrics |
Template Versioning
Templates in PandaDoc support versioning:
| Field |
Description |
version |
Current version number |
date_created |
When the template was first created |
date_modified |
When the template was last updated |
Important: When a template is updated, existing documents created from earlier versions are not affected. New documents will use the latest version.
Template Tags
Use tags to organize templates by category:
| Tag |
Purpose |
msp |
General MSP templates |
managed-services |
Managed service agreements |
project |
Project-based templates (SOWs) |
security |
Security service templates |
compliance |
Compliance-related documents |
onboarding |
New client onboarding documents |
Field Reference
Template Fields
| Field |
Type |
Description |
id |
string |
Template unique identifier |
name |
string |
Template display name |
date_created |
datetime |
When the template was created |
date_modified |
datetime |
When the template was last modified |
version |
string |
Template version number |
tags |
array |
Template tags for organization |
folder_uuid |
string |
Folder the template belongs to |
roles |
array |
Recipient roles defined in the template |
tokens |
array |
Content tokens (dynamic variables) |
fields |
array |
Interactive form fields |
pricing_tables |
array |
Pricing table structures |
Token Fields
| Field |
Type |
Description |
name |
string |
Token name (e.g., "Client.Company") |
value |
string |
Default value (if any) |
Common Workflows
Find the Right Template
- Call
pandadoc-list-templates with q set to the document type (e.g., "MSA", "proposal", "SOW")
- Review the returned templates for the best match
- Call
pandadoc-get-template with the id to review template details, tokens, and fields
- Use the template ID to create a new document with
pandadoc-create-document
List All Available Templates
- Call
pandadoc-list-templates with count=100 and page=1
- If more than 100 templates exist, paginate through additional pages
- Compile a list of template names, IDs, and tags
Use a Template to Create a Document
- Find the template with
pandadoc-list-templates using q
- Get template details with
pandadoc-get-template to identify required tokens and fields
- Call
pandadoc-create-document with template_uuid, name, recipients, and tokens
- Verify the document was created with
pandadoc-get-document
Audit Template Usage
- Call
pandadoc-list-documents with template_id set to a specific template UUID
- Count the documents created from each template to identify most/least used templates
- Review documents by status to see conversion rates (draft -> sent -> completed)
Response Examples
Template List:
{
"results": [
{
"id": "tpl_abc123def456",
"name": "Managed Services Agreement (MSA)",
"date_created": "2025-06-15T10:00:00.000000Z",
"date_modified": "2026-01-20T14:30:00.000000Z",
"version": "5",
"tags": ["msp", "managed-services"]
},
{
"id": "tpl_ghi789jkl012",
"name": "Statement of Work (SOW)",
"date_created": "2025-08-01T09:00:00.000000Z",
"date_modified": "2026-02-10T11:15:00.000000Z",
"version": "3",
"tags": ["msp", "project"]
}
]
}
Template Details:
{
"id": "tpl_abc123def456",
"name": "Managed Services Agreement (MSA)",
"date_created": "2025-06-15T10:00:00.000000Z",
"date_modified": "2026-01-20T14:30:00.000000Z",
"version": "5",
"tags": ["msp", "managed-services"],
"roles": [
{"name": "Client"},
{"name": "MSP"}
],
"tokens": [
{"name": "Client.Company", "value": ""},
{"name": "Client.Name", "value": ""},
{"name": "Client.Address", "value": ""},
{"name": "Contract.StartDate", "value": ""},
{"name": "Contract.Term", "value": "12 months"},
{"name": "MSP.Company", "value": "TechForce IT Solutions"}
]
}
Error Handling
Common Errors
| Error |
Cause |
Resolution |
| Template not found |
Invalid template ID |
Verify the ID with pandadoc-list-templates |
| No results |
Search term too specific |
Try a shorter or broader search term |
| Folder not found |
Invalid folder UUID |
Verify the folder exists in PandaDoc |
Best Practices
- Standardize naming - Use consistent naming for templates (e.g., "MSA - Managed Services Agreement")
- Use tags - Tag every template for easy filtering and organization
- Use folders - Organize templates into folders by category (Agreements, Proposals, Quotes)
- Define all tokens - Include tokens for every variable field to avoid manual editing
- Set default values - Pre-fill tokens with sensible defaults (e.g., your MSP company name)
- Include pricing tables - Use structured pricing tables rather than static text for pricing
- Define roles - Set up recipient roles (Client, MSP, Approver) in templates for consistent workflows
- Version templates - Update templates when terms change rather than creating new ones
- Review regularly - Audit template usage quarterly and archive unused templates
Related Skills
1---2name: pandadoc-templates3description: PandaDoc template library and structure: layout, content blocks, tokens, interactive fields, signature fields, pricing tables, and recipient roles, plus the MSP template set (MSAs, SOWs, proposals, quotes, NDAs, change orders, QBRs), template versioning, tags, and the template field reference.4---56# PandaDoc Template Management78## Overview910Templates in PandaDoc are reusable document blueprints that define the structure, layout, content, and fields of a document. MSPs use templates to standardize their business documents -- managed service agreements (MSAs), statements of work (SOWs), proposals, hardware quotes, and NDAs. Templates contain placeholders (tokens) for client-specific content, signature fields, and pricing tables that get populated when a document is created. A well-organized template library is the foundation of an efficient MSP sales process.1112## Anti-triggers1314- **A real document created from a template** — templates have no recipients,15 status, or signatures; use `pandadoc-documents`.16- **Which template suits a given MSP deal type** — use `pandadoc-proposals`.1718## MCP Tools1920### Available Tools2122| Tool | Description | Key Parameters |23|------|-------------|----------------|24| `pandadoc-list-templates` | List and search templates | `q` (search query), `count`, `page`, `tag`, `folder_uuid` |25| `pandadoc-get-template` | Get template details | `id` (required) |2627### List Templates2829Call `pandadoc-list-templates` with optional parameters:3031- **Search by name:** Set `q` to a template name or keyword (e.g., "MSA", "proposal", "quote")32- **Filter by tag:** Set `tag` to a template tag (e.g., "msp", "managed-services")33- **Filter by folder:** Set `folder_uuid` to filter by a specific folder34- **Paginate:** Set `page` (1-based) and `count` (up to 100)3536**Example: Find MSA templates:**37- `pandadoc-list-templates` with `q=Managed Services Agreement`, `count=100`3839**Example: Find all proposal templates:**40- `pandadoc-list-templates` with `q=proposal`, `count=100`4142**Example: List all templates:**43- `pandadoc-list-templates` with `count=100`, `page=1`4445### Get Template Details4647Call `pandadoc-get-template` with the `id` parameter to get full template details including fields, tokens, roles, and pricing table structure.4849**Example:**50- `pandadoc-get-template` with `id=tpl_abc123def456`5152## Key Concepts5354### Template Structure5556| Component | Description | Example |57|-----------|-------------|---------|58| Layout | Page structure and design | Header, body sections, footer |59| Content blocks | Static text and formatting | Terms and conditions, scope descriptions |60| Tokens | Dynamic text placeholders | `{{Client.Company}}`, `{{Contract.StartDate}}` |61| Fields | Interactive form fields | Text inputs, checkboxes, dropdowns |62| Signature fields | E-signature placeholders | Signature, initials, date signed |63| Pricing tables | Line-item pricing | Services, hardware, recurring fees |64| Roles | Recipient roles | Client, MSP, Approver |6566### Common MSP Templates6768| Template | Purpose | Key Tokens |69|----------|---------|-----------|70| Managed Services Agreement (MSA) | Long-term IT management contract | Client.Company, Contract.Term, Contract.Value, MSP.Company |71| Statement of Work (SOW) | Project-specific scope and deliverables | Project.Name, Project.Timeline, Project.Budget |72| Service Proposal | Proposed managed services with pricing | Client.Company, Services.Description, Pricing |73| Hardware Quote | Equipment and licensing quote | Client.Company, Quote.ValidUntil, Items |74| NDA | Non-disclosure agreement | Client.Company, Client.Name, Effective.Date |75| Change Order | Modifications to existing agreements | ChangeOrder.Number, Original.Agreement, Changes |76| Quarterly Business Review (QBR) | Review document for client meetings | Client.Company, Review.Period, Metrics |7778### Template Versioning7980Templates in PandaDoc support versioning:8182| Field | Description |83|-------|-------------|84| `version` | Current version number |85| `date_created` | When the template was first created |86| `date_modified` | When the template was last updated |8788> **Important:** When a template is updated, existing documents created from earlier versions are not affected. New documents will use the latest version.8990### Template Tags9192Use tags to organize templates by category:9394| Tag | Purpose |95|-----|---------|96| `msp` | General MSP templates |97| `managed-services` | Managed service agreements |98| `project` | Project-based templates (SOWs) |99| `security` | Security service templates |100| `compliance` | Compliance-related documents |101| `onboarding` | New client onboarding documents |102103## Field Reference104105### Template Fields106107| Field | Type | Description |108|-------|------|-------------|109| `id` | string | Template unique identifier |110| `name` | string | Template display name |111| `date_created` | datetime | When the template was created |112| `date_modified` | datetime | When the template was last modified |113| `version` | string | Template version number |114| `tags` | array | Template tags for organization |115| `folder_uuid` | string | Folder the template belongs to |116| `roles` | array | Recipient roles defined in the template |117| `tokens` | array | Content tokens (dynamic variables) |118| `fields` | array | Interactive form fields |119| `pricing_tables` | array | Pricing table structures |120121### Token Fields122123| Field | Type | Description |124|-------|------|-------------|125| `name` | string | Token name (e.g., "Client.Company") |126| `value` | string | Default value (if any) |127128## Common Workflows129130### Find the Right Template1311321. Call `pandadoc-list-templates` with `q` set to the document type (e.g., "MSA", "proposal", "SOW")1332. Review the returned templates for the best match1343. Call `pandadoc-get-template` with the `id` to review template details, tokens, and fields1354. Use the template ID to create a new document with `pandadoc-create-document`136137### List All Available Templates1381391. Call `pandadoc-list-templates` with `count=100` and `page=1`1402. If more than 100 templates exist, paginate through additional pages1413. Compile a list of template names, IDs, and tags142143### Use a Template to Create a Document1441451. Find the template with `pandadoc-list-templates` using `q`1462. Get template details with `pandadoc-get-template` to identify required tokens and fields1473. Call `pandadoc-create-document` with `template_uuid`, `name`, `recipients`, and `tokens`1484. Verify the document was created with `pandadoc-get-document`149150### Audit Template Usage1511521. Call `pandadoc-list-documents` with `template_id` set to a specific template UUID1532. Count the documents created from each template to identify most/least used templates1543. Review documents by status to see conversion rates (draft -> sent -> completed)155156## Response Examples157158**Template List:**159160```json161{162 "results": [163 {164 "id": "tpl_abc123def456",165 "name": "Managed Services Agreement (MSA)",166 "date_created": "2025-06-15T10:00:00.000000Z",167 "date_modified": "2026-01-20T14:30:00.000000Z",168 "version": "5",169 "tags": ["msp", "managed-services"]170 },171 {172 "id": "tpl_ghi789jkl012",173 "name": "Statement of Work (SOW)",174 "date_created": "2025-08-01T09:00:00.000000Z",175 "date_modified": "2026-02-10T11:15:00.000000Z",176 "version": "3",177 "tags": ["msp", "project"]178 }179 ]180}181```182183**Template Details:**184185```json186{187 "id": "tpl_abc123def456",188 "name": "Managed Services Agreement (MSA)",189 "date_created": "2025-06-15T10:00:00.000000Z",190 "date_modified": "2026-01-20T14:30:00.000000Z",191 "version": "5",192 "tags": ["msp", "managed-services"],193 "roles": [194 {"name": "Client"},195 {"name": "MSP"}196 ],197 "tokens": [198 {"name": "Client.Company", "value": ""},199 {"name": "Client.Name", "value": ""},200 {"name": "Client.Address", "value": ""},201 {"name": "Contract.StartDate", "value": ""},202 {"name": "Contract.Term", "value": "12 months"},203 {"name": "MSP.Company", "value": "TechForce IT Solutions"}204 ]205}206```207208## Error Handling209210### Common Errors211212| Error | Cause | Resolution |213|-------|-------|------------|214| Template not found | Invalid template ID | Verify the ID with `pandadoc-list-templates` |215| No results | Search term too specific | Try a shorter or broader search term |216| Folder not found | Invalid folder UUID | Verify the folder exists in PandaDoc |217218## Best Practices2192201. **Standardize naming** - Use consistent naming for templates (e.g., "MSA - Managed Services Agreement")2212. **Use tags** - Tag every template for easy filtering and organization2223. **Use folders** - Organize templates into folders by category (Agreements, Proposals, Quotes)2234. **Define all tokens** - Include tokens for every variable field to avoid manual editing2245. **Set default values** - Pre-fill tokens with sensible defaults (e.g., your MSP company name)2256. **Include pricing tables** - Use structured pricing tables rather than static text for pricing2267. **Define roles** - Set up recipient roles (Client, MSP, Approver) in templates for consistent workflows2278. **Version templates** - Update templates when terms change rather than creating new ones2289. **Review regularly** - Audit template usage quarterly and archive unused templates229230## Related Skills231232- [PandaDoc API Patterns](../api-patterns/SKILL.md) - MCP tools reference and connection info233- [PandaDoc Documents](../documents/SKILL.md) - Creating documents from templates234- [PandaDoc Recipients](../recipients/SKILL.md) - Managing recipients in documents235- [PandaDoc Proposals](../proposals/SKILL.md) - MSP proposal workflows