Skip to content

Rippling

info

How to use this pack?

Who this is for: Coda users who want to bring Rippling HR data into their docs, no coding required. ​Time to complete: approximately 20 minutes for initial setup; each section below can be used independently.

Pack lin :

1. Before You Start

Make sure you have the following before proceeding:
A Rippling account with administrator access (or sufficient permissions to create API tokens).
The Time & Attendance module active in Rippling if you intend to use Leave Requests features.
A Coda account — any plan works, though some advanced Coda features referenced in this tutorial require a Pro plan.
The Rippling Pack installed in your Coda workspace (see Step 2).
Note on data access: Rippling enforces field-level permissions at the API level. If certain columns (such as annual salary or date of birth) appear blank in your sync table, it means your API token does not have the entitlement to read those fields. This is controlled by Rippling, not by the Pack. Contact your Rippling administrator to adjust token permissions if needed.

2. Step 1 — Generate Your Rippling API Token

The Pack uses a Bearer Token to authenticate with Rippling. You generate this token once inside Rippling and paste it into Coda.
In Rippling:
Log in to your Rippling account at .
Navigate to Settings in the left sidebar.
Select API Tokens (under the Integrations or Developer section).
Click Create Token.
Give the token a descriptive name, e.g. Coda Integration.
Select the scopes you need:
Employee Read — required for Workers, GetWorker, WorkerCount, WorkersByDepartment
Department Read — required for Departments
Leave Read — required for Leave Requests and GetLeaveRequests
Leave Write — required for ApproveLeaveRequest, DenyLeaveRequest, CreateLeaveRequest
Employee Write — required for UpdateWorkerTitle, PushATSCandidate
Click Create and copy the token immediately — Rippling only shows it once.
Security tip: Treat this token like a password. Do not share it or commit it to any version control system. If it is ever exposed, revoke it in Rippling and generate a new one.

3. Step 2 — Install the Pack in Your Coda Doc

Open the Coda doc where you want to use Rippling data (or create a new one).
Click the ⚡ Packs icon in the right-hand sidebar, or go to Insert → Packs.
Search for Rippling.
Click Install on the Rippling Pack card.
The Pack is now available in your doc. You will not see any data yet — that happens in the next step.

4. Step 3 — Connect Your Rippling Account

After installing, the Pack will prompt you to Set up account. Click it. Alternatively, click the ⚡ Packs icon → RipplingSettingsAdd account.
A dialogue will appear asking for your API token.
Paste the token you copied from Rippling.
Click Sign in.
If the connection is successful, you will see your company name (e.g. Converteo) listed as the connected account. If you see an error, double-check that you copied the full token without any trailing spaces.
Multiple companies: If you manage more than one Rippling company, you will need to add a separate account for each (one token per company). You can switch between accounts when configuring each sync table.

5. Sync Tables — Live Data From Rippling

Sync tables are the core feature of the Pack. Each one creates a live table in your doc that you can refresh at any time to pull in the latest data from Rippling.

How to add any sync table

In your doc, click Insert in the top menu, or press / in a blank line.
Select Table → Sync table.
Choose Rippling from the list of Packs.
Select the table you want (Workers, Departments, etc.).
Configure any filter options shown in the dialogue.
Click Add table.
Click Sync now to fetch the data.

5.1 Workers

The Workers table is the most important table in the Pack. It contains one row per employee, with all the core HR fields from Rippling.
What it includes:
Column
Description
Name
Full name
First Name
Legal first name
Last Name
Legal family name
Work Email
Professional email address
Personal Email
Personal email address
Title
Job title
Department
Department name
Manager
Role ID of the direct manager
Employment Type
Contract classification (e.g. Employee, Contractor)
Role State
Current status: INIT, ACTIVE, or TERMINATED
Start Date
Contract start date
End Date
Contract end date (if terminated)
Is Manager
true if the person manages others
Is International
true if based outside the USA
Level
Seniority level (e.g. Senior, Lead)
Phone Number
Primary phone
Employee Number
Sequential hire number within the company
Location City
City of their work location
Location Country
Country code (e.g. FR, GB)
Location Street
Street address
Location Zip
Postal code
Location Is Remote
true if fully remote
Currency
Currency of their compensation
Annual Salary
Gross annual salary (if entitled)
Salary Unit
Pay period (e.g. Yearly, Hourly)
Rippling URL
Direct link to their Rippling profile
Sync option — Include Terminated:
When adding the table, you will see a checkbox labelled Include Terminated. Tick this to include employees who have left the company. Useful for offboarding logs and audit trails.
How to use it:
Filter by Role State = ACTIVE to show only current employees.
Group by Department to see headcount per team.
Filter by Is Remote = true to list all remote workers.
Use the Rippling URL column to add a direct link to each person’s Rippling profile in your doc.
Refresh schedule:
Click the ⟳ Sync button at the top of the table to refresh. You can also set an automatic schedule by clicking the sync icon → Schedule sync → choose a frequency (hourly, daily, etc.).

