Skip to content

HRIS · Beta

Rippling
API integration

Ship HRIS features without building the integration. Full Rippling API access via Proxy, normalized data through Unified APIs, and 50+ MCP-ready tools for AI agents — all extensible to your exact use case.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Rippling

Use Cases

Why integrate with Rippling

Common scenarios for SaaS companies building Rippling integrations for their customers.

01

Sync employee rosters and org charts in real time

SaaS companies offering workforce-aware products need an always-current view of their customers' employees, managers, departments, and teams. Integrating with Rippling via Truto lets you continuously pull workers, departments, teams, and work locations without managing OAuth flows, pagination, or Rippling-specific API quirks.

02

Automate user provisioning and deprovisioning based on employment status

When a customer's employee is hired or terminated in Rippling, your product can automatically create or disable their account. Polling the workers endpoint for status changes lets you build lifecycle-aware provisioning without requiring your customers to manually manage users.

03

Assign roles and permissions using Rippling's dynamic supergroups

Rippling's supergroups define dynamic employee cohorts based on attributes like department, location, or salary band. SaaS companies can map these groups to permission tiers or feature access in their own product, enabling attribute-based access control driven directly from HR data.

04

Write domain-specific data back into Rippling employee profiles

Products like compliance training platforms or IT asset managers can push completion dates, asset assignments, or certification statuses back into Rippling using custom objects and custom object records. This gives HR admins a single-pane view without leaving Rippling.

05

Segment users by employment type, location, and department for targeted workflows

SaaS products that need to differentiate between full-time employees, contractors, or workers in specific locations can pull employment types, work locations, and departments from Rippling to drive conditional logic like training assignments, budget limits, or compliance requirements.

What You Can Build

Ship these features with Truto + Rippling

Concrete product features your team can ship faster by leveraging Truto’s Rippling integration instead of building from scratch.

01

Automated employee directory sync

Continuously import employees, departments, teams, and reporting hierarchies from Rippling using the Unified HRIS API so your product always reflects the customer's current org structure.

02

Lifecycle-triggered account provisioning

Detect new hires and terminations by polling Rippling workers and automatically create, suspend, or delete user accounts in your product without manual intervention.

03

Supergroup-based role mapping

Read Rippling supergroups and their inclusion/exclusion members to dynamically assign roles, permissions, or feature entitlements inside your application based on HR-defined cohorts.

04

Custom data write-back to Rippling profiles

Create custom objects and bulk-create or bulk-update custom object records to push your product's data—like training completion dates, license assignments, or risk scores—directly onto employee profiles in Rippling.

05

Location-aware workflow routing

Pull work locations with addresses and country codes from Rippling to drive location-specific logic such as shipping destinations, regional compliance rules, or office-based feature toggles.

06

Compensation and employment type segmentation

Use employee compensation data and employment type classifications from the Unified HRIS API to build tiered experiences—like different onboarding flows for full-time employees versus contractors.

SuperAI

Rippling AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_rippling_users

List users in Rippling. Returns id, created_at, updated_at, active, username, name, display_name, emails, phone_numbers, addresses, photos, preferred_language, locale, timezone, and number fields for each user.

get_single_rippling_user_by_id

Get a specific user in Rippling by id. Returns id, created_at, updated_at, active, username, name, display_name, emails, phone_numbers, addresses, photos, preferred_language, locale, timezone, number, and any redacted_fields with reasons in the response.

list_all_rippling_teams

List teams in Rippling. Returns id, created_at, updated_at, parent_id, parent, and name fields for each team.

get_single_rippling_team_by_id

Get a specific team in Rippling. Requires id. Returns id, created_at, updated_at, parent_id, parent, name, and any redacted_fields specified in __meta.

list_all_rippling_companies

List companies in Rippling. Returns id, created_at, updated_at, name, legal_name, primary_email, legal_entities and parent_legal_entity with key details like country, entity level, registration date, and addresses for each company.

list_all_rippling_custom_fields

List custom fields in Rippling. Returns id, created_at, updated_at, name, description, required, and type fields for each custom field in the response.

list_all_rippling_departments

List departments in Rippling. Returns id, created_at, updated_at, name, parent_id, reference_code, department_hierarchy_id, and department_hierarchy in the response. Requires API Tier 1.

get_single_rippling_department_by_id

