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…
HubSpot tasks, notes, and associations: task priority and status values, notes-vs-tasks semantics, the association type matrix linking contacts, companies, deals, and tickets, and engagement-history workflows.
Claude Code
$ npx -y skills add wyre-ai/msp-claude-plugins --skill activities --agent claude-code
Codex
$ npx skills add wyre-ai/msp-claude-plugins --skill activities -a codex -y
Cursor
$ npx skills add wyre-ai/msp-claude-plugins --skill activities -a cursor -y
Gemini CLI
$ npx skills add wyre-ai/msp-claude-plugins --skill activities -a gemini-cli -y
GitHub Copilot
$ npx skills add wyre-ai/msp-claude-plugins --skill activities -a github-copilot -y
OpenCode
$ npx skills add wyre-ai/msp-claude-plugins --skill activities -a opencode -y
Windsurf
$ npx skills add wyre-ai/msp-claude-plugins --skill activities -a windsurf -y
name: "HubSpot Activities" description: > HubSpot tasks, notes, and associations: task priority and status values, notes-vs-tasks semantics, the association type matrix linking contacts, companies, deals, and tickets, and engagement-history workflows. when_to_use: >- When logging notes, creating follow-up tasks, or linking CRM objects together in HubSpot. Use when: hubspot task, hubspot note, hubspot activity, hubspot association, hubspot engagement, hubspot log, hubspot follow-up, hubspot link objects, hubspot relationship, activity management hubspot, or task creation hubspot.
Activities in HubSpot encompass tasks, notes, and other engagement records that track interactions with contacts, companies, deals, and tickets. Associations are the links that connect HubSpot CRM objects together -- a contact associated with a company, a deal associated with a contact, a note associated with a ticket. For MSPs, activities provide the service history and follow-up tracking that drives client satisfaction, while associations ensure that every interaction is visible from any related record.
Conduit's `hubspot` connector is HubSpot's own hosted MCP server (`https://mcp.hubspot.com/anthropic/v1/mcp`, OAuth). Its CRM tools are generic over object type, so every call names the `objectType`:
| Tool | Call shape | |------|-----------| | `search_crm_objects` | `objectType`, optional `query` (free text), `filterGroups` (property `filters` and `associatedWith` association filters), `properties`, `sorts`, `limit` (max 200), `offset` | | `get_crm_objects` | `objectType`, `objectIds` (1-100), `properties` | | `manage_crm_objects` | `createRequest.objects[]` or `updateRequest.objects[]` (each with `objectType`, `properties`, optional `associations`, and `objectId` for updates), plus `confirmationStatus` (`CONFIRMED` only after the user approved the exact change) | | `search_properties` / `get_properties` | Discover property names and enumeration values for an `objectType` | | `search_owners` | Resolve `hubspot_owner_id` values to people |
Parameter names in the tables below (such as `contactId`) describe the HubSpot fields involved; send them in the call shapes above. See `hubspot-api-patterns` for the full tool list.
pipeline and stage, not a task; use `hubspot-tickets`.
note, task, and association only; object fields live in `hubspot-contacts`, `hubspot-companies`, `hubspot-deals`, or `hubspot-tickets`.
the PSA is the system of record for those.
| Tool | Description | Key Parameters | |------|-------------|----------------| | `manage_crm_objects` (`createRequest`, `objectType: "tasks"`) | Create a task | `hs_task_subject` (required), `hs_task_body`, `hs_task_priority`, `hs_timestamp` | | `manage_crm_objects` (`createRequest`, `objectType: "notes"`) | Create a note | `hs_note_body` (required), `hs_timestamp` |
| Tool | Description | Key Parameters | |------|-------------|----------------| | `manage_crm_objects` (`updateRequest` with `associations`) | Create an association between two objects | `updateRequest.objects[]` with `objectType`, `objectId` and `associations: [{ targetObjectType, targetObjectId, labels? }]` | | `search_crm_objects` (`associatedWith` filter) | List records associated with an object | `objectType` (the records you want) plus `filterGroups[].associatedWith: [{ objectType, operator: "EQUAL", objectIdValues: [id] }]` |
| Tool | Description | Key Parameters | |------|-------------|----------------| | `get_user_details` | Get details of the current user | None |
Call `manage_crm_objects` (`createRequest`, `objectType: "tasks"`) to create a follow-up task:
**Example: Create a follow-up task:**
**Example: Create an onboarding task:**
Call `manage_crm_objects` (`createRequest`, `objectType: "notes"`) to log an activity:
**Example: Log a meeting note:**
**Example: Log a support resolution:**
Associations are written with `manage_crm_objects`, on the record you are updating (or creating):
**Example: Associate a contact with a company:**
{
"updateRequest": {
"objects": [
{
"objectType": "contacts",
"objectId": 12345,
"associations": [{ "targetObjectType": "COMPANY", "targetObjectId": 98765 }]
}
]
},
"confirmationStatus": "CONFIRMED"
}**Example: Create a note already associated with a contact:**
{
"createRequest": {
"objects": [
{
"objectType": "notes",One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: mcp.wyre.ai
3CX's native PBX MCP server: the per-PBX endpoint shape (every PBX is its own FQDN and its own OAuth authorization server — there…
3CX's live-operations surface: read-only visibility into active calls, recordings, voicemail, department and queue membership,…
3CX's read-only directory surface: resolving a caller by email or by exact extension, searching the PBX's own phonebooks,…
3CX's system-and-configuration surface: server time, PBX event log and application log search, service status, database schema…
Abnormal Security abuse mailbox cases: user-reported email submissions, case statuses and judgments, the case lifecycle, bulk and…
Abnormal Security message analysis: message retrieval, email header inspection, attachments, sender reputation, delivery context,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.