5.2 Departments

A list of every department in your company, including parent-child hierarchy information.
Column
Description
Name
Department name
Parent
ID of the parent department (for nested org structures)
How to use it:
Use this table as a lookup reference. For example, pair it with the Workers table using a filter formula to show all employees in a given department.
Build a simple org hierarchy by grouping rows by the Parent field.

5.3 Teams

A flat list of all teams configured in Rippling.
Column
Description
Name
Team name
How to use it:
Reference this table when building access dashboards or capacity planning views.
Use team names as filter criteria in other tables.

5.4 Work Locations

All the physical and remote work locations configured in your Rippling account.
Column
Description
Nickname
Display name of the location
Street
Street address
City
City
State
State or region
Zip
Postal code
Country
Country code
Is Remote
true if this is a remote designation
How to use it:
Match against the Workers table’s Location City / Location Country columns to build a location-based headcount view.
Use Is Remote to segment remote vs. office-based populations.

5.5 Employment Types

The contract classifications defined in your Rippling account.
Column
Description
Name
Display label (e.g. “Full-time Employee”, “Freelancer”)
Category
Broad category: EMPLOYEE or CONTRACTOR
How to use it:
Filter the Workers table by Employment Type using the Name column.
Build a formula that counts CONTRACTOR vs. EMPLOYEE workers.

5.6 Leave Requests

All absence requests from your Rippling account, with filtering by status and date range.
Column
Description
Employee Name
Name of the employee
Employee ID
Rippling Role ID
Status
PENDING, APPROVED, DENIED, or CANCELLEDeditable
Leave Type
Type of absence (e.g. VACATION, SICK, PARENTAL)
Policy
Name of the leave policy
Start Date
Absence start date
End Date
Absence end date
Num Hours
Total hours of absence
Is Paid
Whether the absence is paid
Reason
Employee-provided reason
Requested By
Person who submitted the request
Processed By
Approver name
Processed At
Date and time the decision was made
Created At
Date the request was created
Sync options:
When adding the table, you can configure three optional filters:
Status filter — show only PENDING, APPROVED, DENIED, or CANCELLED requests. Leave blank to show all.
From — only include requests with a start date on or after this date.
To — only include requests with a start date on or before this date.
How to use it:
Set the status filter to PENDING to build a manager approval queue.
Filter by date range to see all absences for a given month or quarter.
The Status column is editable — see Section 8 for how to use two-way sync to approve or deny requests directly from this table.
Prerequisite: Leave Requests requires the Time & Attendance module to be active in your Rippling account, and the leave:read scope on your API token.

6. Formulas — Query Rippling From Anywhere

Formulas let you call the Rippling API from any cell, button, or formula bar in your Coda doc. You do not need a sync table to use them.
How to use a formula:
Click into any cell, or type / to open the insert menu.
Start typing the formula name (e.g. GetWorker).
Fill in the parameters as prompted.

6.1 GetWorker

Retrieves the full profile of a single employee by their Role ID or work email address.
Syntax:
Rippling::GetWorker("idOrEmail")
Parameters:
Parameter
Type
Description
idOrEmail
Text
The employee’s Rippling Role ID (e.g. abc123) or work email (e.g. alice@acme.com)
Returns: A rich employee object (same fields as the Workers sync table).
Examples:
=Rippling::GetWorker("alice@acme.com")
=Rippling::GetWorker("role_abc123")
Practical use:
In a table that already has an email column, add a formula column to pull in the employee’s current title:
=Rippling::GetWorker([Work Email]).Title
Or display their Rippling profile link:
=Rippling::GetWorker([Work Email]).RipplingUrl

6.2 WorkerCount

Returns the current headcount as a plain number.
Syntax:
Rippling::WorkerCount([includeTerminated])
Parameters:
Parameter
Type
Required
Description
includeTerminated
Boolean
No
Set to true to count all employees including those who have left. Default: false.
Returns: A number.
Examples:
=Rippling::WorkerCount()
=Rippling::WorkerCount(true)
Practical use:
Drop this formula into a KPI card or summary row:
Active headcount: =Rippling::WorkerCount()
Total (incl. leavers): =Rippling::WorkerCount(true)

6.3 WorkersByDepartment

Returns a list of active employees in a specific department.
Syntax:
Rippling::WorkersByDepartment("departmentId")
Parameters:
Parameter
Type
Description
departmentId
Text
The Rippling department ID. The formula bar shows an autocomplete dropdown — type a department name and select from the list.
Returns: A list of employee objects.
Examples:
=Rippling::WorkersByDepartment("dept_abc123")
Practical use:
Display the names of all engineers on a project page:
=Rippling::WorkersByDepartment("dept_engineering").Name.BulletedList()
Count headcount by department:
=Rippling::WorkersByDepartment("dept_engineering").Count()
Tip: When typing the formula, an autocomplete dropdown will appear after the opening quote, showing your departments by name. Select from the list rather than typing the ID manually.