Get a specific department in Rippling using id. Returns fields such as id, created_at, updated_at, name, parent_id, reference_code, department_hierarchy_id, and __meta.redacted_fields with reasons for redactions.

list_all_rippling_employment_types

List employment types in Rippling. Returns id, created_at, updated_at, label, name, type, compensation_time_period, and amount_worked for each employment type.

get_single_rippling_employment_type_by_id

Get details about a specific employment type in Rippling using id. Returns fields such as id, created_at, updated_at, label, name, type, compensation_time_period, amount_worked, and __meta.redacted_fields indicating data redacted due to insufficient entitlements.

list_all_rippling_work_locations

List work locations in Rippling. Returns id, created_at, updated_at, name, and address fields (type, formatted, street_address, locality, region, postal_code, country) for each work location.

get_single_rippling_work_location_by_id

Get a specific work location in Rippling. Requires id. Returns id, created_at, updated_at, name, address (type, formatted, street_address, locality, region, postal_code, country), and __meta.redacted_fields with redaction details in the response.

list_all_rippling_workers

List workers in Rippling. Returns id, created_at, updated_at, user details, status, legal_entity, department, compensation, title, manager, teams, employment_type, termination_details, country_fields, and business_partners fields for each worker.

get_single_rippling_worker_by_id

Get a specific worker in Rippling by id. Returns fields including id, created_at, updated_at, user details, legal_entity, status, employment_type, compensation, department, level, teams, business_partners, and more. All returned fields may be subject to access limitations and field redaction.

list_all_rippling_business_partners

List business partners in Rippling. Returns id, created_at, updated_at, business_partner_group_id, business_partner_group, worker_id, worker, client_group_id, client_group, and client_group_member_count fields in the response.

create_a_rippling_business_partner

Create a new business partner in Rippling. Requires business_partner_group_id and worker_id. Returns id, created_at, updated_at, business_partner_group_id, business_partner_group with details, worker_id, worker details, client_group_id, client_group details, and client_group_member_count in the response.

get_single_rippling_business_partner_by_id

Get a specific business partner in Rippling. Requires id. Returns detailed information including id, created_at, updated_at, business_partner_group_id, business_partner_group details, worker_id, worker details, client_group_id, client_group details, and client_group_member_count.

delete_a_rippling_business_partner_by_id

Delete a business partner in Rippling. Requires id. Returns a successful deletion status with a 204 response code.

list_all_rippling_business_partner_groups

List business partner groups in Rippling. Returns id, created_at, updated_at, name, domain, default_business_partner_id, and nested default_business_partner details for each group.

create_a_rippling_business_partner_group

Create a new business partner group in Rippling. Returns id, created_at, updated_at, name, domain, default_business_partner_id, and default_business_partner fields in the response.

get_single_rippling_business_partner_group_by_id

Get a specific business partner group in Rippling by id. Returns id, created_at, updated_at, name, domain, default_business_partner_id, default_business_partner, and related nested fields for detailed group and partner information.

delete_a_rippling_business_partner_group_by_id

Delete a business partner group in Rippling using id. Returns successful status if the resource is deleted.

list_all_rippling_custom_object_fields

List custom object fields in Rippling using custom_object_api_name. Returns id, created_at, updated_at, name, custom_object, description, api_name, data_type, is_unique, is_immutable, is_standard, managed_package_install_id, and enable_history fields.

create_a_rippling_custom_object_field

Create a new custom object field in Rippling. Requires custom_object_api_name. Returns id, created_at, updated_at, name, custom_object, description, api_name, data_type, is_unique, is_immutable, is_standard, managed_package_install_id, enable_history in the response.

get_single_rippling_custom_object_field_by_id

Get details of a specific custom object field in Rippling. Requires custom_object_api_name and id. Returns id, created_at, updated_at, name, custom_object, description, api_name, data_type, is_unique, is_immutable, is_standard, managed_package_install_id, and enable_history.

delete_a_rippling_custom_object_field_by_id

Delete a custom object field in Rippling. Requires custom_object_api_name and id. Returns no content if the field was deleted successfully.

update_a_rippling_custom_object_field_by_id

Update a custom object field in Rippling using custom_object_api_name and id. Returns fields such as id, created_at, updated_at, name, custom_object, api_name, data_type, is_unique, is_immutable, is_standard, enable_history, and more.

list_all_rippling_custom_object_records

List custom object records in Rippling with custom_object_api_name. Returns id, created_at, updated_at, name, external_id, created_by, last_modified_by, owner_role, and system_updated_at fields in the response.

