[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Enroll new hires in Absorb LMS onboarding courses

> Enroll new Absorb LMS users in onboarding courses they are missing, by department, with your OK. Runs weekly from Claude Code, n8n or a script.

Source: https://cotlet.dev/integrations/absorb-lms-api-mcp-server/enroll-new-hires-in-onboarding

New hires arrive in a department and each needs the same onboarding courses, so an admin finds the new users and enrolls them by hand.

Cotlet does it in your own Absorb LMS account with list\_users, list\_user\_enrollments and enroll\_users, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=absorb-lms) [All Absorb LMS tools](https://cotlet.dev/integrations/absorb-lms-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Absorb LMS do this on its own?

Absorb offers Automatic Enrollment Rules on the course (checked 20 Oct 2026), which enroll users who meet rule criteria and are re-evaluated when profile data changes. They fit cohorts that a profile field already identifies. They do not fit a list that lives outside Absorb, such as an HR sheet or a ticket, and the Aura MCP cannot enroll anyone.

## How you do it in Absorb LMS today

1. Open the Users report in the Users menu and filter by Department; only Active users show unless you filter by Status.
2. Select a user and click Enroll User in the Actions menu.
3. In the workspace that opens, pick the training to enroll the user in.
4. If the user already completed the course, use Re-Enroll to create a new assignment.
5. Check the User Enrollments report to confirm the result, which can take a few minutes.

## How to enroll new hires in Absorb LMS onboarding courses

Prompt

```
Find users created this week in the Warehouse department and enroll the ones missing Warehouse Safety Basics.
```

1. 01  
### Find the new users  
Your agent calls list\_users with the department and reads the rows. You tell it who counts as new, for example the usernames from a list you paste.
2. 02  
### Skip what they already have  
For each user, list\_user\_enrollments shows the courses they are in, so the agent leaves out courses already assigned or in progress.
3. 03  
### Enroll the missing ones  
enroll\_users runs once per course with the users who lack it. A user who already completed the course is listed for you instead of re-enrolled, unless you asked for re\_enroll.
4. 04  
### Check later  
Because Absorb processes large batches at 10 minute intervals, the agent reads list\_user\_enrollments again a few minutes later and reports who is enrolled.

### What you get back

Example data

```
Enrolled in Warehouse Safety Basics: 2
- Dana Reyes
- Omar Haddad
Already enrolled: 1
Completed before, left for you: 0
```

### Other ways to ask

- Enroll everyone in Finance who lacks Data Privacy Essentials and list them first.
- Re-enroll users who completed Warehouse Safety Basics before 1 Jan 2026.
- Show who is missing the onboarding path, enroll nobody.

## What Absorb LMS allows, and what to know first

- Admin enrollment bypasses Enrollment Approval, so enrolled users do not wait in a queue.
- Absorb groups large volumes of changes and processes them at 10 minute intervals, so results can show up late.
- Enrolling a user in a course often triggers an automatic enrollment message to the learner.
- Automatic Enrollment Rules are re-evaluated when a User profile, a Group or a bulk import changes, and admins can still enroll learners by hand.
- Only Active users appear in the Users report by default.

enroll\_users asks for your OK by default. To run it weekly without you, switch confirmation off for that tool in your dashboard.

Sources: [Absorb Help: User Administration Report](https://support.absorblms.com/hc/en-us/articles/1500005896322-User-Administration-Report) · [Absorb Help: User Enrollments](https://support.absorblms.com/hc/en-us/articles/1500005808641-User-Enrollments) · [Absorb Help: Automatic Enrollment Rules](https://support.absorblms.com/hc/en-us/articles/360053094693-Automatic-Enrollment-Rules) · [Absorb Help: Enrollment Approval](https://support.absorblms.com/hc/en-us/articles/219433737-Enrollment-Approval)

## Call enroll\_users from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/absorb-lms/courses/c2d6a1f4-5b8e-4a37-9d02-7f1e3c5b8a10/users/enroll \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user_ids":["4f1c2a7e-8b3d-4c1a-9e55-0a6d3b7c1201","9b7e5d10-2c44-4f0b-8a31-6e2f9c4d7702"]}'
```

Example response

```
{
"course": "Warehouse Safety Basics",
"enrolled": [
{
"user_id": "4f1c2a7e-8b3d-4c1a-9e55-0a6d3b7c1201",
"name": "Dana Reyes"
},
{
"user_id": "9b7e5d10-2c44-4f0b-8a31-6e2f9c4d7702",
"name": "Omar Haddad"
}
],
"skipped": []
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is absorb\_lms\_write → enroll\_users. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/absorb-lms-api-mcp-server.md#automations)

## Absorb LMS tools this automation uses

__Cotlet Absorb LMS tools used to enroll new hires in Absorb LMS onboarding courses__
| Tool | Parameters |
| ----------------------- | --------------------------------- |
| list\_users | query, department, status, limit |
| list\_user\_enrollments | user\_id, include\_history |
| enroll\_users | course\_id, user\_ids, re\_enroll |

[All 14 Absorb LMS tools with descriptions](https://cotlet.dev/integrations/absorb-lms-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Absorb LMS to Cotlet?

Yes. You sign in to Absorb LMS yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Absorb LMS once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More Absorb LMS automations

- [Approve Absorb LMS course enrollment requests](https://cotlet.dev/integrations/absorb-lms-api-mcp-server/approve-course-enrollment-requests.md)
- [Chase overdue Absorb LMS training](https://cotlet.dev/integrations/absorb-lms-api-mcp-server/chase-overdue-training.md)
- [Absorb LMS API and MCP server: every tool](https://cotlet.dev/integrations/absorb-lms-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Absorb LMS.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Absorb LMS.

[Sign up free](https://cotlet.dev/app/signup?app=absorb-lms)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
