BambooHR API

Integrate BambooHR with your product—along with any other
ATS
HR & Payroll
 application

Connect your product to all the applications your customers use via Merge's

ATS

 

HR & Payroll

 

Unified API to close more deals, retain customers, and expand to new markets

Top integration use cases for BambooHR

Sync BambooHR Data

FAQ on integrating with BambooHR’s API

What BambooHR endpoints does Merge interact with?

Merge interacts with several BambooHR endpoints, including Employee Data, Employment Information, Groups, and more, to pull and sync relevant data. You can also leverage Merge’s Authenticated Passthrough Request feature for endpoints that fall outside of Merge’s scope.

Learn more about the endpoints Merge supports.

How often does Merge sync data with BambooHR?

Merge can sync BambooHR data at various intervals, depending on your plan and the Common Model you’re interested in. That said, Merge typically supports hourly to daily syncs for BambooHR.

If you need to sync data outside of these schedules, you can trigger immediate syncs using the Force Resync endpoint, or set up webhooks for real-time updates.

Learn more about Merge’s sync frequencies for BambooHR.

What customers use Merge’s BambooHR integration?

Countless customers use the integration. This includes Ramp, 15Five, BILL, Bonusly, and Electric.

You can learn about how they use Merge’s BambooHR integration—and several other HRIS integrations—by visiting this page

Can I map custom BambooHR fields?

Yes, with Merge's Field Mapping feature you can map custom BambooHR fields to Merge's Common Models, ensuring flexible data syncs between customers' instances of BambooHR and your product​​.

Can I retrieve raw BambooHR data?

Yes, Merge allows you to access raw data through the Remote Data feature, which retrieves data from BambooHR in its original format as provided by the API​​.

Is Merge Single-Tenant or Multi-Tenant?

Merge offers both Multi-Tenant and Single-Tenant environments. The Multi-Tenant option is the default for most customers and is hosted on AWS servers, while the Single-Tenant environment is available for purchase as part of the Enterprise plan. Single-tenant environments offer dedicated infrastructure for additional security and customization​​.

How much does it cost to integrate with BambooHR using Merge?

It depends on the pricing plan you choose. Merge offers a Launch Plan, which is free for the first 3 production-linked accounts. If you need more, the cost is $650/month for up to 10 linked accounts, and $65 per account after that. Larger-scale users can explore the Professional or Enterprise plans, which offer additional features and support. 

For more details, visit Merge's pricing page.

Is BambooHR a Merge customer?

Yes, Merge works with BambooHR and many other enterprise companies, including Remote, Ramp, Korn Ferry, Handshake, Brex, and Drata.

How can I use a BambooHR integration?

The use cases largely depend on the product you offer. That said, it can help you auto-provision users in your product; streamline gifting workflows; analyze employee compensation; assign trainings to employees on time, and more.

Learn more about how you can use the BambooHR integration here.

Are there any days you’ll be closed for the holidays in 2024?
Trusted to power integrations Globally
Gem
BetterHelp
Drata
Sendoso
Airwallex
Navan
Ramp
Revolut
BambooHR
Korn Ferry
Hotel Engine
AngelList
FranklinCovey
Culture Amp
Auditboard
TaxBit
Subskribe
Apollo
JupiterOne
Handshake
Watershed
Brex
LearnUpon
Mosaic
Divvy
Payhawk
Upflex
LogicGate
Mesh Payments
EQ
QuestionPro
Lucid
Payscale
Electric
OpenComp
Standard Metrics
Spendflo
Tropic
Hofy
Ledgy
A-Lign
Bonusly
Guru
Ripplematch
Oyster
Omnipresent
Causal
Fetcher
Gem
BetterHelp
Drata
Sendoso
Airwallex
Navan
Ramp
Revolut
BambooHR
Korn Ferry
Hotel Engine
AngelList
FranklinCovey
Culture Amp
Auditboard
TaxBit
Subskribe
Apollo
JupiterOne
Handshake
Watershed
Brex
LearnUpon
Mosaic
Divvy
Payhawk
Upflex
LogicGate
Mesh Payments
EQ
QuestionPro
Lucid
Payscale
Electric
OpenComp
Standard Metrics
Spendflo
Tropic
Hofy
Ledgy
A-Lign
Bonusly
Guru
Ripplematch
Oyster
Omnipresent
Causal
Fetcher
Build Smarter

Make integrations your competitive advantage

More sales, less code, fewer headaches

Focus on your core product

Stop diverting your engineers to yet another integration and let them get back to work.

Give customer success a break

Manage your simplified integration issues in a single pane. No therapist required.

Stop losing sales due to integrations

Launch integrations in days, not quarters. Your sales team will thank you.

Seamless Account Linking

