Innform
Education & LMSConnect AI agents to Innform, an employee training LMS. Agents invite and update learners, organize groups and locations, assign training, and browse courses and learning paths so onboarding and compliance training run on autopilot.
What This Integration Enables
Innform's API is shaped around a seat, not a course, and it is unusually honest about the consequences. Invite User incurs a prorated charge. Unfreeze User incurs one too, because the person rejoins the next billing cycle. Freeze User is the pause that stops the cost without destroying anything. Delete User is permanent and takes the person's history with it. Four operations, four different commitments, and the connector states each one in the operation itself rather than burying it in a pricing page. That makes roster automation genuinely safe to build here, as long as the flow treats the seat count as a number a human owns.
The rest of the surface is the scaffolding around that. Properties are physical locations, which Innform describes as hotels or sites. Groups target training, assignments link a learner to a course, quiz, manual, or learning path, and the course library and learning paths are readable but not writable. Two behaviors deserve to be designed around rather than discovered. Assigning a property or group by a name that does not exist creates it, so a typo in a source export becomes a new location rather than an error. And when assigning a learning path you must set Item Type to LearningPath, or the assignment will not be created at all, which is the failure mode worth building an explicit check for, since the training you believe you assigned is the training nobody took.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Weekly roster reconciliation across sites
The HR system produces a roster export every Monday. The agent reads it, calls List Users for active accounts and again with the Archived status filter for frozen ones, and builds the three-way diff: people to invite, people to move, and people who have left. Moves apply immediately through Update User, because changing someone's property or group costs nothing and getting it wrong costs a wrong training assignment rather than money. Invites, unfreezes, and leavers go into a single summary for the HR lead. Nothing that bills, and nothing that erases, happens without that summary being answered.
Compliance training assigned and then proven
A new food safety module becomes mandatory for every kitchen role across the estate. The agent resolves the target population through List Groups and List Users, resolves the module through List Courses or List Learning Paths, and runs Assign Training for each learner with a due date. Then it does the step most flows skip: it runs List Assignments filtered to that item and compares the count against the target population. Any learner missing from the result gets retried and, if still missing, reported by name. Learning path assignments get an explicit Item Type check first, because that single field is the difference between a real assignment and a silent no-op.
Overdue training escalated to the person who can act
Weekly, the agent runs List Assignments filtered by status and finds overdue training grouped by property. Rather than emailing a list to a training inbox, it posts each property's overdue set to that site's general manager in Slack, with the learner, the item, and how long it has been outstanding. Where a whole site is behind rather than a few individuals, the agent flags that pattern separately to the HR lead, because a site where nobody has completed the module usually has a scheduling problem, not a compliance problem, and the fix is not another reminder.
Human-in-Loop Highlight
A roster sync looks symmetric and is not. Adding people costs money on the next invoice. Removing them, done the fast way, destroys their training history permanently, and Innform's own Delete User description tells you to freeze instead if all you wanted was to stop paying. Between those sits Freeze User, reversible in both directions. An agent can compute the whole diff and still have no basis for choosing among three outcomes for a named person, because the right answer depends on whether that person is coming back, and nothing in the export says so.
So the agent assembles and stops. It posts to the HR lead: "Roster diff for week 33. 12 invites and 3 unfreezes, each a prorated charge on this cycle. 4 leavers: R. Ndiaye (Brighton, last day 8 Aug, 6 completed courses), T. Okonkwo (Leeds, seasonal, returned last two summers), M. Bianchi (Brighton, transferred to a site not on this plan), S. Adeyemi (Manchester, last day 11 Aug, 2 assignments in progress). Approve the 15 chargeable adds? For each leaver: freeze, delete, or leave active?" Two of those four are obvious to the person reading it and invisible to the flow. Deletion cannot be undone, so the agent never picks it. That is the difference between automation that runs your roster and Orchestration as a Service, where the routine work is done and the commitments stay with the people who own them.
Agent Capabilities
23 actionsUsers
7- List Users Lists the users in the account, returning active users by default and frozen users when the Status filter is set to Archived. Each row carries id, name, email, mobile, status, and role, which is everything a reconciliation pass needs.
- Invite User Invites a user by name and email, optionally assigning a role, property, and groups, and creates any property or group names that do not already exist. Incurs a prorated charge, and Account Owners cannot be invited through the API.
- Get User Retrieves a user by UUID or email, including status, role, property, groups, and current assignments. The lookup before any targeted training assignment.
- Update User Updates name, email, mobile, locale, property, or groups on an existing user identified by UUID or email, sending only the fields that change. Note that an unrecognized property or group name is created rather than rejected.
- Freeze User Pauses a user's cost so they are excluded from the next billing cycle, and cannot be applied to the account creator. The reversible option for anyone whose return is plausible, including seasonal staff.
- Unfreeze User Reactivates a frozen user and adds them back to the next billing cycle, which incurs a prorated charge. The rehire and return-from-leave path.
- Delete User Permanently deletes a user by UUID or email and cannot be undone, and cannot be applied to the account creator. The operation's own guidance is to freeze instead when the goal is only to pause billing.
Properties
5- List Properties Lists all properties, the physical locations such as hotels or sites, with id, name, address, city, and country. Used to resolve a site before assigning anyone to it.
- Create Property Creates a location from a required name, city, and country, with an optional full address. Used when the operations system opens a site, so the LMS has somewhere to put the new staff.
- Get Property Retrieves a single property by UUID with its name, address, city, and country. Used to confirm a site before changing or removing it.
- Update Property Updates an existing property by UUID, sending only the fields that change. Used for renames and address corrections.
- Delete Property Permanently deletes a property by UUID and cannot be undone. Used at site closure, after the users attached to it have been resolved.
Groups
5- List Groups Lists all groups with id, name, and color. Groups are how training gets targeted, so this is the first call in most assignment flows.
- Create Group Creates a group from a required name and an optional hex color for the dashboard. Used when a new role or program needs its own training audience.
- Get Group Retrieves a single group by UUID with its name and color. Used to confirm a group before acting on it.
- Update Group Updates a group's name or color by UUID, sending only what changes. Used to keep group naming aligned with the HR system.
- Delete Group Permanently deletes a group by UUID and cannot be undone. Users in the group are not deleted, only their membership is removed, which makes this safe for reorganizations.
Assignments
4- List Assignments Lists assignments across the account, optionally filtered by status, showing the learner, the training item, assigned and completed dates, due date, score, and result percentage. The reporting call, and the verification call after a bulk assignment.
- Assign Training Assigns a user to a course, quiz, manual, or learning path, with an optional due date, assigning admin, initial status, and completion date. Set Item Type to LearningPath when assigning a path, otherwise the assignment will not be created. The learner receives an email notification.
- Update Assignment Updates an assignment by UUID, setting status to In Progress or to Completed with a completion timestamp. Used to keep Innform in step with training completed in another system.
- Delete Assignment Permanently deletes an assignment by UUID, unassigning the item from the user, and cannot be undone. Used when a requirement is withdrawn rather than completed.
Content
2- List Courses Lists every course in the library with id, title, description, content type, points, and duration in minutes. Provides the Item ID that Assign Training needs.
- List Learning Paths Lists every learning path with its id, title, description, points, blended flag, and the ordered courses and quizzes it contains. Provides the Item ID to use together with Item Type LearningPath.
Frequently Asked Questions
What can FlowRunner do with Innform?
FlowRunner agents can run List Users, Invite User, and Get User in Innform, plus 20 more actions.
Does connecting Innform to FlowRunner require OAuth?
No. Innform connects to FlowRunner with basic authentication (a username and password), no OAuth flow required.
Can Innform trigger a FlowRunner workflow automatically?
Innform doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Innform
$100 in credits. No card required. Connect in minutes.