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 usUse Cases
Why integrate with Rippling
Common scenarios for SaaS companies building Rippling integrations for their customers.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
Employee Compensations
Represent the compensation configuration for an Employee
Employees
Represents an employee in HRIS
Employments
Employments represent a job position at a company.
Fields
Represent the fields for various entities in the company
Groups
Groups represent the groups for an Employee
Locations
Locations represent the locations in HRIS
How It Works
From zero to integrated
Go live with Rippling in under an hour. No boilerplate, no maintenance burden.
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.
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.
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.
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.
From the Blog
Rippling integration guides
Deep dives, architecture guides, and practical tutorials for building Rippling integrations.
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