create_a_rippling_custom_object_record

Create a new custom object record in Rippling. Requires custom_object_api_name. Returns id, created_at, updated_at, name, external_id, created_by, last_modified_by, owner_role, and system_updated_at fields in the response.

get_single_rippling_custom_object_record_by_id

Get a specific custom object record in Rippling using custom_object_api_name and id. Returns id, created_at, updated_at, name, external_id, created_by, last_modified_by, owner_role, and system_updated_at fields.

update_a_rippling_custom_object_record_by_id

Update a specific custom object record in Rippling. Requires custom_object_api_name and id. Returns id, created_at, updated_at, name, external_id, created_by, last_modified_by, owner_role, and system_updated_at fields in the response.

delete_a_rippling_custom_object_record_by_id

Delete a custom object record in Rippling. Requires custom_object_api_name and id. Returns status 204 if the resource was deleted successfully.

rippling_custom_object_records_by_external_id

Get a specific custom object record in Rippling using custom_object_api_name and external_id. Returns id, created_at, updated_at, name, external_id, created_by, last_modified_by, owner_role, and system_updated_at fields in the response.

rippling_custom_object_records_bulk_create

Bulk create custom object records in Rippling. Requires custom_object_api_name. Returns for each created record: id, created_at, updated_at, name, external_id, created_by, last_modified_by, owner_role, and system_updated_at.

rippling_custom_object_records_bulk_update

Bulk update custom-object-records in Rippling using custom_object_api_name. Returns list of updated records with id, created_at, updated_at, name, external_id, created_by, last_modified_by, owner_role, and system_updated_at fields.

rippling_custom_object_records_bulk_delete

Bulk delete custom object records in Rippling. Requires custom_object_api_name and rows_to_delete. Returns 204 on successful deletion of all specified records.

list_all_rippling_query_custom_object_records

List custom object records in Rippling filtered by query. Requires custom_object_api_name. Returns id, created_at, updated_at, name, external_id, created_by, last_modified_by, owner_role, and system_updated_at for each record.

list_all_rippling_custom_objects

List custom objects in Rippling. Returns id, created_at, updated_at, name, plural_label, category_id, enable_history, and other key fields for each custom object.

create_a_rippling_custom_object

Create a new custom object in Rippling. Returns fields: id (identifier), created_at (creation date), updated_at (update date), name (custom object name), description, api_name, plural_label, category_id, native_category_id, managed_package_install_id, enable_history (history tracking status), and owner_id (owner information). Requires name and category in the request.

get_single_rippling_custom_object_by_id

Get a specific custom object in Rippling by id. Returns id, created_at, updated_at, name, plural_label, category_id, enable_history, and other relevant fields in the response.

update_a_rippling_custom_object_by_id

Update a custom object in Rippling. Requires id. Returns id, created_at, updated_at, name, description, api_name, plural_label, category_id, native_category_id, managed_package_install_id, enable_history, and owner_id.

delete_a_rippling_custom_object_by_id

Delete a custom object in Rippling. Requires id. Returns 204 status when the resource is deleted successfully.

list_all_rippling_entitlements

List entitlements in Rippling. Returns id, description, and display_name fields for each entitlement in the response.

list_all_rippling_me

Get SSO information about the current user in Rippling. Returns id, created_at, updated_at, work_email, company_id, and detailed company object including company name, legal_name, primary_email, company phone, legal entities and their hierarchy, and address information.

list_all_rippling_object_categories

List object categories in Rippling. Returns id, created_at, updated_at, name, and description fields for each object category.

create_a_rippling_object_category

Create a new object category in Rippling. Returns the id, created_at, updated_at, name, and description fields for the created category.

get_single_rippling_object_category_by_id

Get a specific object category in Rippling using id. Returns id, created_at, updated_at, name, and description fields in the response.

update_a_rippling_object_category_by_id

Update object category in Rippling by id. Returns id, created_at, updated_at, name, and description fields in the response.

delete_a_rippling_object_category_by_id

Delete an object category in Rippling. Requires id. No response content is returned upon successful deletion.

list_all_rippling_supergroups

List supergroups in Rippling. Returns fields such as id, created_at, updated_at, display_name, name, app_owner_id, group_type, description, parent, priority, and related group attributes in the response.

get_single_rippling_supergroup_by_id

