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),…
KnowBe4 training campaign management: campaign lifecycle, enrollment workflows, completion tracking, training module and content library browsing, store purchases, and compliance deadline monitoring.
$ npx -y skills add wyre-technology/msp-claude-plugins --skill training --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/trainingContext preview
The summary Claude sees to decide when to auto-load this skill.
KnowBe4 training campaign management: campaign lifecycle, enrollment workflows, completion tracking, training module and content library browsing, store purchases, and compliance deadline monitoring.
name: "KnowBe4 Training" description: > KnowBe4 training campaign management: campaign lifecycle, enrollment workflows, completion tracking, training module and content library browsing, store purchases, and compliance deadline monitoring. when_to_use: >- When creating or managing KnowBe4 training campaigns, enrollments, or content. Use when: knowbe4 training, training campaign, security awareness training, training enrollment, training completion, training module, knowbe4 course, training assignment, training status, compliance training, training content, store purchase, or training deadline.
KnowBe4 training campaigns deliver security awareness content to users through structured enrollment workflows. Training can be assigned manually, triggered automatically after phishing test failures, or scheduled on a recurring basis. Each campaign tracks enrollment status, completion rates, and compliance deadlines. The training content library includes interactive modules, videos, games, assessments, and policy documents.
separate ID spaces and near-identical lifecycles. If the subject is a simulated phishing test, its templates, or who clicked, it is `knowbe4-phishing`; this skill covers only training campaigns and enrollments.
trigger is configured here, but the failure data itself is `knowbe4-phishing`.
skill reads individual campaigns and enrollments; aggregates and compliance dashboards are `knowbe4-reporting`.
CREATED ──> SCHEDULED ──> ACTIVE ──> CLOSED
│ │
└──── CANCELLED └──> ARCHIVED| Status | Description | Business Meaning | |--------|-------------|------------------| | **Not Started** | User enrolled but has not begun | Needs reminder | | **In Progress** | User has started but not completed | Actively working | | **Completed** | User finished all required content | Compliant | | **Past Due** | Deadline passed without completion | Non-compliant |
| Type | Description | Typical Duration | |------|-------------|-----------------| | **Training Module** | Interactive course with slides and quizzes | 15-45 minutes | | **Video** | Pre-recorded security awareness video | 5-15 minutes | | **Game** | Gamified security training | 10-20 minutes | | **Assessment** | Knowledge check quiz | 5-10 minutes | | **Policy** | Policy document requiring acknowledgment | 2-5 minutes | | **Newsletter** | Security awareness newsletter | 3-5 minutes | | **Poster** | Downloadable awareness poster | N/A |
Training can be triggered automatically based on:
| Trigger | Description | |---------|-------------| | **Phishing Failure** | User clicked/failed a phishing test | | **New Hire** | User added to the system | | **Group Membership** | User added to a specific group | | **Scheduled** | Recurring enrollment (monthly, quarterly, annually) | | **Manager Request** | Manual enrollment by manager/admin |
| Field | Type | Description | |-------|------|-------------| | `campaign_id` | int | Unique campaign identifier | | `name` | string | Campaign name | | `status` | string | Current status | | `content` | array | List of training modules/content assigned | | `groups` | array | Target groups | | `duration_type` | string | How long users have to complete | | `start_date` | datetime | When enrollment begins | | `end_date` | datetime | Completion deadline | | `relative_duration` | string | Days from enrollment to complete | | `auto_enroll` | boolean | Whether new group members are auto-enrolled | | `allow_multiple_enrollments` | boolean | Can users retake the training | | `completion_percentage` | float | Percentage of enrollees who completed |
| Field | Type | Description | |-------|------|-------------| | `enrollment_id` | int | Unique enrollment identifier | | `content_type` | string | Type of content assigned | | `module_name` | string | Name of the training module | | `user` | object | Enrolled user details | | `campaign_id` | int | Parent campaign | | `enrollment_date` | datetime | When user was enrolled | | `start_date` | datetime | When user began training | | `completion_date` | datetime | When user completed training | | `status` | string | not_started, in_progress, completed, past_due | | `time_spent` | int | Seconds spent on training | | `current_module` | string | Module user is currently on | | `policy_acknowledged` | boolean | Whether policy was acknowledged |
| Field | Type | Description | |-------|------|-------------| | `store_purchase_id` | int | Unique purchase identifier | | `content_id` | int | Purchased content item | | `content_type` | string | Type of content | | `content_name` | string | Name of content item | | `purchase_date` | datetime | When purchased | | `expiration_date` | datetime | License expiration |
| Tool | Description | Parameters (required in **bold**) | |------|-------------|----------------| | `knowbe4_training_campaigns_list` | List training campaigns | `page`, `per_page` | | `knowbe4_training_campaigns_get` | Get campaign details, including its modules, enrollments and completion stats | **`campaign_id`** | | `kn
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…