find-contact
Resolve a 3CX contact or extension by email, extension, or name
Create a new PandaDoc document from a template with recipients and content
$ npx -y skills add wyre-technology/msp-claude-plugins --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
/create-documentContext preview
What this command does when you run it.
Create a new PandaDoc document from a template with recipients and content
description: Create a new PandaDoc document from a template with recipients and content argument-hint: "<template> <recipient_email> <recipient_name> [document_name] [variables]" arguments: [template, recipient_email, recipient_name, document_name, variables]
Create a new document from a PandaDoc template, populated with recipients and content tokens. This is the primary way MSPs create proposals, MSAs, SOWs, and quotes for clients.
1. **Resolve template** - Find the template by name or use the provided ID
2. **Review template details** - Get tokens, fields, and roles
Call `pandadoc-get-template` with the resolved template `id` to identify:
3. **Build the document** - Create with recipients and content
Call `pandadoc-create-document` with:
4. **Verify document creation**
Call `pandadoc-get-document` with the returned `id` to confirm:
5. **Present document summary** to the user
6. **Optionally send** - Ask if the user wants to send immediately or review first
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | template | string | Yes | - | Template name or ID | | recipient_email | string | Yes | - | Primary recipient email address | | recipient_name | string | Yes | - | Primary recipient full name (first and last) | | document_name | string | No | auto | Document name (defaults to "Template Name - Recipient Name") | | variables | key-value | No | - | Content token values (e.g., Client.Company=Acme Corporation) |
/create-document --template "Managed Services Agreement" --recipient_email "john@acme.com" --recipient_name "John Smith"
/create-document --template "Managed Services Agreement" --recipient_email "john@acme.com" --recipient_name "John Smith" --document_name "Acme Corp - MSA 2026"
/create-document --template "Managed Services Agreement" --recipient_email "john@acme.com" --recipient_name "John Smith" --variables "Client.Company=Acme Corporation, Contract.StartDate=March 1 2026, Contract.Term=36 months, Client.UserCount=50"
/create-document --template "Hardware Quote" --recipient_email "lisa@globalservices.com" --recipient_name "Lisa Chen" --document_name "Global Services - Workstation Refresh Q1 2026"
/create-document --template "Statement of Work" --recipient_email "mike@riverside.com" --recipient_name "Mike Torres" --variables "Project.Name=Network Infrastructure Upgrade, Project.Timeline=8 weeks, Project.Budget=$45000"
Document Created Successfully ================================================================ Document ID: msFYActMfJHqNTKH9tcPFa Name: Acme Corp - Managed Services Agreement Status: Draft Template: Managed Services Agreement (v5) Created: 2026-02-24T10:30:00.000Z Recipients: 1. John Smith <john@acme.com> - Client (Signer, Order: 1) Content Tokens: Client.Company: Acme Corporation Contract.StartDate: March 1, 2026 Contract.Term: 36 months Client.UserCount: 50 Next Steps: - Review the document in PandaDoc: https://app.pandadoc.com/a/#/documents/msFYActMfJHqNTKH9tcPFa - Add MSP countersigner if needed - Send for signature: /send-document --document_id "msFYActMfJHqNTKH9tcPFa" ================================================================
Template not found: "Nonexistent Template" Suggestions: - Check spelling of the template name - List available templates: /list-templates - Search by keyword: /list-templates --query "MSA" - Create the template in PandaDoc first at app.pandadoc.com
Warning: Template has tokens that were not provided Template: Managed Services Agreement Missing tokens: - Client.Address (no default value) - SLA.ResponseTime (no default value) - SLA.Uptime (no default value) The document was created with empty values for these tokens. Edit the document in PandaDoc or recreate with: /create-document --template "Managed Services Agreement" \ --recipient_email "john@acme.com" \ --recipient_name "John Smith" \ --variables "Client.Company=Acme, Client.Address=123 Main St, SLA.ResponseTime=15 minutes, SLA.Uptime=99.9%"
Error: Invalid recipient email address "john@" is not a valid email address. Please provide a valid email: /create-document --template "MSA" --recipient_email "john@acme.com" --recipient_name "John Smith"
Error: Unable to connect to PandaDoc MCP server Possible causes: - API key is invalid or expired - MCP server is not configured - Network connectivity issue Check your MCP configuration and regenerate the API key at app.pandadoc.com > Settings > API
Error: Rate limit exceeded (429) Please wait a moment and try again.
One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: mcp.wyre.ai
Repo: wyre-technology/msp-claude-plugins
Resolve a 3CX contact or extension by email, extension, or name
Search for specific threat patterns in Abnormal Security by sender, recipient, attack type, or keywords
Triage recent email threats detected by Abnormal Security by severity and attack type