KnowBe4 Training Campaign Management
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.
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
| 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 |
Training Content Types
| 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 |
Auto-Enrollment Triggers
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 Reference
Training Campaign Fields
| 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 |
Training Enrollment Fields
| 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 |
Store Purchase Fields
| 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 |
MCP Tools
| Tool | Description | Key Parameters |
|---|
knowbe4_training_list_campaigns | List training campaigns | status, page, per_page |
knowbe4_training_get_campaign | Get campaign details | campaign_id |
knowbe4_training_list_enrollments | List enrollments for a campaign | campaign_id, status, page |
knowbe4_training_get_enrollment | Get enrollment details | enrollment_id |
knowbe4_training_list_modules | List available training modules | type, page, per_page |
knowbe4_training_get_module | Get module details | module_id |
knowbe4_training_list_store_purchases | List store purchases | page, per_page |
knowbe4_training_get_store_purchase | Get purchase details | store_purchase_id |
Common Workflows
Create and Monitor Training Campaign
- Browse available modules using
knowbe4_training_list_modules
- Select target groups -- choose which user groups need training
- Set completion deadline -- allow adequate time (2-4 weeks typical)
- Launch campaign -- schedule or start immediately
- Monitor enrollment status -- check completion rates weekly
- Send reminders to users with "not_started" or "in_progress" status
- Review final completion after deadline
Track Compliance Status
- List active campaigns with
knowbe4_training_list_campaigns
- Get enrollments for each campaign
- Filter by status to find incomplete/past_due enrollments
- Identify non-compliant users -- group by department or manager
- Escalate users who are past due on required training
Post-Phishing Remediation Training
- Identify failed users from phishing campaign results
- Find appropriate remedial module matching the phishing scenario
- Create targeted campaign for failed users only
- Set short deadline (1 week for remediation)
- Track completion and re-test with follow-up phishing simulation
Quarterly Security Awareness Review
- Pull all completed campaigns for the quarter
- Calculate overall completion rate across all campaigns
- Identify departments with lowest completion rates
- Review training content -- are modules current and relevant?
- Plan next quarter based on gaps identified
New Hire Onboarding
- Create onboarding training campaign with essential modules
- Enable auto-enrollment for the "New Hires" group
- Set relative deadline (e.g., 14 days from enrollment)
- Include baseline phishing test after training completion
- Move to regular groups after onboarding completion
Error Handling
Common API Errors
| Code | Message | Resolution |
|---|
| 400 | Invalid campaign configuration | Verify content IDs and group IDs exist |
| 401 | Invalid API token | Verify KNOWBE4_API_KEY |
| 403 | Insufficient permissions | API token needs Training permissions |
| 404 | Campaign not found | Verify campaign_id exists |
| 404 | Enrollment not found | Verify enrollment_id exists |
| 429 | Rate limit exceeded | Implement backoff (see api-patterns) |
Data Considerations
| Issue | Cause | Resolution |
|---|
| Zero completion rate | Campaign just started | Allow time for users to complete |
| User not enrolled | Not in target group | Check group membership |
| Completion not recording | Module requires assessment pass | User may need to retake quiz |
| Past due but completed | Completed after deadline | Marked past_due at deadline, then completed |
| Duplicate enrollments | Multiple campaigns with same content | Check allow_multiple_enrollments |
Best Practices
- Set realistic deadlines -- Allow 2-4 weeks for standard training, 1 week for remediation
- Send reminders -- Notify at 50% and 75% of deadline elapsed
- Keep content fresh -- Rotate training modules quarterly
- Match training to threats -- Use phishing failure data to select relevant modules
- Track completion trends -- Completion rates should improve over time
- Segment by audience -- Executives, IT, finance, and general staff need different content
- Combine with phishing -- Always follow training with a phishing simulation to validate
- Use gamification -- Games and competitions increase engagement
- Report to stakeholders -- Share completion rates with department managers
- Automate remediation -- Auto-enroll phishing test failures in relevant training
Related Skills