6.4 GetLeaveRequests

Returns all approved leave requests for a specific employee, optionally filtered by date range.
Syntax:
Rippling::GetLeaveRequests("roleId", [from], [to])
Parameters:
Parameter
Type
Required
Description
roleId
Text
Yes
The employee’s Rippling Role ID
from
Date
No
Only include absences starting on or after this date
to
Date
No
Only include absences starting on or before this date
Returns: A list of leave request objects.
Examples:
=Rippling::GetLeaveRequests("role_abc123")
=Rippling::GetLeaveRequests("role_abc123", Date(2025,1,1), Date(2025,12,31))
Practical use:
Display total approved holiday hours for an employee this year:
=Rippling::GetLeaveRequests(
[Role ID],
Date(Year(Today()),1,1),
Today()
).Filter(CurrentValue.LeaveType = "VACATION").NumHours.Sum()

7. Actions — Trigger Changes in Rippling From a Button

Actions are formulas that write data back to Rippling. They are designed to be used in Coda buttons. When a user clicks the button, the action runs and the change is reflected in Rippling immediately.

How to add a button

In a table, click + Add columnButton.
Click Edit buttonAdd action.
Select Run a formula.
Type the action formula (see each section below).
Give the button a label and an optional colour.
Click Done.

7.1 ApproveLeaveRequest

Approves a pending leave request and updates the row in the Leave Requests sync table automatically.
Syntax:
Rippling::ApproveLeaveRequest("leaveRequestId", ["comment"])
Parameters:
Parameter
Type
Required
Description
leaveRequestId
Text
Yes
The ID of the leave request (the Id column in the Leave Requests table)
comment
Text
No
An optional note to accompany the approval
Example button formula:
=Rippling::ApproveLeaveRequest([Id], "Approved — enjoy your time off!")
Practical setup:
Add the Leave Requests sync table filtered to Status = PENDING.
Add a button column with the label Approve.
Set the formula to =Rippling::ApproveLeaveRequest([Id]).
When a manager clicks Approve, the request is approved in Rippling and the row’s Status column updates to APPROVED in the same sync table.

7.2 DenyLeaveRequest

Declines a pending leave request and updates the row automatically.
Syntax:
Rippling::DenyLeaveRequest("leaveRequestId", ["reason"])
Parameters:
Parameter
Type
Required
Description
leaveRequestId
Text
Yes
The ID of the leave request
reason
Text
No
An optional reason for the denial
Example button formula:
=Rippling::DenyLeaveRequest([Id], "Team is at minimum capacity during this period.")
Practical setup:
Add this as a second button column labelled Decline alongside the Approve button described above, to create a full approval queue inside Coda.

7.3 CreateLeaveRequest

Submits a new absence request for an employee directly from Coda.
Syntax:
Rippling::CreateLeaveRequest("roleId", startDate, endDate, "leaveType", ["reason"])
Parameters:
Parameter
Type
Required
Description
roleId
Text
Yes
The employee’s Rippling Role ID
startDate
Date
Yes
Absence start date
endDate
Date
Yes
Absence end date
leaveType
Text
Yes
One of: VACATION, SICK, PARENTAL, BEREAVEMENT, OTHER
reason
Text
No
Optional reason for the absence
Example button formula:
=Rippling::CreateLeaveRequest(
[Role ID],
[Start Date],
[End Date],
[Leave Type],
[Notes]
)
Practical setup:
Build a simple absence request form in Coda:
Create a table with columns: Employee Role ID, Start Date, End Date, Leave Type (select list), Notes.
Add a button column labelled Submit to Rippling.
Set the formula to =Rippling::CreateLeaveRequest([Employee Role ID], [Start Date], [End Date], [Leave Type], [Notes]).
Employees fill in the row and click Submit. The request appears in Rippling instantly.

7.4 UpdateWorkerTitle

Changes an employee’s job title in Rippling and refreshes the Workers sync table row automatically.
Syntax:
Rippling::UpdateWorkerTitle("employeeId", "newTitle")
Parameters:
Parameter
Type
Required
Description
employeeId
Text
Yes
The employee’s Rippling Role ID
newTitle
Text
Yes
The new job title to set
Example button formula:
=Rippling::UpdateWorkerTitle([Id], [New Title])
Practical setup:
In the Workers sync table, add a text column called New Title.
Add a button column labelled Update Title in Rippling.
Set the formula to =Rippling::UpdateWorkerTitle([Id], [New Title]).
Type a new title in the New Title column and click the button. The title updates in Rippling and the Title column in the Workers table refreshes automatically.

7.5 PushATSCandidate

Sends a new hire candidate from Coda into Rippling’s onboarding flow, as if they had been pushed from an ATS.
⚠️ Important: This action immediately triggers Rippling’s onboarding workflows, which may send emails to the candidate and trigger app provisioning. Only use this when you are ready to onboard the person.
Syntax:
Rippling::PushATSCandidate(
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.