---
title: "Qualiobee Integration"
description: "Connect AI agents to Qualiobee, administrative software for French training organizations built around Qualiopi compliance. Agents manage learners, customers, training programs, sessions, trainers, and modules so enrollment and compliance records stay current without manual upkeep."
url: https://flowrunner.ai/integrations/qualiobee
date_modified: 2026-08-12T15:40:33-07:00
---

# Qualiobee

[Education & LMS](https://flowrunner.ai/integrations/category/education-lms)

Connect AI agents to Qualiobee, administrative software for French training organizations built around Qualiopi compliance. Agents manage learners, customers, training programs, sessions, trainers, and modules so enrollment and compliance records stay current without manual upkeep.

54 actions · API key · available

[Qualiobee website](https://app.qualiobee.fr/) · [Platform Documentation](https://app.qualiobee.fr/api/doc/) · Capability data verified 2026-08-11

1.  A signed registration or purchase order arrives for an upcoming training program
2.  Agent runs Create Customer, then Create Learner for each trainee attached to that customer
3.  Agent runs Create Session from the training program and Create Session Date for each scheduled slot
4.  Agent reads the session back with Get Session, expanding dates, trainers, location, and pricing
5.  Agent confirms every mandatory field is present so the session can reach the complete state
6.  Agent verifies each learner has a convocation and the customer has its convention attached
7.  Training administrator receives the assembled session and the documents starting it will generate
8.  Administrator approves before Start Session, a one-way move that generates those documents

## What This Integration Enables

Qualiobee is not a learning platform and it does not pretend to be one. It is the administrative record behind a training organization, and the entity list reads exactly like the paperwork. Customers fund the training, learners receive it, training programs define it, and sessions schedule it. Session dates, modules, objectives, trainers, locations, and the convocation and convention documents sit underneath all of that. The vendor describes the product as built around Qualiopi, the French quality framework for training providers, and the API's shape follows from that. Certification metadata, learner type, and pedagogical objectives are first-class fields rather than notes.

For agents this means something specific. The work worth automating here is not teaching, it is the assembly of a complete and consistent record before a session starts, and the maintenance of that record afterward. Every path is scoped to your organization UUID, so all operations run inside one training organization. Read actions accept a relations parameter that expands related entities several levels deep, which lets a single call return a session with its dates, convocations, and pricing rather than six round trips. Deletes are soft: records stop appearing in standard listings rather than being removed. And a Qualiobee session has a genuine lifecycle, which is the detail that shapes the workflow above.

This connector was built to Qualiobee's published OpenAPI specification, and its action and field shapes are transcribed from that document rather than captured from a live account.

### Without FlowRunner

**Registrations retyped into the back office**: A signed form is copied field by field into learner, customer, and session records

**Documents assembled at the last minute**: Convocations and conventions get produced the week before a session, or the week after

**Session readiness checked by opening it**: Someone opens each session to see whether anything mandatory is still missing

### With FlowRunner

**Registrations create the records**: Create Customer and Create Learner run from the document that already exists

**Documents linked as enrollment happens**: Create Convocation attaches each learner to the session at the moment they are added

**Session readiness reported before anyone commits**: The agent names what is missing, and the start happens once, on a decision

## Use Case Scenarios

### A registration becomes a fully assembled session

A completed registration form arrives through the intake form the organization already runs in [Typeform](https://flowrunner.ai/integrations/typeform). The agent creates the funding entity with Create Customer, or looks it up with List Customers filtered by name and email when the company is already known. It creates each trainee with Create Learner attached to that customer, setting the learner type that describes their employment situation. It then runs Create Session from the appropriate training program, adds each scheduled slot with Create Session Date including the delivery type and assigned trainers, and calls Create Convocation for every learner so their invitation and attestation documents are linked from the start. What arrives on the administrator's desk is an assembled session with a list of what is still missing, not an empty shell.

### The public training catalog kept in step with the back office

The organization's website advertises upcoming sessions and the dates go stale the moment anything moves. The agent runs List Training Programs and List Sessions filtered by lifecycle state, expands each session's dates and location through the relations parameter, and publishes the result to the site's catalog data. When a session date is rescheduled with Update Session Date or a location changes with Update Location, the next run corrects the listing. Nobody maintains two calendars, and prospective learners stop calling about a session that moved three weeks ago.

### Gaps in the record surfaced while they can still be fixed

Weekly, the agent walks the sessions scheduled for the next month. For each it runs Get Session with relations expanded, then List Convocations and List Conventions, and builds a gap list: learners with no convocation, customers with no convention, session dates with no trainer assigned, in-person dates with no location. It writes that list to the operations sheet in [Google Sheets](https://flowrunner.ai/integrations/google-sheets) and posts the summary to the administrator in [Slack](https://flowrunner.ai/integrations/slack). The agent does not fill the gaps, because most of them are a question for a person, such as which trainer is actually covering a date. It makes sure nobody discovers the gap on the morning of the session.

## Human-in-Loop Highlight

Start Session is the one operation in this connector that only goes forward. It moves a session into the started state and generates the associated documents, and it will only succeed once the session is complete, meaning every mandatory piece of information is present. There is no reverse. Nothing in the action list unstarts a session, and the documents it produces are the ones the organization's records rest on afterward. Everything before that call is a draft you can correct quietly. Everything after it is a correction with a paper trail attached.

So the agent assembles the session and stops in front of that single call. It posts to the training administrator: "Session 'Habilitation electrique B1V, September intake' is complete and ready to start. 11 learners across 3 customers, 4 session dates from 15 to 18 September, 2 in person at Lyon Part-Dieu and 2 remote, trainer Naima Farid on all four. 11 convocations linked, 3 conventions linked. Pricing inherited from the program with no override. Starting generates the documents for all 11 learners and all 3 customers. Start now, or hold?" Every field in that message is something the agent read back from Qualiobee rather than something it assumed. The administrator is not being asked to check the agent's work. They are being asked the only question the agent genuinely cannot answer, which is whether this session is the one that should become real. That is what [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) is for: the agent carries the assembly, and the commitment stays with the person accountable for the record.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

54 actions

### Learners

5

-   **List Learners** Returns a paginated list of learners with filtering by email, first name, last name, and learner type, and expands related entities such as customer and location through the relations parameter. The reconciliation call against an external CRM or signup source.
-   **Get Learner** Fetches a single learner by UUID, expanding related data such as their customer, personal address, and convocations. Used before any update or document action.
-   **Create Learner** Creates a learner attached to an existing customer, with a learner type describing their employment situation, and an optional address object. The type is not decoration here, it feeds the organization's reporting.
-   **Update Learner** Updates a learner by UUID, changing only the fields you send, and replacing the personal address when an address object is supplied. Used to keep contact details in step with the source system.
-   **Delete Learner** Soft-deletes a learner by UUID, so the record stops appearing in standard listings rather than being removed. Used when a registration is withdrawn.

### Customers

5

-   **List Customers** Returns a paginated list of customers, the companies or individuals that fund and receive training, filterable by name and email and expandable to learners and address. Used to find an existing funder before creating a duplicate.
-   **Get Customer** Fetches a single customer by UUID, expanding related data such as their learners and address. Used to size a session's funding relationships.
-   **Create Customer** Creates a customer as a company or an individual, and when Is Solo Learner is enabled also creates a learner from the referent's data. The single-trainee shortcut worth knowing about, because it removes a whole step from independent registrations.
-   **Update Customer** Updates a customer by UUID, changing only the fields you send, and replacing the billing or personal address when an address object is supplied.
-   **Delete Customer** Soft-deletes a customer by UUID, so it stops appearing in standard listings. Used at the end of a commercial relationship, after the sessions attached to it are resolved.

### Training Programs

5

-   **List Training Programs** Returns a paginated list of training programs, the reusable templates sessions are created from, filterable by title, completion state, and certification type. The catalog read behind any public listing.
-   **Get Training Program** Fetches a single program by UUID, expanding related data such as pricing, modules, and objectives. Used to confirm what a session will inherit before creating it.
-   **Create Training Program** Creates a program defining the pedagogy, audience, prerequisites, and certification metadata, from which sessions are later built. The template step, done once rather than per cohort.
-   **Update Training Program** Updates a program by UUID, changing only the fields you send. Used when pricing, objectives, or certification metadata are revised.
-   **Delete Training Program** Archives a program by UUID so it stops appearing in standard listings. Used when a course is retired from the catalog.

### Sessions

6

-   **List Sessions** Returns a paginated list of sessions, the scheduled instances of a program with enrolled learners, filterable by name and lifecycle state. The lifecycle filter is what makes scheduled sweeps practical.
-   **Get Session** Fetches a single session by UUID, expanding related data such as session dates, convocations, and pricing. The read that assembles the picture a human is asked to approve.
-   **Create Session** Creates a session from an existing program and enrolls the given learners, inheriting certification and pricing defaults that can be overridden here. The central write in an enrollment flow.
-   **Update Session** Updates a session by UUID, changing only the fields you send. Used for corrections while the session is still a draft.
-   **Start Session** Starts a session by UUID, moving it into the started state and generating the associated documents, and requires the session to be complete first. One way, and the step this page routes through a named person.
-   **Delete Session** Soft-deletes a session by UUID so it stops appearing in standard listings. Used when a cohort is cancelled before it starts.

### Session Dates

5

-   **List Session Dates** Returns a paginated list of learning session dates, the individual scheduled slots that make up a session's calendar. Used to build and verify a session's timetable.
-   **Get Session Date** Fetches a single session date by UUID, expanding related data such as the parent session and location. Used before rescheduling.
-   **Create Session Date** Adds a scheduled slot to a session with its modules and trainers, a delivery type of in person, remote, or e-learning, and start and end timestamps. The call that turns a session into a calendar.
-   **Update Session Date** Updates a session date by UUID, changing only the fields you send. Used for reschedules and trainer swaps.
-   **Delete Session Date** Soft-deletes a session date by UUID so it stops appearing in standard listings. Used when a slot is dropped from a session.

### Modules

5

-   **List Modules** Returns a paginated list of modules, the teaching units that structure a program's content. Used to resolve modules before linking them to session dates.
-   **Get Module** Fetches a single module by UUID, expanding related data such as its training program.
-   **Create Module** Creates a module inside a training program to organize its content into teaching units, which session dates are later linked to.
-   **Update Module** Updates a module by UUID, changing only the fields you send.
-   **Delete Module** Archives a module by UUID so it stops appearing in standard listings.

### Objectives

5

-   **List Objectives** Returns a paginated list of pedagogical objectives, the learning goals attached to a program or a session. Used when publishing a program's stated outcomes.
-   **Get Objective** Fetches a single objective by UUID, expanding related data such as its training program or session.
-   **Create Objective** Creates a pedagogical objective anchored to either a training program or a session. Used to record session-specific goals without altering the program template.
-   **Update Objective** Updates an objective by UUID, changing only the fields you send.
-   **Delete Objective** Soft-deletes an objective by UUID so it stops appearing in standard listings.

### Trainers

5

-   **List Trainers** Returns a paginated list of trainers, the internal or external instructors who deliver sessions. Used to resolve staffing before a session date is created.
-   **Get Trainer** Fetches a single trainer by UUID, expanding related data such as their address.
-   **Create Trainer** Creates a trainer who can be assigned to session dates, marking external trainers with Is External and carrying their registration number where applicable. Used when onboarding a new subcontracted instructor.
-   **Update Trainer** Updates a trainer by UUID, changing only the fields you send, and replacing the address when an address object is supplied.
-   **Delete Trainer** Soft-deletes a trainer by UUID so they stop appearing in standard listings. Used at the end of an instructor relationship.

### Locations

5

-   **List Locations** Returns a paginated list of locations, the physical addresses where in-person session dates take place. Used to resolve a venue before scheduling.
-   **Get Location** Fetches a single location by UUID. Used to confirm a venue before publishing it to learners.
-   **Create Location** Creates a physical address that can be assigned to in-person session dates. Used when the organization adds a venue.
-   **Update Location** Updates a location by UUID, changing only the fields you send. Used for address corrections that would otherwise reach learners on a document.
-   **Delete Location** Archives a location by UUID so it stops appearing in standard listings.

### Convocations

5

-   **List Convocations** Returns a paginated list of convocations, the per-learner invitation and attestation documents attached to a session. The read behind any gap check before a session starts.
-   **Get Convocation** Fetches a single convocation by UUID, expanding related data such as the learner and session.
-   **Create Convocation** Creates a convocation linking a learner to a session so Qualiobee generates their invitation and attestation documents, with options to disable either file for that learner. Run as learners are enrolled rather than in a batch at the end.
-   **Update Convocation** Updates a convocation by UUID, for example to enable or disable the convocation or attestation files for a learner.
-   **Delete Convocation** Soft-deletes a convocation by UUID so it stops appearing in standard listings. Used when a learner withdraws from a session.

### Conventions

3

-   **List Conventions** Returns a paginated list of conventions, the per-customer training agreement documents attached to sessions. Used to find customers whose agreement is missing while there is still time to produce it.
-   **Get Convention** Fetches a single convention by UUID, expanding related data such as the customer and session. Used to confirm which agreement covers which session.
-   **Update Convention** Updates a convention by UUID, for example to enable or disable the convention file for the customer. Note that this connector reads and updates conventions but does not create or delete them.

## Frequently Asked Questions

### What can FlowRunner do with Qualiobee?

FlowRunner agents can run List Learners, Get Learner, and Create Learner in Qualiobee, plus 51 more actions.

### Does connecting Qualiobee to FlowRunner require OAuth?

No. Qualiobee connects to FlowRunner with an API key, no OAuth flow required.

### Can Qualiobee trigger a FlowRunner workflow automatically?

Qualiobee doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Qualiobee?** This integration exposes Qualiobee to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/qualiobee. Site index: https://flowrunner.ai/llms.txt
