api-patterns
3CX's native PBX MCP server: the per-PBX endpoint shape (every PBX is its own FQDN and its own OAuth authorization server — there is no shared mcp.3cx.com),…
Autotask CRM entities - companies (accounts), contacts, and sites/locations - including field references, company type classifications, and how these records underpin tickets, contracts, and projects for MSP account management.
$ npx -y skills add wyre-technology/msp-claude-plugins --skill crm --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/crmContext preview
The summary Claude sees to decide when to auto-load this skill.
Autotask CRM entities - companies (accounts), contacts, and sites/locations - including field references, company type classifications, and how these records underpin tickets, contracts, and projects for MSP account management.
name: "Autotask CRM" description: > Autotask CRM entities - companies (accounts), contacts, and sites/locations - including field references, company type classifications, and how these records underpin tickets, contracts, and projects for MSP account management. when_to_use: >- When working with companies, contacts, sites/locations, or opportunities in Autotask CRM. Use when: autotask company, autotask contact, autotask account, autotask crm, company management, contact management, client onboarding, autotask site, or autotask location.
Autotask CRM manages the core entities that define your client relationships: companies (accounts), contacts, and sites. Proper CRM data is foundational - tickets, contracts, projects, and billing all depend on accurate company and contact information.
`itglue-organizations`, and `itglue-contacts` for the people.
calls it a site (`datto-rmm-sites`), RocketCyber calls it an account (`rocketcyber-accounts`). Neither shares IDs with an Autotask company.
client records; use `kaseya-bms-api-patterns`.
The primary entity representing a client organization.
| Field | Description | Required | |-------|-------------|----------| | `id` | Unique identifier | System | | `companyName` | Official company name | Yes | | `companyType` | Customer, Lead, Prospect, etc. | Yes | | `phone` | Main phone number | No | | `address1` | Street address | No | | `city` | City | No | | `state` | State/Province | No | | `postalCode` | ZIP/Postal code | No | | `country` | Country | No | | `webAddress` | Website URL | No | | `parentCompanyID` | Parent company for hierarchies | No | | `ownerResourceID` | Account manager | No | | `classification` | Classification category | No |
| ID | Type | Use Case | |----|------|----------| | 1 | Customer | Active paying clients | | 2 | Lead | Potential new business | | 3 | Prospect | Qualified leads | | 4 | Dead | Churned/lost clients | | 5 | Vendor | Suppliers and partners | | 6 | Partner | Strategic partners |
Individual people at a company.
| Field | Description | Required | |-------|-------------|----------| | `id` | Unique identifier | System | | `companyID` | Associated company | Yes | | `firstName` | First name | Yes | | `lastName` | Last name | Yes | | `emailAddress` | Primary email | No | | `phone` | Direct phone | No | | `mobilePhone` | Mobile number | No | | `title` | Job title | No | | `isActive` | Active status | Yes | | `isPrimaryContact` | Primary contact flag | No |
Physical locations for a company (for on-site service).
| Field | Description | Required | |-------|-------------|----------| | `id` | Unique identifier | System | | `companyID` | Parent company | Yes | | `name` | Site name | Yes | | `address1` | Street address | No | | `city` | City | No | | `isActive` | Active status | Yes | | `isPrimaryLocation` | Primary site flag | No |
POST /v1.0/Companies Content-Type: application/json
{
"companyName": "Acme Corporation",
"companyType": 1,
"phone": "555-123-4567",
"address1": "123 Main Street",
"city": "Springfield",
"state": "IL",
"postalCode": "62701",
"country": "United States",
"webAddress": "https://acme.example.com",
"ownerResourceID": 29744150
}GET /v1.0/Companies/query?search={"filter":[{"field":"companyName","op":"contains","value":"acme"}]}**Search by name:**
{
"filter": [
{"field": "companyName", "op": "contains", "value": "acme"}
]
}**Active customers only:**
{
"filter": [
{"field": "companyType", "op": "eq", "value": 1},
{"field": "isActive", "op": "eq", "value": true}
]
}**Companies by account manager:**
{
"filter": [
{"field": "ownerResourceID", "op": "eq", "value": 29744150}
]
}PATCH /v1.0/Companies Content-Type: application/json
{
"id": 12345,
"phone": "555-987-6543",
"webAddress": "https://newsite.acme.com"
}POST /v1.0/Contacts Content-Type: application/json
{
"companyID": 12345,
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@acme.example.com",
"phone": "555-123-4567",
"mobilePhone": "555-987-6543",
"title": "IT Director",
"isActive": 1,
"isPrimaryContact": true
}**Contacts for a company:**
{
"filter": [
{"field": "companyID", "op": "eq", "value": 12345},
{"field": "isActive", "op": "eq", "value": 1}
]
}**Search by email:**
{
"filter": [
{"field": "emailAddress", "op": "eq", "value": "john.smith@acme.example.com"}
]
}POST /v1.0/CompanyLocations Content-Type: application/json
{
"companyID": 12345,
"name": "Main Office",
"address1": "123 Main Street",
"city": "Springfield",
"state": "IL",
"postalCode": "62701",
"country": "United States",
"isPrimaryLocation": true,
"isActive": 1
}1. **Create company record**
2. **Create primary contact**
3. **Create site(s)**
4. **Set up contract**
5. **Configure billing**
1. **Verify before creating**
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
3CX's native PBX MCP server: the per-PBX endpoint shape (every PBX is its own FQDN and its own OAuth authorization server — there is no shared mcp.3cx.com),…
3CX's live-operations surface: read-only visibility into active calls, recordings, voicemail, department and queue membership, and forwarding/presence…
3CX's read-only directory surface: resolving a caller by email or by exact extension, searching the PBX's own phonebooks, searching contacts synced from an…
3CX's system-and-configuration surface: server time, PBX event log and application log search, service status, database schema and the read-only SELECT-only…
Abnormal Security abuse mailbox cases: user-reported email submissions, case statuses and judgments, the case lifecycle, bulk and remediation actions, and…
Abnormal Security message analysis: message retrieval, email header inspection, attachments, sender reputation, delivery context, and SPF/DKIM/DMARC…