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

# Rippling

> Connect Rippling as your HRIS to power employee self-service

Connect Rippling as your HRIS to power employee self-service. Once connected, Risotto can look up employee information, retrieve PTO balances, submit time off requests, and view home addresses on file. These tools are controlled by the [People Actions](/dashboard/settings/people/actions) settings.

<img src="https://mintcdn.com/risotto-mtje7p526we/OPuxDSJX2TSKracO/dashboard/images/rippling-settings.png?fit=max&auto=format&n=OPuxDSJX2TSKracO&q=85&s=a02d1ebf113c86a87e202e56c6a74d02" alt="Rippling Settings View" width="1724" height="236" data-path="dashboard/images/rippling-settings.png" />

## Install from the Rippling App Shop

Risotto connects to Rippling through the Rippling App Shop. The App Shop handles authentication and Risotto persists OAuth tokens automatically.

<Steps>
  <Step title="Start the install">
    Find the Risotto app in the [Rippling App Shop](https://app.rippling.com/apps) and click **Install**, or start from the Risotto dashboard at **Settings → People → Connect** and click **Install** next to Rippling.
  </Step>

  <Step title="Approve the install in Rippling">
    Sign in to Rippling as an admin if prompted, then approve the requested
    permissions for the Risotto app. Rippling redirects you back to the Risotto
    dashboard once approval is complete.
  </Step>

  <Step title="Confirm the connection">
    Back in the Risotto dashboard, sign in if prompted and you'll land on **Settings → People → Connect**, where the install finishes automatically. The Rippling row updates to show the integration is connected.
  </Step>
</Steps>

<Note>
  Only Rippling admins can install App Shop apps. If the **Install** button
  redirects you to Rippling without an approval screen, ask an admin in your
  workspace to complete the install.
</Note>

<Warning>
  A Rippling company can only be connected to one Risotto org at a time. If the
  same Rippling company is already connected to another Risotto org, the install
  fails with "This Rippling company is already connected to another Risotto
  org." Disconnect from the other org first, then retry the install.
</Warning>

## Requested Permissions

During install, Risotto requests access to the following Rippling data through the App Shop integration:

| Access           | Purpose                                                                        |
| ---------------- | ------------------------------------------------------------------------------ |
| Employee profile | Look up name, work email, job title, department, work location, and start date |
| Home address     | Read the home address on file for the requesting employee                      |
| Leave balances   | Read PTO policy types and balances for each plan the employee is assigned to   |
| Leave requests   | Read existing time off requests and submit new ones on the employee's behalf   |

<Note>
  Rippling negotiates the exact permission scopes through the App Shop
  integration during approval. Risotto reads only the fields it needs to fulfill
  an active request.
</Note>

## Data Fields That Sync

Risotto resolves the requesting employee's Rippling worker record by matching their work email, then reads only the fields required to answer that request.

### Employee profile (read)

Pulled from the Rippling `workers` endpoint:

| Rippling field   | Used for                                                 |
| ---------------- | -------------------------------------------------------- |
| `work_email`     | Primary identifier matched against the requester's email |
| `personal_email` | Secondary identifier when `work_email` is missing        |
| `display_name`   | Preferred display name in Risotto responses              |
| `title`          | Employee profile lookups                                 |
| `department`     | Employee profile lookups                                 |
| `location`       | Work location lookups                                    |
| `start_date`     | Start date lookups                                       |

### Home address (read only)

Read from the worker's `HOME`-typed address record:

| Rippling field   | Used for             |
| ---------------- | -------------------- |
| `street_address` | Street address lines |
| `locality`       | City                 |
| `region`         | State or province    |
| `postal_code`    | Postal / ZIP code    |
| `country`        | Country              |

### Time off (read and write)

Rippling stores leave amounts in minutes; Risotto surfaces them in hours.

| Rippling endpoint | Used for                                                                                   |
| ----------------- | ------------------------------------------------------------------------------------------ |
| `leave-balances`  | Current balance and policy type for each plan the employee is assigned to                  |
| `leave-requests`  | Read recent and upcoming time off requests, and submit a new request with status `pending` |

<Note>
  Unlimited PTO policies don't track a running balance, so Risotto surfaces
  those as unlimited rather than a literal number.
</Note>

## Supported Actions

Rippling supports the following [People Actions](/dashboard/settings/people/actions):

<CardGroup cols={2}>
  <Card title="Get Employee Info" icon="id-card">
    Look up the requesting employee's profile, title, department, work location,
    and start date.
  </Card>

  <Card title="Get Home Address" icon="house">
    View the home address on file for the requesting employee.
  </Card>

  <Card title="Get PTO Balance" icon="calendar-check">
    Retrieve balances for each policy type the employee is assigned to.
  </Card>

  <Card title="Request PTO" icon="calendar-plus">
    Submit a time off request for the requesting employee. Requests are created
    with status `pending` and follow your Rippling approval flow.
  </Card>
</CardGroup>

<Warning>
  **Update Home Address** is not supported for Rippling. The Rippling API does
  not expose address writes, so employee addresses can only be edited in
  Rippling by the employee or an HR admin.
</Warning>

## Terminated Employees

When Rippling marks an employee as terminated or deleted, Risotto receives a webhook from Rippling and immediately stops [People Actions](/dashboard/settings/people/actions) from running for that employee. Requests from former employees are escalated, even if their Slack account is still active.

## Disconnecting

To disconnect Risotto from Rippling, click **Disconnect** on the Rippling row in **People Connect**. Risotto deletes its stored access and refresh tokens. To fully remove the app from Rippling, an admin should also uninstall the Risotto app from the [Rippling App Shop](https://app.rippling.com/apps).
