Skip to content

Connectors · Learning & education

Docebo MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Docebo and the rest of your systems. It gives your agent 1,211 Docebo actions (562 reads, 464 writes and 185 that wait for a confirmation) and holds the Docebo credential itself, so the agent never does. It paces Docebo's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "docebo.users.list",  intent: "check which Docebo account is connected"}# Returns list of Users · read · 1 upstream call
  • 1,211actionsin one signed file
  • 562readlook, never change
  • 464writecreate and update
  • 185wait for a yesdestructive, confirmed first

Set up

Connect Docebo in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect Docebo.

    OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in. actionlake stores what you paste write-only, sealed under your tenant's key.

    • client_idClient ID of a Docebo API credential (Admin menu > API and SSO > API Credentials > Add OAuth2 App, with the Client…
    • client_secretClient secret of the same API credential
    • hostWhere your Docebo lives: your host
    account { op: "connections.requirements", service: "docebo" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "docebo.users.list" }# returns list of users · read · 1 upstream callcheck { action: "docebo.users.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Docebo at a glance

Sign-in
OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in.
You provide
client_idclient_secret
Setup fields
host
Limits we pace to
10 calls a second, per connection
API covered
Docebo REST API v1 (23 microservice Swagger 2.0 documents), at your Docebo instance's API base URL, which you enter when connecting
Built from
Docebo's documentation, read 23 October 2026university.docebo.comuniversity.docebo.comhelp.docebo.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
552 of 562 reads, for up to 5 minutes; a write clears what it affects
Shared entities
7, so ask can line Docebo up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Docebo.

1,211 actions in 23 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 562readlook, never change
  • 464writecreate and update
  • 185destructivewait for a confirmation
  1. Manage

    260

    121 read · 105 write · 34 destructive

    Returns list of Users · Get specific information about currently logged user. · Create user · View a User's info

  2. Learn

    218

    94 read · 88 write · 36 destructive

    Create a new Course · Delete specific Learning course by given ID · Batch import Enrollments · Get pending enrollments, for users that are waiting for Admin Approval

  3. Share

    167

    68 read · 69 write · 30 destructive

    Returns assets available in the platform · Creates an association between the assets and the channels · Creates an association between the assets and a single channel by id · Retrieves the assets of the channel

  4. Course

    89

    44 read · 35 write · 10 destructive

    Returns courses available in the platform · View a Course info · Update Course General Details · Start archive process for courses

  5. Ecommerce

    69

    36 read · 25 write · 8 destructive

    Get transactions for a specific user's personal wallet · Get list of personal wallets · Get assignable audiences for a shared wallet · Get audiences for a shared wallet

  6. Poweruser

    64

    20 read · 23 write · 21 destructive

    Retrieve the list of Power Users Profiles · Retrieve the list of Branches assigned to a Power User · Retrieve the list of Catalogs assigned to a Power User · Retrieve the list of Categories assigned to a Power User

  7. Skill

    61

    28 read · 24 write · 9 destructive

    Associate Multiple Skills To Multiple Assets · Return Content That Has A Specific Associated Skill · Associate Multiple Skills To Multiple Courses · Evaluate The Skills Of The Users In Your Team

  8. Analytics

    50

    32 read · 15 write · 3 destructive

    Get new reports available in the platform · Create query builder v2 preview · Create query builder v2 · Get query builder v2 list

15 more areas · 233 actions
  • Catalogmanagement 42
  • Learningplan 34
  • Marketplace 25
  • Otj 25
  • Report 23
  • Notifications 20
  • Audiences 14
  • Pages 14
  • Setup 10
  • Tmrepo 9
  • Enrollment 8
  • Audittrail 6
  • Certification 1
  • Ilt 1
  • Messenger 1

Top actions

The Docebo API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 11 of Docebo's 11 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
docebo.users.listReturns list of UsersReturns list of Users.readidentity.user.list474 connectors
docebo.users.meGet specific information about currently logged user.Get specific information about currently logged user.readidentity.current_user.get307 connectors
docebo.users.createCreate userCreate user.writeidentity.user.create262 connectors
docebo.users.deleteDeletes an userDeletes an user.destructiveidentity.user.delete253 connectors
docebo.courses.listReturns courses available in the platformReturns courses available in the platform.readhr.training_course.list11 connectors
docebo.courses.createCreate a new CourseCreate a new Course.writehr.training_course.create7 connectors
docebo.manage_orgchart.listList of branches of given or root levelList of branches of given or root level.readthis connector
docebo.manage_orgchart_users.listRetrieve information about a branch's users.Retrieve information about a branch's users.readthis connector
docebo.manage_user_list.listGet array of users with predefined selection fieldsGet array of users with predefined selection fields.readthis connector
docebo.analytics_reports.listGet new reports available in the platformGet new reports available in the platform.readthis connector
docebo.manage_orgchart.createCreate a new branch in the Organizational Chart TreeCreate a new branch in the Organizational Chart Tree.writethis connector
docebo.audiences_audience.listGet all audiencesGet all audiences.readthis connector

Try it

Prompts to paste into Claude.

Each one names the Docebo actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Who has access in Docebo? List every user and their role.

    callsdocebo.users.list

  2. Writewrite

    Create user in Docebo. Show me exactly what you will send before you save it.

    callsdocebo.users.create

Governance for Docebo

Destructive actions wait for a yes.

185 Docebo actions are destructive. The first 10:

  • Deletes an userdocebo.users.delete
  • Delete specific Learning course by given IDdocebo.courses.delete
  • Deletes the branch.docebo.manage_orgchart.delete
  • Un - Enroll users in course/sdocebo.learn_enrollments.delete
  • Deletes one user fielddocebo.manage_user_fields.delete
  • Reject temporary userdocebo.manage_user_reject.delete
  • Batch Course Deletedocebo.course_courses_batch.delete
  • Delete Courses Association To A Learning Plandocebo.learningplan_courses.delete
  • Remove Learning Plan From Catalog Listdocebo.learningplan_catalogs.delete
  • Remove Learning Plan From Channel Listdocebo.learningplan_channels.delete

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

dodocebo.users.deleteconfirm_policy: human

Deletes an user?

intent: the user asked me to deletes an user

run suspended · waiting for a named person · key docebo-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "docebo-agent",  allowed_actions: ["docebo.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "docebo.users.delete", approver: "[email protected]" },    { match: "docebo.courses.delete", approver: "[email protected]" },    { match: "docebo.manage_orgchart.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to Docebo only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Docebo costs on actionlake.

Every Docebo action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Docebo refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 1,211 Docebo actions
  • 1,211actions pageeach page of a long list is one call
  • 552reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Docebo action.

1,211 actions by area: the id your agent calls, what it does, and its effect.

Manage260
  • docebo.users.createCreate userwrite
  • docebo.users.getView a User's inforead
  • docebo.users.listReturns list of Usersread
  • docebo.users.meGet specific information about currently logged user.read
  • docebo.manage_auth0_login.createLogin and create/optionally/ user, also update info and additional fields datawrite
  • docebo.manage_auth0_settings.getGet settings for Auth0 appread
  • and 254 more in this area
Learn218
  • docebo.courses.createCreate a new Coursewrite
  • docebo.courses.deleteDelete specific Learning course by given IDdestructive
  • docebo.learn_enrollment_batch.createBatch import Enrollmentswrite
  • docebo.learn_enrollment_pending_users.listGet pending enrollments, for users that are waiting for Admin Approvalread
  • docebo.learn_assignment_upload_status.getChecks if a specific Screen-Recording video uploaded as assignment Learning Object exists.read
  • docebo.learn_catalog_advanced_filters.getRetrieves all advanced filter options by catalog IDread
  • and 212 more in this area
Share167
  • docebo.share_admin_assets.listReturns assets available in the platformread
  • docebo.share_admin_channel_assets_batch.createCreates an association between the assets and the channelswrite
  • docebo.share_admin_channel_content.createCreates an association between the assets and a single channel by idwrite
  • docebo.share_admin_channel_content.listRetrieves the assets of the channelread
  • docebo.share_admin_channels_assets.createCreates an association between the assets and the channelswrite
  • docebo.share_admin_assets_contributor.updateBatch to change the contributor of one or more assetswrite
  • and 161 more in this area
Course89
  • docebo.course_courses_archive.createStart archive process for courseswrite
  • docebo.courses.getView a Course inforead
  • docebo.courses.listReturns courses available in the platformread
  • docebo.courses.updateUpdate Course General Detailswrite
  • docebo.course_additionalfields_batch.createStores courses additional fields values (batch)write
  • docebo.course_catalogs.listReturns catalogs related to the given courseread
  • and 83 more in this area
Ecommerce69
  • docebo.ecommerce_admin_personal_wallet_transactions.listGet transactions for a specific user's personal walletread
  • docebo.ecommerce_admin_personal_wallets.listGet list of personal walletsread
  • docebo.ecommerce_admin_shared_wallet_assignable_audiences.listGet assignable audiences for a shared walletread
  • docebo.ecommerce_admin_shared_wallet_audiences.listGet audiences for a shared walletread
  • docebo.ecommerce_admin_personal_wallets.getGet a specific user's personal walletread
  • docebo.ecommerce_admin_personal_wallets.updateUpdate a specific user's personal walletwrite
  • and 63 more in this area
Poweruser64
  • docebo.poweruser_branches.listRetrieve the list of Branches assigned to a Power Userread
  • docebo.poweruser_catalogs.listRetrieve the list of Catalogs assigned to a Power Userread
  • docebo.poweruser_categories.listRetrieve the list of Categories assigned to a Power Userread
  • docebo.poweruser_profiles.listRetrieve the list of Power Users Profilesread
  • docebo.poweruser_branches.deleteUnassign Branches from Power Userdestructive
  • docebo.poweruser_branches.updateAssign Branches to Power Userwrite
  • and 58 more in this area
Skill61
  • docebo.skill_assets_skills.createAssociate Multiple Skills To Multiple Assetswrite
  • docebo.skill_contents.listReturn Content That Has A Specific Associated Skillread
  • docebo.skill_courses_skills.createAssociate Multiple Skills To Multiple Courseswrite
  • docebo.skill_evaluation.createEvaluate The Skills Of The Users In Your Teamwrite
  • docebo.skill_ai_settings.getGet AI Panel Settingsread
  • docebo.skill_ai_settings.updatePUT AI Panel Settingswrite
  • and 55 more in this area
Analytics50
  • docebo.analytics_custom_report_type_preview.createCreate query builder v2 previewwrite
  • docebo.analytics_custom_report_types.createCreate query builder v2write
  • docebo.analytics_custom_report_types.listGet query builder v2 listread
  • docebo.analytics_reports.listGet new reports available in the platformread
  • docebo.analytics_custom_report_type_preview.getGet the preview of a query builder v2read
  • docebo.analytics_custom_report_types.deleteDelete query builder v2destructive
  • and 44 more in this area
Catalogmanagement42
  • docebo.catalogmanagement_catalog_branches.createAssign branches to a catalogwrite
  • docebo.catalogmanagement_catalog_branches.listGet paginated list of catalog branchesread
  • docebo.catalogmanagement_catalog_branches_all.listGet a list of catalog branchesread
  • docebo.catalogmanagement_catalog_courses.createAssign courses to a catalogwrite
  • docebo.catalogmanagement_catalog_branches.deleteUnassigns branches from catalogsdestructive
  • docebo.catalogmanagement_catalog_courses.deleteUnassign courses from catalogsdestructive
  • and 36 more in this area
Learningplan34
  • docebo.learningplan_additionalfields.listRetrieve Learning Plan Additional Fields Listread
  • docebo.learningplan_allcourses.listRetrieve the list of all the Courses assigned to a Learning Planread
  • docebo.learningplan_catalogs.createAssociate Learning Plan To A Catalog Listwrite
  • docebo.learningplan_catalogs.listRetrieve List Catalogs Where A Learning Plan Is Assignedread
  • docebo.learningplan_additionalfields.patchStores learning plan additional fields valueswrite
  • docebo.learningplan_awards_dates_bulk.patchUpdate specific awardswrite
  • and 28 more in this area
Marketplace25
  • docebo.marketplace_go1_filters.listGet GO1 filterread
  • docebo.marketplace_go1_job.createCreate a background job for SCORM importwrite
  • docebo.marketplace_lil_credentials.createCreate LinkedinLearning Credentialswrite
  • docebo.marketplace_lil_learning_classification.listLibraries, subjects, and topics are taxonomy categories associated with learning assets.read
  • docebo.marketplace_lil_credentials.deleteDelete LinkedinLearning Credentialsdestructive
  • docebo.marketplace_lil_credentials.getRetrieve Provider credentials dataread
  • and 19 more in this area
Otj25
  • docebo.otj_assignment_answers.createUpload An Assignment's Checklist Answers For The Current Logged Userwrite
  • docebo.otj_assignment_approval.createApprove Or Reject An Assignmentwrite
  • docebo.otj_checklist_schedules.createCreate a schedule for a checklistwrite
  • docebo.otj_checklist_schedules.listGet all schedules related to a checklistread
  • docebo.otj_assignments.getGet An Assignment With The Relative Answersread
  • docebo.otj_checklist_schedules.deleteDelete a Scheduledestructive
  • and 19 more in this area
Report23
  • docebo.report_branch_dashboard_enrollment_view.listDetailed Information For The Children Of The Current Branchread
  • docebo.report_mytranscript.listRetrieve Transcripts Listread
  • docebo.report_privacy_policy_users.listReport Data For Privacy Policyread
  • docebo.report_query_builder.createCreate Report Using 'Query Builder'write
  • docebo.report.getLists all reports created in the systemread
  • docebo.report_branch_dashboard_enrollment.getList Of Enrollments For Current Branch And Childrenread
  • and 17 more in this area
Notifications20
  • docebo.notifications_dkim.createCreates a dkim recordswrite
  • docebo.notifications_dkim.listReturns dkim recordsread
  • docebo.notifications_webhooks.createCreates a webhookwrite
  • docebo.notifications_webhooks.listReturns the list of webhooksread
  • docebo.notifications_dkim.deleteDeletes a dkim recorddestructive
  • docebo.notifications_dkim.getReturns a dkim recordread
  • and 14 more in this area
Audiences14
  • docebo.audiences_audience.createCreate audiencewrite
  • docebo.audiences_audience.getGet an audienceread
  • docebo.audiences_audience.listGet all audiencesread
  • docebo.audiences_audience_users.listGet users from audienceread
  • docebo.audiences_audience.deleteDelete an audiencedestructive
  • docebo.audiences_audience.updateUpdate an audiencewrite
  • and 8 more in this area
Pages14
  • docebo.pages.createCreate a pagewrite
  • docebo.pages.listListing pagesread
  • docebo.pages_manage.listManagement pagesread
  • docebo.pages_menu.createCreate a menuwrite
  • docebo.pages.deleteDelete a pagedestructive
  • docebo.pages.getGet single page informationread
  • and 8 more in this area
Setup10
  • docebo.setup_jsinject.createCreate a new javascript code stringwrite
  • docebo.setup_presets.listList available presetsread
  • docebo.setup_presets_status.listList preset statusread
  • docebo.setup_space_batch.createBatch create up to 10 spaceswrite
  • docebo.setup_jsinject.deleteDelete a javascript code stringdestructive
  • docebo.setup_jsinject.getGet the javascript code stringread
  • and 4 more in this area
Tmrepo9
  • docebo.tmrepo_material_versions.createCreate a new version for a Training Material in Central Repositorywrite
  • docebo.tmrepo_material_versions.listList TM Versionsread
  • docebo.tmrepo_materials.createCreate a new Training Material in Central Repositorywrite
  • docebo.tmrepo_materials_upload.createInitiate the upload of a Training Material in Central Repositorywrite
  • docebo.tmrepo_material_versions.updateUpdate a Training Material version in Central Repositorywrite
  • docebo.tmrepo_materials.getView a Training Material in Central Repositoryread
  • and 3 more in this area
Enrollment8
  • docebo.enrollment_course_archive.createBatch Course Enrollments Archiving Via Background Jobwrite
  • docebo.enrollment_course_archives.listReturns the archived enrollments of a specific course.read
  • docebo.enrollment_course_user_archive.createArchive A Single Course Enrollmentwrite
  • docebo.enrollment_courses_archive_session_events.listReturn Archived Session's Eventsread
  • docebo.enrollment_course_archives_bulk.deleteBulk delete archived course enrollmentsdestructive
  • docebo.enrollment_courses_archive_sessions.listReturn Sessions List Of An Archived Course Enrollmentread
  • and 2 more in this area
Audittrail6
  • docebo.audittrail.createCreate an audittrail querywrite
  • docebo.audittrail.getGet Audit Trail Logsread
  • docebo.audittrail_logs.listGet Audit trail log recordsread
  • docebo.audittrail_old_audittrail_events.listGet old Audittrail eventsread
  • docebo.audittrail_download.getDownloadAction Audit Trail Logsread
  • docebo.audittrail_event_types.getGet event typesread
Certification1
  • docebo.certification_awards_users.getList the certifications awarded to a particular user.read
Ilt1
  • docebo.ilt_course_sessions.listList sessions for an ILT courseread
Messenger1
  • docebo.messenger_scheduler_wakeup_manual.createWakeUp endpoint for NotificationPaaS Scheduled deliverieswrite

This index shows a sample of each area. All 1,211 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.

Questions

The Docebo MCP server, answered.

Is there a Docebo MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 1,211 Docebo actions across manage, learn, share and course, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Docebo.

What do I need to connect Docebo?

Client ID of a Docebo API credential (Admin menu > API and SSO > API Credentials > Add OAuth2 App, with the Client… and Client secret of the same API credential. Plus your host. The free call account { op: "connections.requirements", service: "docebo" } lists exactly what to paste.

Can an AI agent delete or change things in Docebo?

Only if its key allows it, and only with an explicit confirmation. 185 Docebo actions are destructive, including deletes an user, delete specific Learning course by given ID and deletes the branch.. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my Docebo API limit?

actionlake paces every call to the limits in the Docebo service file: 10 calls a second per connection. Repeated reads are answered from cache (552 Docebo actions can be), which never reaches Docebo.

What does a Docebo action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (1,211 Docebo actions page). Cache hits, searches, dry runs and calls Docebo refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which Docebo API does it cover?

The Docebo REST API v1 (23 microservice Swagger 2.0 documents) at your Docebo instance's API base URL, which you enter when connecting. It is built from Docebo's documentation as read on 23 October 2026. 1,211 actions in 23 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my Docebo data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Docebo credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent Docebo today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.