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),…
IT Glue flexible assets: custom, instance-specific asset types with defined field schemas (text, tag, password, upload, etc.), traits-based instances, and tag fields that cross-link to configurations, contacts, and other IT Glue resources for structured, filterable documentation.
$ npx -y skills add wyre-technology/msp-claude-plugins --skill flexible-assets --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/flexible-assetsContext preview
The summary Claude sees to decide when to auto-load this skill.
IT Glue flexible assets: custom, instance-specific asset types with defined field schemas (text, tag, password, upload, etc.), traits-based instances, and tag fields that cross-link to configurations, contacts, and other IT Glue resources for structured, filterable documentation.
name: "IT Glue Flexible Assets" description: > IT Glue flexible assets: custom, instance-specific asset types with defined field schemas (text, tag, password, upload, etc.), traits-based instances, and tag fields that cross-link to configurations, contacts, and other IT Glue resources for structured, filterable documentation. when_to_use: >- When working with custom asset types for structured documentation in IT Glue flexible assets. Use when: it glue flexible asset, custom asset, flexible asset type, it glue custom documentation, flexible asset field, custom documentation, structured asset, or it glue template.
Flexible Assets in IT Glue provide customizable, structured documentation templates. Unlike free-form documents, flexible assets have defined fields and types, enabling consistent documentation across organizations and powerful filtering/searching capabilities.
configurations, which IT Glue also calls "assets"; use `itglue-configurations`.
Passwords record and `search_passwords` will not find it; see `itglue-passwords` for how the two stores differ.
Flexible Asset Types define the schema for a category of documentation:
Flexible Asset Type: Network Overview ├── Fields: │ ├── Primary ISP (Text) │ ├── Backup ISP (Text) │ ├── Public IP Addresses (Textarea) │ ├── Firewall (Tag - Configuration) │ ├── Network Diagram (Upload) │ └── DNS Provider (Select)
| Type | Description | Use Case | |------|-------------|----------| | Text | Single line text | Names, identifiers | | Textarea | Multi-line text | Descriptions, notes | | Number | Numeric value | Quantities, counts | | Date | Date picker | Expiration dates | | Checkbox | Boolean true/false | Flags, toggles | | Select | Dropdown selection | Predefined options | | Tag | Link to IT Glue resource | Configurations, contacts | | Password | Password field | Embedded credentials | | Upload | File attachment | Diagrams, documents | | Percent | Percentage value | Utilization, progress | | Header | Section header | Visual organization |
Tag fields create relationships to other IT Glue resources:
| Tag Type | Links To | |----------|----------| | Configuration | Configuration items | | Contact | Contacts | | Password | Passwords | | Document | Documents | | Flexible Asset | Other flexible assets | | Location | Locations |
Field values live in a `traits` object on the asset instance, keyed by each field's `name-key`. Tag fields hold arrays of related-resource IDs.
See [references/fields.md](references/fields.md) for the full field/traits reference and the common built-in flexible asset type layouts (Network Overview, Application Documentation, Backup Overview, Microsoft 365 Tenant).
**Flexible asset type IDs are instance-specific** — every IT Glue account has different IDs. Never guess or hardcode type IDs. Always call `list_flexible_asset_types` first to discover what types exist, then use the returned IDs with `search_flexible_assets`.
Step 1: list_flexible_asset_types → get type IDs Step 2: search_flexible_assets(flexible_asset_type_id=<id from step 1>)
See [references/api.md](references/api.md) for the complete endpoint catalog (types, instances, tag-field examples) with full request/response bodies.
Fetch the type definition with its field list, validate that all required fields are present in the supplied values, then create the asset with those `traits`. See [references/examples.md](references/examples.md) for the full `createFlexibleAssetFromType` implementation plus lookup-by-type-name, tag-update, export, health-check, and cross-org cloning workflows.
Tag fields reference resources in the source org — when cloning a flexible asset to a different organization, tag values must be remapped or stripped since the IDs won't resolve to valid resources in the target org.
See [references/errors.md](references/errors.md) for the complete error-code and validation-error tables plus a retry pattern for missing-field and invalid-tag errors.
1. **Plan type structure** - Design flexible asset types before creating 2. **Use consistent naming** - Follow conventions for field names 3. **Leverage tags** - Link to configurations, contacts for relationships 4. **Required fields** - Mark essential fields as required 5. **Use appropriate types** - Match field type to data (date for dates, etc.) 6. **Document types** - Add descriptions to types and fields 7. **Standardize across orgs** - Use same types for all clients 8. **Regular revie
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…