KnowBe4 Training

SkillMonitoring & ops

KnowBe4 training campaign management: campaign lifecycle, enrollment workflows, completion tracking, training module and content library browsing, store purchases, and compliance deadline monitoring.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the KnowBe4 Training skill

What this skill tells your AI

The instructions your AI receives, as published by wyre-ai/msp-claude-plugins in msp-claude-plugins/email-security/knowbe4/skills/training/SKILL.md and read by ahel’s review.

Overview

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.

Anti-triggers

  • A bare "campaign" question — KnowBe4 has two campaign types with 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.
  • The phishing failure that triggered an auto-enrollment — the trigger is configured here, but the failure data itself is knowbe4-phishing.
  • Completion rates rolled up across campaigns or departments — this skill reads individual campaigns and enrollments; aggregates and compliance dashboards are knowbe4-reporting.

Key Concepts

Training Campaign Lifecycle

CREATED ──> SCHEDULED ──> ACTIVE ──> CLOSED
                │                       │
                └──── CANCELLED         └──> ARCHIVED
  • Created: Campaign configured with content and target groups
  • Scheduled: Queued to begin enrollment at a future date
  • Active: Users enrolled and training in progress
  • Closed: Campaign deadline passed, final completion recorded
  • Cancelled: Campaign aborted
  • Archived: Closed campaign moved to archive

Enrollment Statuses

StatusDescriptionBusiness Meaning
Not StartedUser enrolled but has not begunNeeds reminder
In ProgressUser has started but not completedActively working
CompletedUser finished all required contentCompliant
Past DueDeadline passed without completionNon-compliant

Training Content Types

TypeDescriptionTypical Duration
Training ModuleInteractive course with slides and quizzes15-45 minutes
VideoPre-recorded security awareness video5-15 minutes
GameGamified security training10-20 minutes
AssessmentKnowledge check quiz5-10 minutes
PolicyPolicy document requiring acknowledgment2-5 minutes
NewsletterSecurity awareness newsletter3-5 minutes
PosterDownloadable awareness posterN/A

Auto-Enrollment Triggers

Training can be triggered automatically based on:

TriggerDescription
Phishing FailureUser clicked/failed a phishing test
New HireUser added to the system
Group MembershipUser added to a specific group
ScheduledRecurring enrollment (monthly, quarterly, annually)
Manager RequestManual enrollment by manager/admin

Field Reference

Training Campaign Fields

FieldTypeDescription
campaign_idintUnique campaign identifier
namestringCampaign name
statusstringCurrent status
contentarrayList of training modules/content assigned
groupsarrayTarget groups
duration_typestringHow long users have to complete
start_datedatetimeWhen enrollment begins
end_datedatetimeCompletion deadline
relative_durationstringDays from enrollment to complete
auto_enrollbooleanWhether new group members are auto-enrolled
allow_multiple_enrollmentsbooleanCan users retake the training
completion_percentagefloatPercentage of enrollees who completed

Training Enrollment Fields

FieldTypeDescription
enrollment_idintUnique enrollment identifier
content_typestringType of content assigned
module_namestringName of the training module
userobjectEnrolled user details
campaign_idintParent campaign
enrollment_datedatetimeWhen user was enrolled
start_datedatetimeWhen user began training
completion_datedatetimeWhen user completed training
statusstringnot_started, in_progress, completed, past_due
time_spentintSeconds spent on training
current_modulestringModule user is currently on
policy_acknowledgedbooleanWhether policy was acknowledged

Store Purchase Fields

FieldTypeDescription
store_purchase_idintUnique purchase identifier
content_idintPurchased content item
content_typestringType of content
content_namestringName of content item
purchase_datedatetimeWhen purchased
expiration_datedatetimeLicense expiration

MCP Tools

ToolDescriptionParameters (required in bold)
knowbe4_training_campaigns_listList training campaignspage, per_page
knowbe4_training_campaigns_getGet campaign details, including its modules, enrollments and completion statscampaign_id
knowbe4_training_enrollments_listList training enrollments across the accountpage, per_page
knowbe4_training_enrollments_getGet enrollment details, including module progress and completion dateenrollment_id
knowbe4_store_purchases_listList ModStore purchases — the training content this account ownspage, per_page
knowbe4_store_purchases_getGet purchase detailspurchase_id
knowbe4_policies_listList security policies and their acknowledgment requirementspage, per_page
knowbe4_policies_getGet one policy, including acknowledgment statuspolicy_id