Retrieve a specific supergroup in Rippling. Requires id. Returns fields: id, created_at, updated_at, display_name, name, app_owner_id, group_type, sub_group_type, read_only, description, parent, mutually_exclusive_key, cumulatively_exhaustive_default, include_terminated, allow_non_employees, can_override_role_states, priority, is_invisible, ignore_prov_group_matching, and __meta.redacted_fields with name and reason for any redacted fields.

list_all_rippling_supergroup_members

List supergroup members in Rippling based on group_id. Returns id, created_at, updated_at, full_name, and work_email for each member in the response.

list_all_rippling_supergroup_inclusion_members

List supergroup inclusion members in Rippling for a given group_id. Returns id, created_at, updated_at, full_name, and work_email fields for each member in the response.

update_a_rippling_supergroup_inclusion_member_by_id

Update supergroup inclusion members in Rippling. Requires group_id. Returns ok indicating whether the operation succeeded.

list_all_rippling_supergroup_exclusion_members

List supergroup exclusion members in Rippling requiring group_id. Returns id, created_at, updated_at, full_name, and work_email for each exclusion member in the response.

update_a_rippling_supergroup_exclusion_member_by_id

Update supergroup exclusion members in Rippling using group_id. Returns ok indicating whether the operation succeeded.

Why Truto

Why use Truto’s MCP server for Rippling

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

Unified APIs

Unified APIs for Rippling

Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.

Unified HRIS API

Companies

Companies represent the companies in HRIS

View Docs

Employee Compensations

Represent the compensation configuration for an Employee

View Docs

Employees

Represents an employee in HRIS

View Docs

Employments

Employments represent a job position at a company.

View Docs

Fields

Represent the fields for various entities in the company

View Docs

Groups

Groups represent the groups for an Employee

View Docs

Locations

Locations represent the locations in HRIS

View Docs

Unified User Directory API

Groups

Groups are a collection of users in the source application. In some applications, they might also be called Teams.

View Docs

Users

The User object represents a User.

View Docs

How It Works

From zero to integrated

Go live with Rippling in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Rippling account

Use Truto’s frontend SDK to connect your customer’s Rippling account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Rippling

Truto’s Proxy API is a 1-to-1 mapping of the Rippling API. You call us, we call Rippling, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Rippling’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Rippling on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

What authentication method does Rippling use, and how does Truto handle it?

Rippling uses OAuth 2.0 for third-party integrations. Truto manages the entire OAuth flow—token exchange, storage, and refresh—so your team never handles credentials directly. Your end users connect their Rippling account through Truto's embedded linking experience.

What is the difference between the Users and Workers endpoints in Rippling?

Users represent the identity/SSO layer (email, locale) and are available through the Unified User Directory API. Workers represent the full employment profile including department, manager, compensation, employment type, and work location, available through the Unified HRIS API. Most B2B SaaS workflows rely on the Workers endpoint for richer contextual data.

How does Truto handle Rippling's field-level data redactions?

Rippling enforces strict data entitlements—your integration may not have access to every field on a worker profile (e.g., compensation may be redacted). Rippling returns redaction metadata in the response. Truto passes this through faithfully, so your application can detect redacted fields and handle them gracefully rather than assuming missing data.

Can I write data back to Rippling, or is the integration read-only?

The integration supports both reads and writes. You can create, update, and delete custom objects, custom object records (including bulk operations), business partners, business partner groups, object categories, and supergroup inclusion/exclusion members. This enables write-back workflows like pushing training completion dates or asset assignments onto employee profiles.

Does Truto support Rippling's custom fields and custom objects?

Yes. You can list custom fields via the dedicated endpoint and the Unified HRIS API's Fields resource. For custom objects, you have full CRUD access—create custom objects, define custom object fields, and manage custom object records individually or in bulk. You can also query custom object records and look them up by external ID.

What Rippling resources are available through Truto's Unified APIs versus native proxy endpoints?

The Unified HRIS API covers Companies, Employees, Employee Compensations, Employments, Fields, Groups, and Locations. The Unified User Directory API covers Users and Groups. For Rippling-specific resources like supergroups, custom objects, business partners, entitlements, and object categories, Truto exposes dedicated native proxy endpoints that give you full access without building against the Rippling API directly.

Rippling

Get Rippling integrated into your app

Our team understands what it takes to make a Rippling integration successful. A short, crisp 30 minute call with folks who understand the problem.

Talk to us