[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)

# Re-enroll a LearnUpon group for recertification

> Re-enroll a whole LearnUpon group on a compliance course, completed learners included, and get the list of who was affected. Runs from your agent.

Source: https://cotlet.dev/integrations/learnupon-api-mcp-server/reenroll-group-for-recertification

Mandatory training comes round every year, and each cycle an admin has to open Enrollments again and pick the group, the course and the right option so completed learners are not skipped.

Cotlet does it in your own LearnUpon account with list\_groups, list\_courses, list\_enrollments and enroll\_group, called by your AI agent, an n8n workflow or a script.

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

Hosted · nothing to install or maintain

## Can LearnUpon do this on its own?

LearnUpon does this by hand through Enrollments, or through POST /enrollments in the REST API (checked 20 Oct 2026). The help center describes no schedule for re-enrollment, and the official MCP server is described as reporting only.

## How you do it in LearnUpon today

1. From the primary navigation the admin goes to Enrollments and, under Create New Enrollments, selects the course from the list.
2. On the Select Users side the admin chooses Switch to Groups, and the label changes to Select Groups.
3. The admin selects one or more groups and turns on Re-enroll completed users, which adds the group to a course they already finished.
4. Selecting Enroll finishes the step, and LearnUpon confirms the enrollments when they are complete.
5. Nothing records who had already completed the course before the re-enrollment, so the admin exports that list first or loses it.

## How to re-enroll a LearnUpon group for recertification

Prompt

```
It is January: re-enroll the Warehouse group on Forklift safety, including people who already completed it, and tell me who is affected.
```

1. 01  
### Find the group and the course  
list\_groups returns the group by name and list\_courses returns the course with its status. A draft course stops the run, because LearnUpon cannot enroll anyone on it.
2. 02  
### Record who completed it  
Before anything changes, list\_enrollments for the course and group saves the learners with their completion status. That list is your before-picture for the audit.
3. 03  
### Re-enroll the group  
enroll\_group runs once for the group with re\_enroll\_completed set to true, so learners who finished earlier are enrolled again. LearnUpon notifies learners on enrollment, so the call waits for your OK by default.
4. 04  
### Check the result  
After a short wait the agent reads list\_enrollments again. Group enrollments can take longer than individual ones, so a count that is still low is reported as still processing, not as a failure.

### What you get back

Example data

```
Group: Warehouse (48 learners)
Course: Forklift safety (published)
Completed before: 41
Re-enrolled with completed users included: 48
Still processing at last check: 6
```

### Other ways to ask

- Re-enroll only the groups Warehouse and Dock on Forklift safety, and leave the rest alone.
- Show me who completed Forklift safety last year, but do not enroll anyone yet.
- Every January 5, re-enroll all groups on their mandatory courses and send me the before and after counts.

## What LearnUpon allows, and what to know first

- All admins can enroll groups on published courses; a manager needs the permission Can enroll learners on courses, and the course settings must allow managers to enroll learners.
- While a user account is disabled, the user is not enrolled on group courses; when it is enabled again, LearnUpon enrolls them on the group courses they missed, even if the course has expired.
- Without Re-enroll completed users, learners who already finished the course are not enrolled again.
- Learning paths work the same way, with Switch to Learning Paths on the Select Courses side.

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

Sources: [LearnUpon Help: Enroll groups on a course](https://support.learnupon.com/hc/en-us/articles/360017454617-Enroll-groups-on-a-course) · [LearnUpon Help: Enroll groups on a learning path](https://support.learnupon.com/hc/en-us/articles/360006358677-Enroll-groups-on-a-learning-path) · [LearnUpon Help: Managers, set permissions to manage groups](https://support.learnupon.com/hc/en-us/articles/360011342458-Managers-set-permissions-to-manage-groups)

## Call enroll\_group from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/learnupon/groups/4821/enroll \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"course_ids":["10233"],"re_enroll_completed":true}'
```

Example response

```
{
"group_id": "4821",
"course_ids": [
"10233"
],
"re_enroll_completed": true,
"status": "processing"
}
```

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

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

## LearnUpon tools this automation uses

__Cotlet LearnUpon tools used to re-enroll a LearnUpon group for recertification__
| Tool | Parameters |
| ----------------- | ----------------------------------------------------- |
| list\_groups | query |
| list\_courses | query |
| list\_enrollments | course\_id, group\_id, status, created\_after, cursor |
| enroll\_group | group\_id, course\_ids, re\_enroll\_completed |

[All 14 LearnUpon tools with descriptions](https://cotlet.dev/integrations/learnupon-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect LearnUpon to Cotlet?

Yes. You sign in to LearnUpon yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get LearnUpon 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 LearnUpon automations

- [Invite and enroll new LearnUpon learners](https://cotlet.dev/integrations/learnupon-api-mcp-server/invite-and-enroll-new-learners.md)
- [Offboard leavers from LearnUpon training](https://cotlet.dev/integrations/learnupon-api-mcp-server/offboard-leavers-from-training.md)
- [LearnUpon API and MCP server: every tool](https://cotlet.dev/integrations/learnupon-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to LearnUpon.

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

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

---

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.