Two shape notes that change how these get used:

knowbe4_training_enrollments_list is account-wide and takes no filters. There is no campaign_id and no status argument. "Overdue enrollments for the HIPAA campaign" is a full paginated read filtered client-side on the campaign and status fields of each record — not a query. Budget the request count accordingly (see api-patterns), and pass per_page=500 rather than accepting the default of 100.

There is no training-module catalog tool. Nothing here lists the modules available to assign or reads a single module by ID. knowbe4_store_purchases_list is the nearest real capability and it answers a different question — what content this account has purchased from the ModStore, not what modules exist or what a campaign could use. knowbe4_training_campaigns_get names the modules already attached to a campaign. Choosing content for a new campaign is console work.

Common Workflows

Create and Monitor Training Campaign

  1. Review owned content using knowbe4_store_purchases_list — this shows what the account has bought, which constrains what a campaign can assign. Browsing the full module catalog is console-only.
  2. Select target groups -- choose which user groups need training
  3. Set completion deadline -- allow adequate time (2-4 weeks typical)
  4. Launch campaign -- schedule or start immediately
  5. Monitor enrollment status -- check completion rates weekly
  6. Send reminders to users with "not_started" or "in_progress" status
  7. Review final completion after deadline

Track Compliance Status

  1. List campaigns with knowbe4_training_campaigns_list, then filter to the active ones yourself — there is no status argument
  2. Read enrollments with knowbe4_training_enrollments_list (account-wide; match them back to campaigns on the enrollment record)
  3. Filter by status to find incomplete/past_due enrollments
  4. Identify non-compliant users -- group by department or manager
  5. Escalate users who are past due on required training

Post-Phishing Remediation Training

  1. Identify failed users from phishing campaign results
  2. Find appropriate remedial module matching the phishing scenario
  3. Create targeted campaign for failed users only
  4. Set short deadline (1 week for remediation)
  5. Track completion and re-test with follow-up phishing simulation

Quarterly Security Awareness Review

  1. Pull all completed campaigns for the quarter
  2. Calculate overall completion rate across all campaigns
  3. Identify departments with lowest completion rates
  4. Review training content -- are modules current and relevant?
  5. Plan next quarter based on gaps identified

New Hire Onboarding

  1. Create onboarding training campaign with essential modules
  2. Enable auto-enrollment for the "New Hires" group
  3. Set relative deadline (e.g., 14 days from enrollment)
  4. Include baseline phishing test after training completion
  5. Move to regular groups after onboarding completion

Error Handling

Common API Errors

CodeMessageResolution
400Invalid campaign configurationVerify content IDs and group IDs exist
401Invalid API tokenVerify KNOWBE4_API_KEY
403Insufficient permissionsAPI token needs Training permissions
404Campaign not foundVerify campaign_id exists
404Enrollment not foundVerify enrollment_id exists
429Rate limit exceededImplement backoff (see api-patterns)

Data Considerations

IssueCauseResolution
Zero completion rateCampaign just startedAllow time for users to complete
User not enrolledNot in target groupCheck group membership
Completion not recordingModule requires assessment passUser may need to retake quiz
Past due but completedCompleted after deadlineMarked past_due at deadline, then completed
Duplicate enrollmentsMultiple campaigns with same contentCheck allow_multiple_enrollments

Best Practices

  1. Set realistic deadlines -- Allow 2-4 weeks for standard training, 1 week for remediation
  2. Send reminders -- Notify at 50% and 75% of deadline elapsed
  3. Keep content fresh -- Rotate training modules quarterly
  4. Match training to threats -- Use phishing failure data to select relevant modules
  5. Track completion trends -- Completion rates should improve over time
  6. Segment by audience -- Executives, IT, finance, and general staff need different content
  7. Combine with phishing -- Always follow training with a phishing simulation to validate
  8. Use gamification -- Games and competitions increase engagement
  9. Report to stakeholders -- Share completion rates with department managers
  10. Automate remediation -- Auto-enroll phishing test failures in relevant training

Related Skills

Signals

GitHub stars
45
Forks
24
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
knowbe4-training
Source
github.com/wyre-ai/msp-claude-plugins