Skip to main content The #1 agentic semantic tool search: 91.6% first-try accuracy on S1 Search Bench Explore Tool Discovery
Connectors Docebo
Live 56 Actions 50 Events

Docebo Integration for AI Agents

Connect your AI agent to 56 QA'd Docebo actions via MCP, A2A, or SDK, with agent authentication, tool-calling execution, and security built-in, plus 50 events to subscribe to.

StackOne
DrataGPLocalyzeFlipMindtoolsScreenloop

Docebo AI Agent Actions

56 production-ready actions for your agent to do more on Docebo.

56 Actions
List Users - Retrieve a list of all users in the Docebo platform with optional filtering and pagination. The search_text parameter is a partial text match across multiple fields (username, firstname, lastname, email) - it is NOT a domain or field-specific filter, so a value like '@example.com' matches that substring anywhere in any searchable field, not only the email domain. To find users by email domain (e.g. addresses ending in @example.com), paginate through all users and filter client-side by email suffix rather than relying on search_text.
Get User - Retrieve detailed information for a specific user by their Docebo user ID
Create User - Create a new user in the Docebo platform with username, email, and password
Update User - Update an existing user's information in the Docebo platform
Delete User - Delete a user from the Docebo platform
Batch Import Users - Import or update multiple users in the Docebo platform in a single batch operation
Get User Settings - Get setting information about a specific user
Batch Delete Users - Delete multiple users by user IDs in a single batch operation
Send User Message - Send a message to a user
List Courses - Retrieve a list of all courses in the Docebo platform with optional filtering and pagination
Get Course - Retrieve detailed information for a specific course by ID
Create Course - Create a new course in the Docebo platform
Update Course - Update an existing course in the Docebo platform with comprehensive settings including enrollment options, time options, player settings, and more
Delete Course - Delete a course from the Docebo platform
Get Course Learning Objects - Retrieve all learning objects (training materials) for a specific course
Get Course Enrollments - Retrieve all enrollments associated with a specific course with filtering by status, level, branch, group, and more
Batch Import Courses - Import multiple courses in a single batch operation
Get Enrollment - Retrieve enrollment details for a specific user in a specific course. Returns a single enrollment record with dates, status, completion time, and score. Both course ID and user ID are required
Create Enrollment - Enroll a user in a course with optional level, validity dates, session assignment, and custom enrollment fields
Update Enrollment - Update an existing enrollment with comprehensive options including dates, status, level, session assignment, and custom fields
Delete Enrollment - Un-enroll one or more users from one or more courses or learning plans, with options to reset learning tracks and delete issued certificates
Batch Import Enrollments - Import multiple enrollments in a single batch operation. Each item requires enrollment_date (YYYY-MM-DD format). Supports comprehensive options including status, scores, and assignment types
List Learning Plans - Retrieve a list of all learning plans in the Docebo platform
Get Learning Plan - Retrieve detailed information for a specific learning plan by ID
Create Learning Plan - Create a new learning plan in the Docebo platform
Update Learning Plan - Update an existing learning plan in the Docebo platform
Delete Learning Plan - Delete a learning plan from the Docebo platform
Enroll User In Learning Plan - Enroll a single user in a learning plan
Unenroll User From Learning Plan - Unenroll a user from a learning plan
Create Learning Objects - Create multiple learning objects (training materials) in a single batch operation. Per item, lo_type selects which content field to send - use lo_url for video (YouTube ok), scorm (SCORM .zip URL), tincan and aicc; use lo_filename ONLY for file. lo_filename and lo_url are mutually exclusive - never set both on the same item. IMPORTANT - the options.s3_* block is BATCH-scoped, not per item; when present, EVERY item in the call is routed through the S3 file-import path, so any lo_url item in the same call fails with 'Input file does not exist'. Never mix lo_url items with lo_filename items in one call - send file (lo_filename) items in their own batch WITH real, working options.s3_* AWS credentials, and send lo_url items (video/scorm/tincan/aicc) in a separate batch WITHOUT any options block. IMPORTANT - this batch endpoint always returns HTTP 200 even when every item fails; you MUST inspect each entry in the response array (data[].success and data[].message) to detect per-item failures, since the outer status is not reliable.
Get Learning Object - Retrieve detailed information for a specific learning object (training material) by ID, including title, description, type, visibility, and associated course
List Certifications - Retrieve a list of all certifications in the Docebo platform
Batch Import User Certifications - Import certifications for multiple users in a single batch operation
List Categories - Retrieve a list of all course categories in the Docebo platform
Get Child Categories - Retrieve child categories for a specific parent category by numeric category ID. Returns a 400 error (not an empty list) when the parent category has no children, so check the parent's has_child flag from list_categories first and only call this when has_child is true; if has_child is false, treat it as an empty set rather than calling this action.
Get Category - Retrieve detailed information for a specific category by ID
Create Category - Create a new course category in the Docebo platform
Update Category - Update an existing category in the Docebo platform
Delete Category - Delete a category from the Docebo platform
List Sessions - Retrieve a list of ILT (Instructor-Led Training) sessions for a classroom course in the Docebo platform
Get Session - Retrieve detailed information for a specific ILT session including instructors, dates, and enrollment settings
Delete Session - Delete an ILT session from a course in the Docebo platform
Get Session Enrollments - Retrieve all enrollments for a specific ILT session with filtering and pagination options
List Locations - Retrieve a list of all ILT locations in the Docebo platform with optional sorting and pagination
Create Location - Create a new ILT location in the Docebo platform for scheduling training sessions
Update Location - Update an existing ILT location in the Docebo platform
Delete Location - Delete an ILT location from the Docebo platform
List Branches - Retrieve a PAGINATED list of branches of given or root level in the Docebo platform. Returns up to page_size branches per page (default page 1); inspect has_more_data in the response and increment the page parameter to fetch subsequent pages until has_more_data is false to obtain the complete dataset. When the request asks for the complete, full, or entire hierarchy/list, keep paginating through every page automatically until has_more_data is false before responding - do not stop after the first page or pause to ask whether to continue. Set flattened=true to return the complete subtree (all descendant branches) of the selected node rather than only the direct level.
Get Branch - Get details of a selected branch by its numeric branch ID (branch_id). It does NOT accept a branch name - passing a name returns 404. To resolve a branch by name, use list_branches with search_text to find the branch, then pass its numeric id here (or set use_secondary_identifier=true to look up by the branch's secondary code identifier).
Create Branch - Create a new organizational branch in the Docebo platform
Update Branch - Update selected branch in the Docebo platform
Delete Branch - Delete an organizational branch from the Docebo platform
Get Branch Users - Retrieve information about a branch's users
Assign Users To Branch - Assign users to an organizational branch
Batch Create Branches - Create or update multiple organizational branches in a single batch operation
Batch Delete Branches - Delete multiple organizational branches in a single batch operation

Docebo Webhook Events

50 real-time Docebo events your AI agent can subscribe to.

50 Events
  • Asset Created Fires when an asset is uploaded to the Central Repository. Docebo event string `contribute.created`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Asset Updated Fires when an asset is modified. Docebo event string `contribute.updated`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Asset Deleted Fires when an asset is removed. Docebo event string `contribute.deleted`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Training Material Added To Course Fires when a Central Repository material is assigned to a course. Docebo event string `tmrepo.course.trainingmaterial.added`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Training Material Removed From Course Fires when a Central Repository material is removed from a course. Docebo event string `tmrepo.course.trainingmaterial.removed`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Course Created Fires when a course is created. Docebo event string `course.created`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Course Updated Fires when course properties are modified. Docebo event string `course.updated`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Course Deleted Fires when a course is removed. Docebo event string `course.deleted`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Course Training Material Created Fires when training material is created within a course. Docebo event string `course.trainingmaterial.created`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Course Training Material Updated Fires when training material within a course is modified. Docebo event string `course.trainingmaterial.updated`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Course Training Material Deleted Fires when training material within a course is removed. Docebo event string `course.trainingmaterial.deleted`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Assignment Submitted Fires when a learner submits an assignment. Docebo event string `lo.assignment.submission`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Assignment Evaluated Fires when an assignment submission is graded. Docebo event string `lo.assignment.evaluation`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Course Enrollment Created Fires when a user is enrolled in a course. Docebo event string `course.enrollment.created`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Course Enrollment Updated Fires when a course enrollment status changes. Docebo event string `course.enrollment.updated`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Course Enrollment Completed Fires when a user completes a course. Docebo event string `course.enrollment.completed`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Course Enrollment Deleted Fires when a user is unenrolled from a course. Docebo event string `course.enrollment.deleted`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • ILT Session Enrollment Created Fires when a user is enrolled in an ILT session. Docebo event string `ilt.session.enrollment.created`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • ILT Session Enrollment Updated Fires when an ILT session enrollment changes. Docebo event string `ilt.session.enrollment.updated`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • ILT Session Enrollment Deleted Fires when a user is unenrolled from an ILT session. Docebo event string `ilt.session.enrollment.deleted`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • ILT Session Created Fires when an ILT session is created. Docebo event string `ilt.session.created`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • ILT Session Updated Fires when an ILT session is modified. Docebo event string `ilt.session.updated`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • ILT Session Deleted Fires when an ILT session is removed. Docebo event string `ilt.session.deleted`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • ILT Event Created Fires when an ILT event date is created. Docebo event string `ilt.event.created`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • ILT Event Updated Fires when an ILT event date is modified. Docebo event string `ilt.event.updated`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • ILT Event Deleted Fires when an ILT event date is removed. Docebo event string `ilt.event.deleted`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Learning Plan Created Fires when a learning plan is created. Docebo event string `learningplan.created`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Learning Plan Updated Fires when a learning plan is modified. Docebo event string `learningplan.updated`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Learning Plan Deleted Fires when a learning plan is removed. Docebo event string `learningplan.deleted`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Learning Plan Course Added Fires when a course is added to a learning plan. Docebo event string `learningplan.course.added`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Learning Plan Course Removed Fires when a course is removed from a learning plan. Docebo event string `learningplan.course.removed`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Learning Plan Enrollment Created Fires when a user is enrolled in a learning plan. Docebo event string `learningplan.enrollment.created`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Learning Plan Enrollment Updated Fires when a learning plan enrollment changes. Docebo event string `learningplan.enrollment.updated`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Learning Plan Enrollment Deleted Fires when a user is unenrolled from a learning plan. Docebo event string `learningplan.enrollment.deleted`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Learning Plan Enrollment Completed Fires when a user completes a learning plan. Docebo event string `learningplan.enrollment.completed`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Branch Created Fires when a branch is created. Docebo event string `branch.created`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Branch Updated Fires when a branch is modified. Docebo event string `branch.updated`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Branch Deleted Fires when a branch is removed. Docebo event string `branch.deleted`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Branch User Added Fires when a user is assigned to a branch. Docebo event string `branch.user.added`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Branch User Removed Fires when a user is removed from a branch. Docebo event string `branch.user.removed`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Group User Added Fires when a user is assigned to a group. Docebo event string `group.user.added`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Group User Removed Fires when a user is removed from a group. Docebo event string `group.user.removed`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Channel Created Fires when a channel is created. Docebo event string `channel.created`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Channel Updated Fires when a channel is modified. Docebo event string `channel.updated`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Channel Deleted Fires when a channel is removed. Docebo event string `channel.deleted`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Channel Content Assigned Fires when content is added to a channel. Docebo event string `channel.content.assigned`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Channel Content Removed Fires when content is removed from a channel. Docebo event string `channel.content.removed`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Certification Awarded Fires when a certification is issued to a user. Docebo event string `certification.award.awarded`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Certification Award Updated Fires when a certification award is modified. Docebo event string `certification.award.updated`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.
  • Certification Revoked Fires when a certification is revoked from a user. Docebo event string `certification.award.revoked`. Docebo may batch multiple same-type events together (up to 25 per delivery); when batched, `payloads` is populated instead of `payload`.

Do More, Build Less

Integration Infrastructure for Docebo AI Agents

Multiple Interfaces

Access integrations via API, AI SDKs, MCP & A2A.

Docebo MCP server
Managed Authentication

Pre-built authentication UI.

Agent auth
Falcon Engine

Every Docebo action runs on Falcon.

Agent Execution Engine
StackOne Defender
StackOne Defender Meta PG v1 Meta PG v2 DeBERTa 88.7% 67.5% 63.1% 56.9% Detection accuracy

88.7% prompt injection detection.

Prompt injection defense

"What impressed us most about StackOne is its ambition and clarity. They're creating infrastructure that modern software and the entire AI agent ecosystem can rely on. The depth of secure integrations, the pace of delivery, and the team's foresight into AI's future uniquely position StackOne to redefine this category."

Luna Schmid, Partner at GV

"We've been impressed by how quickly and deeply StackOne integrates with complex enterprise systems -- and now, with their focus on agent-to-agent interoperability, they're unlocking even more powerful use cases for customers. StackOne delivers all of the above in a universal layer -- without compromise."

Barbry McGann, SVP at Workday Ventures

G2 - High Performer G2 - Easiest To Do Business With G2 - Users Love Us G2 - Users Most Likely To Recommend G2 - Easiest Admin

Product Teams Love Building Agent Integrations With StackOne

G2

More Learning / LMS Integrations Like Docebo

Docebo AI agent integration resources

Webhooks for AI agents: why agentic workflows need them purpose-built

AI agents can act the moment a system changes, using webhooks. But webhooks built for software hit three limits in agentic workflows. Here is how to fix each.

7 min read

Agentic Context Engineering: Why AI Agents Kill Their Own Context Windows

AI agents exceed their context windows without knowing it. Six failure patterns and seven survival architectures for agentic context engineering.

15 min

MCP Code Mode: Keeping Tool Responses Out of Agent Context

Anthropic's code_execution processes data already in context. Custom MCP code mode keeps raw tool responses in a sandbox. 14K tokens vs 500.

11 min

Comparing BM25, TF-IDF, and Hybrid Search for MCP Tool Discovery

Benchmarking BM25, TF-IDF, and hybrid search for MCP tool discovery across 916 tools. The 80/20 TF-IDF/BM25 hybrid hits 21% Top-1 accuracy in under 1ms.

10 min

Put your AI agents to work

All the tools you need to build and scale AI agent integrations, with best-in-class connectivity, execution, and security.