---
title: Twilio SCIM API Integration on Truto
slug: twilioscim
category: HRIS
canonical: "https://truto.one/integrations/detail/twilioscim/"
---

# Twilio SCIM API Integration on Truto



**Category:** HRIS  
**Status:** Generally available

## Unified APIs

### Unified User Directory API

- **Users** — The User object represents a User.

## MCP-ready AI tools

Truto exposes 6 tools for Twilio SCIM that AI agents can call directly.

- **create_a_twilio_scim_user** — Create a Twilio SCIM user using the core user schema. Returns: id, externalId, userName, displayName, name, emails, active, locale, timezone, schemas, meta. Required: userName, emails. The userName must match the primary email address and the user's email domain must be verified by the organization.
- **get_single_twilio_scim_user_by_id** — Get a single Twilio SCIM user by their user SID. Returns: id, externalId, userName, displayName, name, emails, active, locale, timezone, schemas, meta. Required: id.
- **list_all_twilio_scim_users** — List Twilio SCIM users, optionally filtered by userName or externalId. Returns: id, externalId, userName, displayName, name, emails, active, locale, timezone, schemas, meta. Only the eq filter operator is supported; SCIM pagination parameters (startIndex, itemsPerPage) are not supported.
- **update_a_twilio_scim_user_by_id** — Update a Twilio SCIM user by id, replacing all user attributes. Returns: id, externalId, userName, displayName, name, emails, active, locale, timezone, schemas, meta. Required: id. Only active and inactive users can be updated; the Organization Owner can't be updated through this endpoint.
- **delete_a_twilio_scim_user_by_id** — Deactivate a Twilio SCIM user by id. Users aren't permanently deleted; they're deactivated in response to delete requests. Returns an empty 204 response on success. Required: id. The Organization Owner can't be deactivated through this endpoint.
- **twilio_scim_users_partial_update** — Partially update a Twilio SCIM user by id using SCIM PatchOp operations. Returns the updated user object including id, userName, displayName, emails, active, and meta. Required: id. Only active and inactive users can be patched; suspended users can't be patched. The Organization Owner can't be patched through this endpoint. If any operation violates business rules, the entire request is rejected.

## How it works

1. **Link your customer's Twilio SCIM 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 Twilio SCIM.** The Proxy API is a 1-to-1 mapping of the Twilio SCIM 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 agent provisioning for contact center customers** — HR platforms and workforce management tools serving BPOs and support organizations can auto-create Twilio Flex users the moment an agent is hired, eliminating manual IT tickets and cutting ramp-up time to day one.
- **Enforce zero-trust offboarding across Twilio deployments** — Security and IGA platforms can continuously reconcile their customers' HRIS records against Twilio, deactivating terminated employees to close backdoor access to SMS, voice, and customer communications infrastructure.
- **Reclaim unused Twilio licenses** — SaaS spend management tools can identify inactive Twilio users and flip their status to inactive via SCIM, helping enterprise IT teams recover seats without losing historical user metadata.
- **Sync identity attribute changes downstream to Twilio** — IdPs and HRIS-adjacent products can push name, email, and status changes from the source of truth into Twilio, keeping agent directories accurate as employees change roles or departments.
- **Audit Twilio access for compliance reporting** — GRC and audit platforms can pull the full Twilio user roster on demand to demonstrate that access to regulated communications workloads is provisioned and revoked according to policy.

## What you can build

- **Just-in-time user provisioning** — Trigger user creation in Twilio from any HR or identity event using a single unified create call, respecting Twilio's verified-domain requirement on userName.
- **Scheduled directory sync** — Poll the full Twilio user list to keep a mirror of active and inactive accounts inside your product for reporting, reconciliation, and drift detection.
- **Soft-delete offboarding workflows** — Ship an automated deprovisioning action that deactivates Twilio users while preserving them for audit trails, mapped to your product's termination events.
- **Attribute patching for lifecycle changes** — Push partial updates for name changes, status flips, and external ID mapping without overwriting the full user record.
- **User lookup and detail views** — Render live Twilio user profiles inside your app by fetching individual users by ID for support, audit, or troubleshooting flows.
- **Cross-system access reconciliation** — Combine Twilio user data with other HRIS sources through the Unified User Directory API to flag orphaned accounts and enforce access policies.

## FAQs

### How does authentication work for Twilio SCIM connections?

Truto handles the auth handshake for your end users through the standard Twilio SCIM token-based authentication. Your users connect their Twilio organization once, and Truto manages token storage and refresh so you don't have to build credential management.

### Does Twilio SCIM support pagination when listing users?

No. Twilio's SCIM implementation does not support standard SCIM pagination parameters like startIndex or itemsPerPage. When calling list_all_twilio_scim_users, you should expect the response to represent the directory without cursored pages, and design large-directory syncs accordingly.

### What filtering is supported on the list users endpoint?

Twilio SCIM only supports the eq filter operator. More complex SCIM filter expressions (co, sw, and, or, etc.) are not available, so filtering logic beyond exact matches should be handled in your application after fetching.

### Can I permanently delete a user from Twilio?

No. A delete request through delete_a_twilio_scim_user_by_id is treated as a soft delete — Twilio deactivates the user rather than permanently removing them. This is intentional for maintaining compliance and audit trails.

### Are there restrictions on which users can be updated?

Yes. Only active and inactive users can be patched. Suspended users and the Organization Owner cannot be updated. Additionally, if any single operation in a PatchOp request violates a Twilio business rule, the entire request is rejected atomically.

### Are there constraints on the userName field when creating users?

Yes. The userName must be an email address whose domain has been verified by the Twilio organization. Create calls with unverified domains will fail, so your provisioning UX should surface this requirement to end users.

### Which plan tier of Twilio is required for SCIM access?

Twilio SCIM is gated behind Twilio's enterprise-tier plans and typically requires the paid SSO Edition add-on. This integration is best positioned for your mid-market and enterprise customers with mature Twilio deployments.
