- Home
- Resources
- Integrations
- BambooHR
BambooHR Zapier integrationAutomate BambooHR with Zapier.
The BambooHR Zapier integration gives you 9 triggers, 7 actions and 1 search. This page explains each one in plain words, which two react instantly, what plan you need, how to connect your HR account and where a Zap usually gets stuck, before you open the editor.
Premium app Zapier reserves this app to its paid plans.
Verified Trustpilot reviews · AI, automation & growth agency
What the BambooHR Zapier integration does for your HR team
The BambooHR Zapier integration connects your HR records to the rest of your tools, so hires, departures, time off and employee changes move on their own. BambooHR is the HR software many small and midsized companies use to hold their people data; Zapier watches for an event there and acts somewhere else, without code.
Three results HR teams usually build first. An onboarding kickoff: New Employee fires when a record is created, and the next steps can open accounts or tell IT. A clean offboarding: Terminated Employee starts the Zap the moment someone is marked as leaving, so access removal does not wait. Time off without the back and forth: New Time Off Request picks up a request, and Respond to Time Off Request approves, denies or cancels it according to your rule.
The most useful thing to know before you build: only two triggers here are instant, Terminated Employee and Updated Employee. They start the Zap right away on any plan. The other seven wait for Zapier's next check. So if a change in a standard field must reach other tools fast, pick Updated Employee over New Updated Employee (Include Custom Fields Changes), and keep the second one for custom fields.
What Zapier does not do: there is no action to terminate an employee or delete a record, and BambooHR is reserved for paid Zapier plans. To compare the building blocks, see the BambooHR n8n integration and the BambooHR Make integration.
Zapier vocabulary in one minute
Seven words come back on every line of this page. Here they are once, in ordinary English.
- Zap
- The automation you build on Zapier: one starting event, then one or more steps that run every time that event happens.
- Trigger
- The event in BambooHR that starts the Zap, such as a new employee record. Once the Zap is on, Zapier waits for it.
- Action
- What the Zap does once started: the step that creates, updates or uploads something for you, like a timesheet entry.
- Task
- The unit Zapier bills. One task is one action the Zap completed successfully; your plan counts those.
- Polling vs instant
- A polling trigger is checked on a timer for new items. An instant one is pushed by BambooHR the moment it happens.
- Filter
- A step that lets the Zap continue only when what arrived meets your condition, and quietly stops it otherwise.
- Search step
- A step that looks up something already in an app, here an employee, so later steps can reuse what it found.
What a BambooHR Zap really costs
BambooHR is a premium app on Zapier: it does not run on the free plan, only on paid plans and during the free trial. Once you are on one, the bill is counted in tasks.
- Premium appYes, paid plan or free trial
- Instant triggers2 of 9, no interval
- Trigger checksNever billed
- Failed actionNot billed
The trigger never costs a task, and neither does checking BambooHR for new items, however often Zapier looks. You pay one task each time an action works; an action that fails is not counted. In a Zap with several actions, each successful one counts on its own, so a Zap that creates an employee and uploads a file uses two tasks per run. A filter or a search makes the Zap multi-step, which paid plans allow. The polling interval then depends on your plan, while the two instant triggers ignore it.
Connect your BambooHR account to Zapier
- 01
Open your connections
In Zapier, go to the Apps page of your account and click + Add connection. A connection is your BambooHR account linked once, then reused by every step that talks to BambooHR.
- 02
Pick BambooHR
Type BambooHR in the search box of the dialog, select it, then click Add connection. A new tab opens where you sign in to BambooHR itself, not to Zapier.
- 03
Sign in and allow access
Log in with a BambooHR user who can see the employees and time off the Zap will touch, then grant Zapier access. Close the tab and the connection appears in your list.
Build your first BambooHR Zap
GoalTime off requests that match your rule get an answer in BambooHR on their own.
- 01
Start the Zap
Start a new Zap in the editor. Search BambooHR in the first card, choose
New Time Off Requestas the trigger and select your BambooHR connection. - 02
Test the trigger
Run the test. Zapier brings back the three most recent requests the connected user can approve, so you set up the next steps on a real one.
- 03
Add a filter
Click the plus icon, choose Filter, then set the field, the rule and the value of your approval rule. Requests that do not match stop here and stay for a person to handle.
- 04
Add the answer
Add a BambooHR step with
Respond to Time Off Request. Put the request ID from the trigger in the Request field as a custom value, then pick the status to send. - 05
Test and publish
Test the step on a request you can safely approve, then click Publish. From now on, each matching request gets its answer at the next check.
BambooHR triggers on Zapier
9 events start a Zap when something happens in BambooHR, and 2 of them are instant: the app calls Zapier straight away, whatever your plan.
New Employee Started
Polling triggerIn Zapier“Triggers on a new employee's start date.”
Waits for the start date written in an employee's record, then sets the Zap off on that day rather than when the profile was typed in.
New Employee
Polling triggerIn Zapier“Triggers when a new employee is created.”
Reacts as soon as a new employee record exists in BambooHR, whatever the start date. It is the earliest signal you get that someone is joining.
Changed Report (Legacy)
Polling triggerIn Zapier“Triggers when a company report changes. Works best with reports sorted by a date field in descending order. Use this trigger only for reports BambooHR hasn't yet migrated to its current Report Builder — for those, use "Changed Report" instead.”
Watches a company report built with BambooHR's older report tool and fires when its content changes. Use it only for reports BambooHR has not yet moved to its current Report Builder.
Changed Report
Polling triggerIn Zapier“Triggers when a company report changes. Works best with reports sorted by a date field in descending order. Use a report created in the current Report Builder.”
The current version of the report trigger: point it at a report made in BambooHR's current Report Builder, and each change in that report starts the Zap.
Terminated Employee
Instant triggerIn Zapier“Triggers when an employee is terminated.”
Starts the Zap when an employee is marked as terminated in BambooHR. It is one of the two triggers of this app that BambooHR pushes itself, so nothing waits.
New Time Off
Polling triggerIn Zapier“Triggers when a new time off is found for the selected conditions. Limited to those employees and time off types that you have view access to.”
Fires when time off is found that matches the conditions you choose in the trigger, typically leave that has been booked. You decide which cases count.
New Time Off Request
Polling triggerIn Zapier“Triggers when a new time off request is created by an employee whose requests you're able to approve.”
Picks up each new request an employee submits, before anyone has said yes or no. This is the starting point of any approval Zap.
Updated Employee
Instant triggerIn Zapier“Triggers when specific employee fields are updated.”
Follows the fields you pick in an employee record, such as job title or department, and starts the Zap when one of them changes. It is the second instant trigger of BambooHR.
New Updated Employee (Include Custom Fields Changes)
Polling triggerIn Zapier“Triggers when an employee is updated (include custom fields changes).”
Catches updates to an employee record, custom fields included. That is its whole reason to exist next to Updated Employee: the fields your company added itself.
BambooHR actions on Zapier
BambooHR gives you 7 actions. For each one: what it does for you, when to reach for it, and what to watch out for.
Add Timesheet Clock Entries
ActionIn Zapier“Adds one or more timesheet clock entries for an employee.”
Writes one or more clock-in and clock-out entries on an employee's timesheet, from a time tracking tool or a form.
Create Employee
ActionIn Zapier“Creates a new employee.”
Adds a new person to BambooHR from data that arrives in another tool, so a signed offer does not have to be typed twice.
Get Summary of Who's Out
ActionIn Zapier“Get a summary of who's out of the office on a given date.”
Reads who is out of the office on a given date and hands that list to the next step. It changes nothing in BambooHR.
Respond to Time Off Request
ActionIn Zapier“Approve, deny, or cancel a time off request.”
Approves, denies or cancels a time off request, the same decision a manager would make on screen.
Update Employee
ActionIn Zapier“Updates an existing employee.”
Changes fields on an existing employee record, picked in the required Employee field, with values coming from earlier steps.
Upload Employee File
ActionIn Zapier“Uploads an Employee File.”
Stores a document in an employee's files in BambooHR, and lets you decide whether that employee can see it.
API Request (Beta)
ActionIn Zapier“This is an advanced action which makes a raw HTTP request that includes this integration's authentication.”
An advanced step for when no ready-made action fits: it sends a raw request to BambooHR using the connection you already set up.
The BambooHR search on Zapier
1 search step looks for data that already exists in BambooHR, so a later step can use it.
A search step creates nothing. It finds an employee who already exists, so a later step can use their record. In the editor it sits at the bottom of the action list, under SEARCH.
Find Employee
SearchFind or createIn Zapier“Finds an employee by searching.”
Looks up an employee in BambooHR by the field you choose in Search By, with the value you map in Search Value, both required.
The three settings every search exposes
- Successful if no search results are found?Left on its default, a search that finds nobody stops the Zap there. Switch it on and the Zap carries on with an empty result.
- Create Employee if it doesn't exist yet?Ticking it turns the search into a find-or-create: the setting above disappears and Zapier asks for what it needs to create the missing employee.
- If multiple search results are found?Three exits: keep the first match, which is the default, stop the Zap, or pass every match on at once.
When a BambooHR Zap breaks
Zapier keeps a help article called Common Problems with BambooHR on Zapier. The cases below come from what the triggers and fields themselves tell you.
Most failures come from rights, report versions and the way Zapier watches BambooHR. Read these six cases before you publish, and keep the Zapier troubleshooting guide close for anything else.
Time off triggers that stay silent
The connected user cannot approve those requests or view those leave types. Zapier only sees what that BambooHR user sees.A report missing from Changed Report
BambooHR has not migrated it to the current Report Builder yet. Use Changed Report (Legacy) for that report until it moves.Past hires and departures never arrive
A Zap only reacts to what happens after you switch it on. Employees created last quarter stay out; moving that backlog is a separate job.A Zap that updates itself in a loop
An update trigger plus Update Employee on the same person: each write wakes the Zap again and the task count drains fast.A bulk import that seems ignored
Import a large batch of employees at once and Zapier's flood protection can hold the trigger back instead of firing for each record.An employee missing from Upload Employee File
Users who are not employees are not offered in the Employee field, so files can only go to real employee profiles.
Need help automating BambooHR with Zapier?
A person reads every message.