Integration authentication that feels like magic

Merge seamlessly manages authentication and authorization on behalf of your customers.

Offer account linking and permission controls to your users with Link for a customizable frontend or with Magic Link for URL-based authorization

APIs Made Simple

The toolkit for all your integration needs

We make integrations painless with accessible API design, dead-simple SDKs, and beautiful documentation that we agonize over.

Get Employee Data
import merge
from merge.client import Merge
merge_client = Merge(api_key="<YOUR_API_KEY>", account_token="<YOUR_ACCOUNT_TOKEN>")
employee = merge_client.hris.employees.list()
import { MergeClient, Merge } from '@mergeapi/merge-node-client';
const merge = new MergeClient({
  apiKey: 'YOUR_API_KEY',
  accountToken: 'YOUR_ACCOUNT_TOKEN',
});
employee = await merge.hris.employees.list()
ApiClient.instance.authentications.tokenAuth = {
  type: 'bearer',
  accessToken: 'API_KEY',
};
new EmployeesApi().employeesList('ACCOUNT_TOKEN', {}, (data) => {
  console.log(data);
});
import (
  "context"
  "fmt"
  merge "github.com/fern-api/merge-go"
  mergeclient "github.com/fern-api/merge-go/client"
  "github.com/fern-api/merge-go/hris"
)

client := mergeclient.NewClient(
  mergeclient.ClientWithAuthApiKey("<YOUR_API_KEY>"),
  mergeclient.ClientWithHeaderAccountToken("<YOUR_ACCOUNT_TOKEN>"),
)
employee, err := client.Hris().Employees().List(
  context.TODO(),
  &hris.EmployeesRetrieveRequest{
    IncludeRemoteData: merge.Bool(true),
  },
)
if err != nil {
  return err
}
fmt.Printf("Retrieved employee with ID %q\n", *employee.Id)
ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath('https://api.merge.dev/api/ats/v1');
ApiKeyAuth tokenAuth = client.getAuthentication('tokenAuth');
tokenAuth.setApiKey('API_KEY');
CandidatesApi apiInstance = new CandidatesApi(client);
apiInstance.candidatesList('ACCOUNT_TOKEN');
import com.merge.api.MergeApiClient;
import com.merge.api.resources.hris.employees.requests.EmployeesRetrieveRequest;
import com.merge.api.resources.hris.types.Employee;
MergeApiClient mergeClient = MergeApiClient.builder()
    .accountToken("ACCOUNT_TOKEN")
    .apiKey("API_KEY")
    .build();
Employee employee = mergeClient.hris().employees().list(
    EmployeesRetrieveRequest.builder()
        .includeRemoteData(true)
        .build());
{
"id": "0958cbc6-6040-430a-848e-aafacbadf4ae",
"remote_id": "19202938",
"employee_number": "2",
"company": "8d9fd929-436c-4fd4-a48b-0c61f68d6178",
"first_name": "Dirna",
"last_name": "Emanuel",
"display_full_name": "Dirna Emanuel",
"username": "dirnaemanuel",
"groups": [
  "21a54124-397f-494d-985e-3c5b330b8a68"
],
"work_email": "dirna@merge.dev",
"personal_email": "dirnaemanuel@gmail.com",
"mobile_phone_number": "+1234567890",
"employments": [
  "17a54124-287f-494d-965e-3c5b330c9a68"
bamboohr
Meta Endpoint

Programmatically access required schemas

Third-party providers require specific (and often different) fields to write data to their APIs, making your code a mess.

Dynamically fetch required data schemas from Merge’s /meta endpoint to make POST or PATCH requests that just work.

Beyond Building

Rely on the best integration observability system

Let our logs, issue detection, and automated alerts save your customer success team time, money, and headaches.

Forget maintenance - let your developers focus on building!

Drata

How Drata helps thousands streamline their SOC 2 with Merge

​​”Working with Merge’s Unified API and beautiful React component took less than a sprint to integrate, test, and release.”

Daniel Marashlian of profile photo
Daniel Marashlian
Co-Founder & CTO

Read more about building and maintaining multiple integrations

A guide to maintaining your product integrations
A guide to maintaining your product integrations
Blog
Blog Posts
10/27/2023
A guide to integrating multiple APIs
A guide to integrating multiple APIs
Blog
Blog Posts
11/13/2023
The top challenges of normalizing multiple API integrations
The top challenges of normalizing multiple API integrations
Blog
Blog Posts
11/20/2023
One Step Ahead

We're the cheat code to your integrations strategy

Revolutionize your integrations strategy for HR, payroll, directory, ATS, project management, ticketing, accounting and CRM platforms.

Start for free or talk to our sales team and learn how Merge makes it easy to add all your integrations in days – not years.
Read more