---
title: Udemy Business API Integration on Truto
slug: udemybusiness
category: HRIS
canonical: "https://truto.one/integrations/detail/udemybusiness/"
---

# Udemy Business API Integration on Truto



**Category:** HRIS  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 14 tools for Udemy Business that AI agents can call directly.

- **list_all_udemy_business_service_provider_config** — Get the Udemy Business SCIM ServiceProviderConfig, an informational endpoint that returns details about the SCIM implementation's supported capabilities. Returns: schemas, documentationUri, patch, bulk, filter, changePassword, sort, etag, authenticationSchemes. This endpoint does not require authentication.
- **list_all_udemy_business_schemas** — List the SCIM schemas supported by the Udemy Business SCIM implementation. Returns: id, name, description, attributes. Supported schemas are Users and Groups.
- **get_single_udemy_business_schema_by_id** — Get a single SCIM schema definition by id from the Udemy Business SCIM implementation. Returns: id, name, description, attributes. Required: id. Supported schemas are Users and Groups.
- **list_all_udemy_business_users** — List Udemy Business SCIM users with optional SCIM filter expressions. Returns: id, externalId, userName, name, emails, title, active, groups, schemas, meta, urn:ietf:params:scim:schemas:extension:enterprise:2.0:User. Supports filtering on userName, externalID, emails, and groups attributes. Max 1000 users per request.
- **create_a_udemy_business_user** — Create (provision) a new user in Udemy Business via SCIM. Returns: id, externalId, userName, name, emails, title, active, groups, schemas, meta, urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.0:User. Required: userName, externalId, emails, urn:ietf:params:scim:schemas:extension:enterprise:2.0:User. New users do not consume a license until first sign-in.
- **get_single_udemy_business_user_by_id** — Get a single Udemy Business SCIM user by id. Returns: id, externalId, userName, name, emails, title, active, groups, schemas, meta, urn:ietf:params:scim:schemas:extension:enterprise:2.0:User. Required: id.
- **update_a_udemy_business_user_by_id** — Replace (overwrite) a Udemy Business SCIM user's details by id. The active attribute can deactivate or reactivate the user. Returns: id, userName, externalId, name, emails, title, active, groups, schemas, meta, urn:ietf:params:scim:schemas:extension:enterprise:2.0:User. Required: id. Returns 400 if attempting to deactivate the organization owner.
- **udemy_business_users_partial_update** — Make partial updates to a Udemy Business SCIM user by id using add, remove, or replace operations. Returns: id, userName, externalId, name, emails, title, active, groups, schemas, meta, urn:ietf:params:scim:schemas:extension:enterprise:2.0:User. Required: id. Returns 400 for invalid operations or attempting to deactivate the organization owner.
- **list_all_udemy_business_groups** — List SCIM-provisioned groups in Udemy Business. Returns: id, displayName, members, externalId, schemas, meta. Only groups created via SCIM are returned; groups created from Udemy Business are excluded.
- **create_a_udemy_business_group** — Create (provision) a new group in Udemy Business. Returns: id, displayName, members, externalId, schemas, meta. Required: displayName. Do not include the members attribute; use PATCH /Groups to add members separately.
- **get_single_udemy_business_group_by_id** — Get a single SCIM group by id in Udemy Business. Returns: id, displayName, members, externalId, schemas, meta. Required: id.
- **update_a_udemy_business_group_by_id** — Replace (overwrite) group details in Udemy Business by id. Returns: id, displayName, members, externalId, schemas, meta. Required: id, displayName. Do not include the members attribute; use PATCH /Groups to modify members separately.
- **delete_a_udemy_business_group_by_id** — Delete (deprovision) a group in Udemy Business by id. Returns an empty 204 response on success. Required: id.
- **udemy_business_groups_partial_update** — Partially update a Udemy Business SCIM group by id using SCIM PatchOp operations (add, remove, or replace members or group details). Returns an empty 204 response on success. Required: id. The body must include schemas with the PatchOp URI and an Operations array; assign/unassign of users happens asynchronously.

## How it works

1. **Link your customer's Udemy Business account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Udemy Business.** The Proxy API is a 1-to-1 mapping of the Udemy Business API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Automate learner provisioning from HRIS events** — HR platforms can sync their employee directory into Udemy Business so accounts are created, updated, and deactivated in lockstep with hiring, role changes, and offboarding — without HR admins touching Udemy's console.
- **Reclaim unused Udemy licenses on offboarding** — IT and HR automation SaaS can flip a user's active status to false the moment an employee is terminated, instantly revoking access and freeing up a paid seat for reassignment.
- **Role-based learning group assignment** — Performance and workforce planning tools can map employees into Udemy groups based on department, title, or career track, so the right cohorts are auto-enrolled in the right learning paths as roles evolve.
- **Centralized identity governance for L&D** — IGA and SSO platforms can treat Udemy Business as a managed downstream app, ensuring the user directory in Udemy always matches the source-of-truth IdP and passes audit reviews.
- **Cost-efficient bulk enablement for L&D rollouts** — L&D and enablement SaaS can pre-provision entire org directories into Udemy — since licenses only consume on first sign-in — enabling company-wide learning launches without over-buying seats.

## What you can build

- **Directory-driven user sync** — Push create, update, and deactivate operations from your app into Udemy Business users via SCIM-backed endpoints, keyed on externalId.
- **Dynamic group membership management** — Create, update, and delete Udemy groups and patch their memberships as employees move between teams, departments, or learning cohorts.
- **One-click deactivation workflow** — Ship an offboarding action that partial-updates a Udemy user's active flag to false, revoking access and reclaiming the license in real time.
- **Schema-aware attribute mapping UI** — Use the schema discovery endpoints to render a live field-mapping interface so your customers can map their own HRIS attributes onto Udemy's user and group schemas.
- **Bulk backfill for existing customers** — Paginate through all Udemy users and groups to reconcile state with your system on initial connection, then keep it in sync with delta updates.
- **SCIM configuration introspection** — Expose Udemy's service provider config to your admins so they can see exactly which SCIM features (filtering, patch, bulk) are supported before rolling out an integration.

## FAQs

### What authentication does Udemy Business use?

Udemy Business's provisioning APIs use SCIM 2.0 with a bearer token issued from the customer's Udemy admin console. Truto handles token storage and injection so your end users only paste credentials once during connection.

### Which resources can I read and write today?

The current integration exposes Users and Groups (list, get, create, full update, and PATCH partial update), Group delete, plus SCIM schema and service provider config discovery. Course catalog, enrollments, and progress data are not part of this tool set.

### Does creating a user consume a Udemy license?

No. Provisioning a user via create_a_udemy_business_user only creates the account — a paid license is not consumed until that user signs in for the first time, so you can safely mirror an entire directory.

### How do I deactivate a user without deleting them?

Use udemy_business_users_partial_update to PATCH the user's active attribute to false. This revokes access and frees the license. Note that Udemy will return a 400 error if you attempt to deactivate an organization owner.

### Are group membership changes reflected immediately?

Group membership updates via udemy_business_groups_partial_update are accepted synchronously but processed asynchronously on Udemy's backend, so large member assignments may take a short delay to fully propagate.

### How do I discover which attributes Udemy supports for users and groups?

Call list_all_udemy_business_schemas or get_single_udemy_business_schema_by_id to retrieve the SCIM resource definitions, and list_all_udemy_business_service_provider_config to see which SCIM capabilities (filtering, patch, etag) are enabled for the tenant.
