> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tracecat.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Rippling

> Reference for the Tracecat Rippling integration: registered actions, required secrets, expected inputs, and example workflow usage.

## Create draft hires

Action ID: `tools.rippling.create_draft_hires`

Create draft hires. Calls POST /draft-hires/ directly. Bulk onboarding entry point. The request body takes a draft\_hires array. Required scope: draft-hires.read-write.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/create-draft-hires](https://developer.rippling.com/documentation/rest-api/reference/create-draft-hires)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="draft_hires" type="array[object]" required>
  List of draft hires. Each draft hire requires `personal_info`, `employment_info`, and `work_location_info`, and optionally accepts `custom_fields`, `headcount_info`, and `documents`.
</ParamField>

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

## Create software deployment

Action ID: `tools.rippling.create_software_deployment`

Create software deployment. Calls POST /software-deployments/ directly. Deploys a SaaS app to a group or device group. Required scope: software-deployments.read-write.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/create-software-deployments](https://developer.rippling.com/documentation/rest-api/reference/create-software-deployments)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body. Documented fields: software\_id (required), active\_group\_type, group\_id, ma\_device\_group\_id.

  Default: `null`.
</ParamField>

## Delete software deployment

Action ID: `tools.rippling.delete_software_deployment`

Delete software deployment. Calls DELETE /software-deployments/\{id}/ directly. Destructive. Removes the deployment and revokes the app for every member of the target group. Required scope: software-deployments.read-write.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/delete-software-deployments](https://developer.rippling.com/documentation/rest-api/reference/delete-software-deployments)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="id" type="string" required>
  Rippling API path value for id.
</ParamField>

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

## Get report run

Action ID: `tools.rippling.get_report_run`

Get report run. Calls GET /report-runs/\{run\_id}/ directly. Retrieves the status and, once complete, the output of a report run started by trigger\_report\_run. Requires the Reports API entitlement. Required scope: report-runs.read.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/get-report-runs](https://developer.rippling.com/documentation/rest-api/reference/get-report-runs)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="run_id" type="string" required>
  Rippling API path value for run\_id.
</ParamField>

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

## Get SSO me

Action ID: `tools.rippling.get_sso_me`

Get SSO me. Calls GET /sso-me/ directly. Returns a single object, not a paginated collection, despite Rippling naming the endpoint list-sso-me. Cheapest call for verifying that the configured API token is valid: a 401 means the token is revoked or expired and a 403 means a scope is missing. Required scope: sso-me.read.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/list-sso-me](https://developer.rippling.com/documentation/rest-api/reference/list-sso-me)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="cursor" type="string | null">
  `cursor` is used to fetch the next page of results. Start with a request without cursor, read the `next_link` value from the response, and continue until `next_link` is `null`.

  Default: `null`.
</ParamField>

<ParamField path="expand" type="string | null">
  Fields in a response can represent objects themselves. Instead of making an additional API call, you can expand field(s) in a response using the `expand` query parameter. Use commas to specify multiple fields to expand. Use dot notation (.) to recursively expand. The API supports two levels of expansion and up to ten expanded fields per request. Expandable fields: `company`.

  Default: `null`.
</ParamField>

## Get worker

Action ID: `tools.rippling.get_worker`

Get worker. Calls GET /workers/\{id}/ directly. Fetches a single worker by Rippling worker id, for when you already have that id from list\_workers or an upstream event. Required scope: workers.read.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/get-workers](https://developer.rippling.com/documentation/rest-api/reference/get-workers)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="id" type="string" required>
  Rippling API path value for id.
</ParamField>

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="expand" type="string | null">
  Fields in a response can represent objects themselves. Instead of making an additional API call, you can expand field(s) in a response using the `expand` query parameter. Use commas to specify multiple fields to expand. Use dot notation (.) to recursively expand. The API supports two levels of expansion and up to ten expanded fields per request. Expandable fields: `user`, `manager`, `legal_entity`, `employment_type`, `compensation`, `department`, `teams`, `level`, `job_function`, `custom_fields`, `business_partners`.

  Default: `null`.
</ParamField>

## List app users

Action ID: `tools.rippling.list_app_users`

List app users. Calls GET /app-users/ directly. Links each worker to their external SaaS account. A push\_state of DELETE\_FAILED or SUSPEND\_FAILED means access was not actually revoked, and a match\_state of NOT\_MATCHED surfaces orphaned accounts. Required scope: app-users.read.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/list-app-users](https://developer.rippling.com/documentation/rest-api/reference/list-app-users)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="cursor" type="string | null">
  `cursor` is used to fetch the next page of results. Start with a request without cursor, read the `next_link` value from the response, and continue until `next_link` is `null`.

  Default: `null`.
</ParamField>

<ParamField path="expand" type="string | null">
  Fields in a response can represent objects themselves. Instead of making an additional API call, you can expand field(s) in a response using the `expand` query parameter. Use commas to specify multiple fields to expand. Use dot notation (.) to recursively expand. The API supports two levels of expansion and up to ten expanded fields per request. Expandable fields: `worker`.

  Default: `null`.
</ParamField>

<ParamField path="filter" type="string | null">
  The `filter` query parameter is used to filter the data returned from the API - similar to a `where` clause. The following operators are supported: eq, ne, gt, gte, lt, lte, and, or, in. Example: status eq 'ACTIVE'. Filterable fields: `worker_id`, `spoke_user_identifier`, `app_handle`, `created_at`, `updated_at`.

  Default: `null`.
</ParamField>

<ParamField path="limit" type="integer | null">
  `limit` controls how many results are returned in a single page. Default page size is 50. Most endpoints allow a maximum of 100.

  Default: `null`.
</ParamField>

<ParamField path="order_by" type="string | null">
  The `order_by` parameter is used to select field(s) to sort by and to define whether results are sorted in ascending or descending order. Supported sort directions are `asc` for ascending order and `desc` for descending order. Unless indicated, the default sort direction is ascending order. Use commas to specify multiple fields to sort. Sortable fields: `id`, `created_at`, `updated_at`.

  Default: `null`.
</ParamField>

## List departments

Action ID: `tools.rippling.list_departments`

List departments. Calls GET /departments/ directly. Departments are the org-chart reporting units carried on each worker record. Required scope: departments.read.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/list-departments](https://developer.rippling.com/documentation/rest-api/reference/list-departments)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="cursor" type="string | null">
  `cursor` is used to fetch the next page of results. Start with a request without cursor, read the `next_link` value from the response, and continue until `next_link` is `null`.

  Default: `null`.
</ParamField>

<ParamField path="expand" type="string | null">
  Fields in a response can represent objects themselves. Instead of making an additional API call, you can expand field(s) in a response using the `expand` query parameter. Use commas to specify multiple fields to expand. Use dot notation (.) to recursively expand. The API supports two levels of expansion and up to ten expanded fields per request. Expandable fields: `parent`, `department_hierarchy`.

  Default: `null`.
</ParamField>

<ParamField path="limit" type="integer | null">
  `limit` controls how many results are returned in a single page. Default page size is 50. Most endpoints allow a maximum of 100.

  Default: `null`.
</ParamField>

<ParamField path="order_by" type="string | null">
  The `order_by` parameter is used to select field(s) to sort by and to define whether results are sorted in ascending or descending order. Supported sort directions are `asc` for ascending order and `desc` for descending order. Unless indicated, the default sort direction is ascending order. Use commas to specify multiple fields to sort. Sortable fields: `id`, `created_at`, `updated_at`.

  Default: `null`.
</ParamField>

## List devices

Action ID: `tools.rippling.list_devices`

List devices. Calls GET /devices/ directly. Filter on worker\_id for offboarding device recovery, or on lifecycle\_state and enrollment\_status for fleet compliance. Required scope: devices.read.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/list-devices](https://developer.rippling.com/documentation/rest-api/reference/list-devices)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="cursor" type="string | null">
  `cursor` is used to fetch the next page of results. Start with a request without cursor, read the `next_link` value from the response, and continue until `next_link` is `null`.

  Default: `null`.
</ParamField>

<ParamField path="expand" type="string | null">
  Fields in a response can represent objects themselves. Instead of making an additional API call, you can expand field(s) in a response using the `expand` query parameter. Use commas to specify multiple fields to expand. Use dot notation (.) to recursively expand. The API supports two levels of expansion and up to ten expanded fields per request. Expandable fields: `worker`, `pending_actions`.

  Default: `null`.
</ParamField>

<ParamField path="filter" type="string | null">
  The `filter` query parameter is used to filter the data returned from the API - similar to a `where` clause. The following operators are supported: eq, ne, gt, gte, lt, lte, and, or, in. Example: status eq 'ACTIVE'. Filterable fields: `worker_id`, `serial_number`, `lifecycle_state`, `enrollment_status`. Allowed values for `lifecycle_state`: INIT, ACTIVE, ACTIVATING, LOCKED, LOCKING, INACTIVE, PENDING\_MDM, CLEANING, READY, DECOMMISSIONING, DECOMMISSIONED, FULL\_WIPING, FULL\_WIPED, E\_CYCLED, MDM\_LOCKED, LOST, LOST\_PLAYING\_SOUND. Allowed values for `enrollment_status`: ENROLLED, WAITING\_FOR\_CONNECTION, ERROR, UNENROLLED.

  Default: `null`.
</ParamField>

<ParamField path="limit" type="integer | null">
  `limit` controls how many results are returned in a single page. Default page size is 50. Most endpoints allow a maximum of 100.

  Default: `null`.
</ParamField>

<ParamField path="order_by" type="string | null">
  The `order_by` parameter is used to select field(s) to sort by and to define whether results are sorted in ascending or descending order. Supported sort directions are `asc` for ascending order and `desc` for descending order. Unless indicated, the default sort direction is ascending order. Use commas to specify multiple fields to sort. Sortable fields: `id`, `created_at`, `updated_at`.

  Default: `null`.
</ParamField>

## List entitlements

Action ID: `tools.rippling.list_entitlements`

List entitlements. Calls GET /entitlements/ directly. Reports which API entitlements the company has, so a workflow can branch before calling an entitlement-gated action. Required scope: entitlements.read.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/list-entitlements](https://developer.rippling.com/documentation/rest-api/reference/list-entitlements)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

## List leave balances

Action ID: `tools.rippling.list_leave_balances`

List leave balances. Calls GET /leave-balances/ directly. Balances are point-in-time accrued and available time per leave policy; use list\_leave\_requests for individual time-off records. Required scope: leave-balances.read.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/list-leave-balances](https://developer.rippling.com/documentation/rest-api/reference/list-leave-balances)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="cursor" type="string | null">
  `cursor` is used to fetch the next page of results. Start with a request without cursor, read the `next_link` value from the response, and continue until `next_link` is `null`.

  Default: `null`.
</ParamField>

<ParamField path="expand" type="string | null">
  Fields in a response can represent objects themselves. Instead of making an additional API call, you can expand field(s) in a response using the `expand` query parameter. Use commas to specify multiple fields to expand. Use dot notation (.) to recursively expand. The API supports two levels of expansion and up to ten expanded fields per request. Expandable fields: `worker`, `leave_type`.

  Default: `null`.
</ParamField>

<ParamField path="filter" type="string | null">
  The `filter` query parameter is used to filter the data returned from the API - similar to a `where` clause. The following operators are supported: eq, ne, gt, gte, lt, lte, and, or, in. Example: status eq 'ACTIVE'. Filterable fields: `worker_id`, `leave_type_id`.

  Default: `null`.
</ParamField>

<ParamField path="limit" type="integer | null">
  `limit` controls how many results are returned in a single page. Default page size is 50. Most endpoints allow a maximum of 100.

  Default: `null`.
</ParamField>

<ParamField path="order_by" type="string | null">
  The `order_by` parameter is used to select field(s) to sort by and to define whether results are sorted in ascending or descending order. Supported sort directions are `asc` for ascending order and `desc` for descending order. Unless indicated, the default sort direction is ascending order. Use commas to specify multiple fields to sort. Sortable fields: `id`, `created_at`, `updated_at`.

  Default: `null`.
</ParamField>

## List leave requests

Action ID: `tools.rippling.list_leave_requests`

List leave requests. Calls GET /leave-requests/ directly. Each record is one time-off request with an approval status; pass its id to update\_leave\_request to approve, reject, or cancel it. Required scope: leave-requests.read.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/list-leave-requests](https://developer.rippling.com/documentation/rest-api/reference/list-leave-requests)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="cursor" type="string | null">
  `cursor` is used to fetch the next page of results. Start with a request without cursor, read the `next_link` value from the response, and continue until `next_link` is `null`.

  Default: `null`.
</ParamField>

<ParamField path="expand" type="string | null">
  Fields in a response can represent objects themselves. Instead of making an additional API call, you can expand field(s) in a response using the `expand` query parameter. Use commas to specify multiple fields to expand. Use dot notation (.) to recursively expand. The API supports two levels of expansion and up to ten expanded fields per request. Expandable fields: `worker`, `requester`, `leave_type`, `reviewer`.

  Default: `null`.
</ParamField>

<ParamField path="filter" type="string | null">
  The `filter` query parameter is used to filter the data returned from the API - similar to a `where` clause. The following operators are supported: eq, ne, gt, gte, lt, lte, and, or, in. Example: status eq 'ACTIVE'. Filterable fields: `worker_id`, `requester_id`, `reviewer_id`, `status`, `leave_policy_id`, `leave_type_id`, `start_date`, `end_date`. Allowed values for `status`: PENDING, APPROVED, REJECTED, CANCELED.

  Default: `null`.
</ParamField>

<ParamField path="limit" type="integer | null">
  `limit` controls how many results are returned in a single page. Default page size is 50. Most endpoints allow a maximum of 100.

  Default: `null`.
</ParamField>

<ParamField path="order_by" type="string | null">
  The `order_by` parameter is used to select field(s) to sort by and to define whether results are sorted in ascending or descending order. Supported sort directions are `asc` for ascending order and `desc` for descending order. Unless indicated, the default sort direction is ascending order. Use commas to specify multiple fields to sort. Sortable fields: `id`, `created_at`, `updated_at`.

  Default: `null`.
</ParamField>

## List software deployments

Action ID: `tools.rippling.list_software_deployments`

List software deployments. Calls GET /software-deployments/ directly. Shows which SaaS app is deployed to which group or device group. Required scope: software-deployments.read.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/list-software-deployments](https://developer.rippling.com/documentation/rest-api/reference/list-software-deployments)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="cursor" type="string | null">
  `cursor` is used to fetch the next page of results. Start with a request without cursor, read the `next_link` value from the response, and continue until `next_link` is `null`.

  Default: `null`.
</ParamField>

<ParamField path="expand" type="string | null">
  Fields in a response can represent objects themselves. Instead of making an additional API call, you can expand field(s) in a response using the `expand` query parameter. Use commas to specify multiple fields to expand. Use dot notation (.) to recursively expand. The API supports two levels of expansion and up to ten expanded fields per request. Expandable fields: `software`.

  Default: `null`.
</ParamField>

<ParamField path="filter" type="string | null">
  The `filter` query parameter is used to filter the data returned from the API - similar to a `where` clause. The following operators are supported: eq, ne, gt, gte, lt, lte, and, or, in. Example: status eq 'ACTIVE'. Filterable fields: `software_id`, `active_group_type`. Allowed values for `active_group_type`: Role, Device.

  Default: `null`.
</ParamField>

<ParamField path="limit" type="integer | null">
  `limit` controls how many results are returned in a single page. Default page size is 50. Most endpoints allow a maximum of 100.

  Default: `null`.
</ParamField>

<ParamField path="order_by" type="string | null">
  The `order_by` parameter is used to select field(s) to sort by and to define whether results are sorted in ascending or descending order. Supported sort directions are `asc` for ascending order and `desc` for descending order. Unless indicated, the default sort direction is ascending order. Use commas to specify multiple fields to sort. Sortable fields: `id`, `created_at`, `updated_at`.

  Default: `null`.
</ParamField>

## List supergroup members

Action ID: `tools.rippling.list_supergroup_members`

List supergroup members. Calls GET /supergroups/\{group\_id}/members/ directly. Returns effective membership, including members inherited from rules. Required scope: supergroups.read.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/list-supergroups-group-id-members](https://developer.rippling.com/documentation/rest-api/reference/list-supergroups-group-id-members)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="group_id" type="string" required>
  Rippling API path value for group\_id.
</ParamField>

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="expand" type="string | null">
  Fields in a response can represent objects themselves. Instead of making an additional API call, you can expand field(s) in a response using the `expand` query parameter. Use commas to specify multiple fields to expand. Use dot notation (.) to recursively expand. The API supports two levels of expansion and up to ten expanded fields per request. Expandable fields: `worker`.

  Default: `null`.
</ParamField>

<ParamField path="order_by" type="string | null">
  The `order_by` parameter is used to select field(s) to sort by and to define whether results are sorted in ascending or descending order. Supported sort directions are `asc` for ascending order and `desc` for descending order. Unless indicated, the default sort direction is ascending order. Use commas to specify multiple fields to sort. Sortable fields: `id`, `created_at`, `updated_at`.

  Default: `null`.
</ParamField>

## List supergroups

Action ID: `tools.rippling.list_supergroups`

List supergroups. Calls GET /supergroups/ directly. Supergroups drive app access policies. Required scope: supergroups.read.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/list-supergroups](https://developer.rippling.com/documentation/rest-api/reference/list-supergroups)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="filter" type="string | null">
  The `filter` query parameter is used to filter the data returned from the API - similar to a `where` clause. The following operators are supported: eq, ne, gt, gte, lt, lte, and, or, in. Example: status eq 'ACTIVE'. Filterable fields: `app_owner_id`, `group_type`.

  Default: `null`.
</ParamField>

<ParamField path="order_by" type="string | null">
  The `order_by` parameter is used to select field(s) to sort by and to define whether results are sorted in ascending or descending order. Supported sort directions are `asc` for ascending order and `desc` for descending order. Unless indicated, the default sort direction is ascending order. Use commas to specify multiple fields to sort. Sortable fields: `id`, `created_at`, `updated_at`.

  Default: `null`.
</ParamField>

## List teams

Action ID: `tools.rippling.list_teams`

List teams. Calls GET /teams/ directly. Teams group workers independently of the department reporting line, so one worker can belong to several. Required scope: teams.read.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/list-teams](https://developer.rippling.com/documentation/rest-api/reference/list-teams)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="cursor" type="string | null">
  `cursor` is used to fetch the next page of results. Start with a request without cursor, read the `next_link` value from the response, and continue until `next_link` is `null`.

  Default: `null`.
</ParamField>

<ParamField path="expand" type="string | null">
  Fields in a response can represent objects themselves. Instead of making an additional API call, you can expand field(s) in a response using the `expand` query parameter. Use commas to specify multiple fields to expand. Use dot notation (.) to recursively expand. The API supports two levels of expansion and up to ten expanded fields per request. Expandable fields: `parent`.

  Default: `null`.
</ParamField>

<ParamField path="limit" type="integer | null">
  `limit` controls how many results are returned in a single page. Default page size is 50. Most endpoints allow a maximum of 100.

  Default: `null`.
</ParamField>

<ParamField path="order_by" type="string | null">
  The `order_by` parameter is used to select field(s) to sort by and to define whether results are sorted in ascending or descending order. Supported sort directions are `asc` for ascending order and `desc` for descending order. Unless indicated, the default sort direction is ascending order. Use commas to specify multiple fields to sort. Sortable fields: `id`, `created_at`, `updated_at`.

  Default: `null`.
</ParamField>

## List users

Action ID: `tools.rippling.list_users`

List users. Calls GET /users/ directly. Join to workers on worker.user\_id. The user number field is the stable cross-system employee identifier. Required scope: users.read.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/list-users](https://developer.rippling.com/documentation/rest-api/reference/list-users)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="cursor" type="string | null">
  `cursor` is used to fetch the next page of results. Start with a request without cursor, read the `next_link` value from the response, and continue until `next_link` is `null`.

  Default: `null`.
</ParamField>

<ParamField path="limit" type="integer | null">
  `limit` controls how many results are returned in a single page. Default page size is 50. Most endpoints allow a maximum of 100.

  Default: `null`.
</ParamField>

<ParamField path="order_by" type="string | null">
  The `order_by` parameter is used to select field(s) to sort by and to define whether results are sorted in ascending or descending order. Supported sort directions are `asc` for ascending order and `desc` for descending order. Unless indicated, the default sort direction is ascending order. Use commas to specify multiple fields to sort. Sortable fields: `id`, `created_at`, `updated_at`.

  Default: `null`.
</ParamField>

## List work locations

Action ID: `tools.rippling.list_work_locations`

List work locations. Calls GET /work-locations/ directly. Work locations are the work sites the company has registered, used for tax and compliance reporting. Required scope: work-locations.read.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/list-work-locations](https://developer.rippling.com/documentation/rest-api/reference/list-work-locations)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="cursor" type="string | null">
  `cursor` is used to fetch the next page of results. Start with a request without cursor, read the `next_link` value from the response, and continue until `next_link` is `null`.

  Default: `null`.
</ParamField>

<ParamField path="limit" type="integer | null">
  `limit` controls how many results are returned in a single page. Default page size is 50. Most endpoints allow a maximum of 100.

  Default: `null`.
</ParamField>

<ParamField path="order_by" type="string | null">
  The `order_by` parameter is used to select field(s) to sort by and to define whether results are sorted in ascending or descending order. Supported sort directions are `asc` for ascending order and `desc` for descending order. Unless indicated, the default sort direction is ascending order. Use commas to specify multiple fields to sort. Sortable fields: `id`, `created_at`, `updated_at`.

  Default: `null`.
</ParamField>

## List worker changes

Action ID: `tools.rippling.list_worker_changes`

List worker changes. Calls GET /worker-changes/ directly. Audit trail of changes to worker fields. Requires the Worker Changes API entitlement. Required scope: worker-changes.read.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/list-worker-changes](https://developer.rippling.com/documentation/rest-api/reference/list-worker-changes)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="cursor" type="string | null">
  `cursor` is used to fetch the next page of results. Start with a request without cursor, read the `next_link` value from the response, and continue until `next_link` is `null`.

  Default: `null`.
</ParamField>

<ParamField path="expand" type="string | null">
  Fields in a response can represent objects themselves. Instead of making an additional API call, you can expand field(s) in a response using the `expand` query parameter. Use commas to specify multiple fields to expand. Use dot notation (.) to recursively expand. The API supports two levels of expansion and up to ten expanded fields per request. Expandable fields: `worker`, `changed_by`.

  Default: `null`.
</ParamField>

<ParamField path="filter" type="string | null">
  The `filter` query parameter is used to filter the data returned from the API - similar to a `where` clause. The following operators are supported: eq, ne, gt, gte, lt, lte, and, or, in. Example: status eq 'ACTIVE'. Filterable fields: `worker_id`, `applied_on`, `effective_on`, `changed_by_id`, `reason_code`, `field_key`, `event_type`. Allowed values for `event_type`: HIRE, CHANGE, SCHEDULED\_CHANGE, OFFBOARD, SCHEDULED\_OFFBOARD, IMPORT, UNDO, EFFECTIVE\_DATE\_AMENDMENT.

  Default: `null`.
</ParamField>

<ParamField path="limit" type="integer | null">
  `limit` controls how many results are returned in a single page. Default page size is 50. Most endpoints allow a maximum of 100.

  Default: `null`.
</ParamField>

<ParamField path="order_by" type="string | null">
  The `order_by` parameter is used to select field(s) to sort by and to define whether results are sorted in ascending or descending order. Supported sort directions are `asc` for ascending order and `desc` for descending order. Unless indicated, the default sort direction is ascending order. Use commas to specify multiple fields to sort. Sortable fields: `id`, `created_at`, `updated_at`, `applied_on`, `effective_on`.

  Default: `null`.
</ParamField>

## List workers

Action ID: `tools.rippling.list_workers`

List workers. Calls GET /workers/ directly. Filter on status to select the active roster, terminated workers, or the pre-start pipeline. Required scope: workers.read.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/list-workers](https://developer.rippling.com/documentation/rest-api/reference/list-workers)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="cursor" type="string | null">
  `cursor` is used to fetch the next page of results. Start with a request without cursor, read the `next_link` value from the response, and continue until `next_link` is `null`.

  Default: `null`.
</ParamField>

<ParamField path="expand" type="string | null">
  Fields in a response can represent objects themselves. Instead of making an additional API call, you can expand field(s) in a response using the `expand` query parameter. Use commas to specify multiple fields to expand. Use dot notation (.) to recursively expand. The API supports two levels of expansion and up to ten expanded fields per request. Expandable fields: `user`, `manager`, `legal_entity`, `employment_type`, `compensation`, `department`, `teams`, `level`, `job_function`, `custom_fields`, `business_partners`.

  Default: `null`.
</ParamField>

<ParamField path="filter" type="string | null">
  The `filter` query parameter is used to filter the data returned from the API - similar to a `where` clause. The following operators are supported: eq, ne, gt, gte, lt, lte, and, or, in. Example: status eq 'ACTIVE'. Filterable fields: `status`, `work_email`, `user_id`, `created_at`, `updated_at`. Allowed values for `status`: INIT, HIRED, ACCEPTED, ACTIVE, TERMINATED.

  Default: `null`.
</ParamField>

<ParamField path="limit" type="integer | null">
  `limit` controls how many results are returned in a single page. Default page size is 50. Most endpoints allow a maximum of 100.

  Default: `null`.
</ParamField>

<ParamField path="order_by" type="string | null">
  The `order_by` parameter is used to select field(s) to sort by and to define whether results are sorted in ascending or descending order. Supported sort directions are `asc` for ascending order and `desc` for descending order. Unless indicated, the default sort direction is ascending order. Use commas to specify multiple fields to sort. Sortable fields: `id`, `created_at`, `updated_at`.

  Default: `null`.
</ParamField>

## Trigger report run

Action ID: `tools.rippling.trigger_report_run`

Trigger report run. Calls POST /report-runs/ directly. Starts an asynchronous run of a saved Rippling report. Poll get\_report\_run with the returned run id to collect results. Requires the Reports API entitlement. Required scope: report-runs.read-write.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/trigger-report-runs](https://developer.rippling.com/documentation/rest-api/reference/trigger-report-runs)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body. Documented fields: report\_id (required), filters, format\_currency\_fields, format\_date\_fields, include\_object\_ids, include\_total\_rows, output\_type, view\_as.

  Default: `null`.
</ParamField>

## Update leave request

Action ID: `tools.rippling.update_leave_request`

Update leave request. Calls PATCH /leave-requests/\{id}/ directly. Set status in the request body to approve, reject, or cancel a request. Required scope: leave-requests.read-write.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/update-leave-requests](https://developer.rippling.com/documentation/rest-api/reference/update-leave-requests)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="id" type="string" required>
  Rippling API path value for id.
</ParamField>

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body. Documented fields: end\_date (required), start\_date (required), status (required), worker\_id (required), comments, end\_date\_custom\_hours, end\_time, leave\_event\_id, leave\_policy\_id, leave\_type\_id, reason\_for\_leave, requester\_id, reviewed\_at, reviewer\_id, start\_date\_custom\_hours, start\_time.

  Default: `null`.
</ParamField>

## Update supergroup exclusion members

Action ID: `tools.rippling.update_supergroup_exclusion_members`

Update supergroup exclusion members. Calls PATCH /supergroups/\{group\_id}/exclusion-members/ directly. Force-revokes group-driven access. Takes a SCIM-style Operations array in the request body. Required scope: supergroups.read-write.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/update-supergroups-group-id-exclusion-members](https://developer.rippling.com/documentation/rest-api/reference/update-supergroups-group-id-exclusion-members)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="Operations" type="array[object]" required>
  The list of operations to apply. Each operation takes `op` (add or remove) and `value`, the members to add or remove, each carrying an `id` (a member id).
</ParamField>

<ParamField path="group_id" type="string" required>
  Rippling API path value for group\_id.
</ParamField>

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>

## Update supergroup inclusion members

Action ID: `tools.rippling.update_supergroup_inclusion_members`

Update supergroup inclusion members. Calls PATCH /supergroups/\{group\_id}/inclusion-members/ directly. Grants group-driven access. Takes a SCIM-style Operations array in the request body. Required scope: supergroups.read-write.

Reference: [https://developer.rippling.com/documentation/rest-api/reference/update-supergroups-group-id-inclusion-members](https://developer.rippling.com/documentation/rest-api/reference/update-supergroups-group-id-inclusion-members)

### Secrets

Required secrets:

* `rippling`: required values `RIPPLING_API_KEY`.

### Input fields

<ParamField path="Operations" type="array[object]" required>
  The list of operations to apply. Each operation takes `op` (add or remove) and `value`, the members to add or remove, each carrying an `id` (a member id).
</ParamField>

<ParamField path="group_id" type="string" required>
  Rippling API path value for group\_id.
</ParamField>

<ParamField path="base_url" type="string | null">
  Base URL of the Rippling REST API.

  Default: `null`.
</ParamField>
