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

# Deactivate iSpring Learn accounts of leavers

> Deactivate the iSpring Learn accounts of people who left, from a list of emails, keeping their history in reports. Runs weekly from your agent.

Source: https://cotlet.dev/integrations/ispring-api-mcp-server/deactivate-leavers

HR sends the list of people who left, and every account that stays active keeps a seat in iSpring Learn and still lets a former employee sign in.

Cotlet does it in your own iSpring Learn (iSpring LMS) account with list\_users and deactivate\_users, called by your AI agent, an n8n workflow or a script.

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

Hosted · nothing to install or maintain

## Can iSpring Learn (iSpring LMS) do this on its own?

iSpring Learn deactivates users by hand, in bulk from the Users list, by Excel import, by schedule, or through Microsoft Entra ID sync, and has an API call for it on the Business subscription (checked 20 Oct 2026). Zapier has Deactivate Users and Terminate Users actions. None of them matches a plain list of emails against the account and reports who was not found.

## How you do it in iSpring Learn (iSpring LMS) today

1. An administrator opens the Users section and finds each person by name, login or email.
2. On the user's card the administrator clicks Change next to the user status, chooses Deactivate, and picks Deactivate now or Schedule deactivation with a date.
3. For many people, the administrator selects them in the Users list and chooses Deactivate, or sets Inactive in the Status column of an Excel import.
4. With Microsoft Entra ID sync, deleting the user there deactivates the iSpring Learn account, but without that sync the list is worked by hand.
5. A name that was typed wrong or an email with another spelling is simply not found, and nothing warns the administrator that a leaver stayed active.

## How to deactivate iSpring Learn accounts of leavers

Prompt

```
Here are the emails of people who left this week. Deactivate their iSpring Learn accounts today, skip anyone who is an administrator, and tell me who was not found.
```

1. 01  
### Match each email  
list\_users runs with the email as query and status active. An address with no match goes on the not found list, and an address with two matches goes on a list for you, so the wrong person is never deactivated.
2. 02  
### Skip the accounts you named  
The agent leaves out administrators and anyone you excluded in the prompt. The Account Owner cannot be deactivated at all, and a Department Administrator can deactivate only users in their own departments.
3. 03  
### Choose now or a date  
With no date the agent deactivates today. With "on Friday" it passes deactivate\_on, and iSpring Learn deactivates the account on that date; a scheduled deactivation can be cancelled in the app.
4. 04  
### Deactivate in one call  
deactivate\_users takes the whole list and waits for your OK by default. The accounts keep their statistics, so completed courses still show in reports.
5. 05  
### Check the result  
The agent reads the users again with status inactive and confirms that each one is there. It reports anyone who is still active.

### What you get back

Example data

```
Leavers list: 6 emails
Deactivated 4, e.g. Maria Silva (Support), Jake Ortiz (Sales)
Not found 1: m.garcia@example.com
Skipped 1: Account Administrator, left for you
```

### Other ways to ask

- Deactivate everyone whose last day is before the 1st, on the 1st.
- Show which accounts in Sales have not signed in for a month, but deactivate none.
- Deactivate the people on this list and reactivate Tom Becker, who came back.

## What iSpring Learn (iSpring LMS) allows, and what to know first

- Inactive users cannot sign in, receive notifications, open their courses or be assigned to a course.
- Deactivating keeps a user's statistics for reports, while deleting a user deletes them too.
- iSpring Learn bills only active users, and counts a user as active if they logged in at least once during a month.
- The Account Owner cannot be deactivated, and Department Administrators and custom roles can deactivate only users in the departments they manage.
- An administrator can reactivate an inactive account later, and the user's permissions come back with it.

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

Sources: [iSpring Help: How to Deactivate a User](https://ispringhelpdocs.com/ispring-learn/how-to-deactivate-a-user-86770543.html) · [iSpring Help: Deleting Users](https://ispringhelpdocs.com/ispring-learn/deleting-users-10684047.html) · [iSpring Help: Importing Users from an Excel File](https://ispringhelpdocs.com/ispring-learn/importing-users-from-an-excel-file-10683994.html) · [iSpring LMS pricing](https://www.ispring.com/pricing)

## Call deactivate\_users from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/ispring/users/deactivate \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user_ids":["u_92b7c1","u_92b7c2"]}'
```

Example response

```
{
"deactivated": 2,
"scheduled_for": null,
"users": [
{
"user_id": "u_92b7c1",
"name": "Maria Silva",
"status": "inactive"
},
{
"user_id": "u_92b7c2",
"name": "Jake Ortiz",
"status": "inactive"
}
]
}
```

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

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

## iSpring Learn (iSpring LMS) tools this automation uses

__Cotlet iSpring Learn (iSpring LMS) tools used to deactivate iSpring Learn accounts of leavers__
| Tool | Parameters |
| ----------------- | ------------------------------------------------------- |
| list\_users | query, department\_id, group\_id, status, limit, cursor |
| deactivate\_users | user\_ids, deactivate\_on |

[All 12 iSpring Learn (iSpring LMS) tools with descriptions](https://cotlet.dev/integrations/ispring-api-mcp-server.md#tools)

## Frequently asked questions

### Should my agent delete the accounts instead?

No. iSpring Learn deletes the statistics of a deleted user, so completed courses disappear from reports. Deactivation keeps them and also frees the seat.

### Is it safe to connect iSpring Learn (iSpring LMS) to Cotlet?

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

- [Enroll an iSpring Learn department in a course](https://cotlet.dev/integrations/ispring-api-mcp-server/enroll-department-in-course.md)
- [iSpring Learn (iSpring LMS) API and MCP server: every tool](https://cotlet.dev/integrations/ispring-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to iSpring Learn (iSpring LMS).

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

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

---

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.
