BambooHR

BambooHR is a all-in-one HR platform that provides employee database service and reporting, payroll, time, and benefits, hiring and onboarding solutions.

Data integration: Skyvia supports importing data to and from BambooHR, exporting BambooHR data to CSV files, replicating BambooHR data to relational databases, and synchronizing BambooHR data with other cloud apps and relational databases.

Backup: Skyvia Backup does not support BambooHR.

Query: Skyvia Query supports BambooHR.

Establishing Connection

To create a connection to BambooHR, specify the Company Domain and authorize using your credentials or an API Key.

Getting Credentials

Company Domain

Company domain is located at the address bar when you are logged in to BambooHR. The text just before the .bamboohr.com is your domain.

API Key

To locate an API Key, go to BambooHR and perform the following steps:

  1. Go to BambooHR and click the user icon.
  2. Click API Keys.

    bamboohr-api-management

  3. Click Add New Key.
  4. Name the API Key and click Generate Key.

    bamboohr-apikey

The API Key is available only once while you create it. To access it again copy it and keep in a safe place.

Creating API Key Connection

To connect to BambooHR using the API Key, do the following.

bamboohr-connection-apikey

  1. Specify the Company Domain.
  2. Select the API Key in the Authentication box.
  3. Enter the obtained API Key into the corresponding box in the Connection Editor.

Creating OAuth Connection

To connect to BambooHR using the OAuth 2.0, perform the following steps:

bamboohr-connection-oauth

  1. Specify the Company Domain.
  2. Select the OAuth 2.0 in the Authentication box.
  3. Click Sign-in with BambooHR.

    bamboohr-oauth-credentials

  4. Enter your email and password, and click Log In.

Additional Connection Parameters

Suppress Extended Requests

BambooHR API returns only part of the fields for some objects when querying multiple records. Skyvia performs additional extended requests to query values of missing fields. Skyvia performs such API requests for each record of such object. However, this can decrease performance and significantly increase the number of API calls used.

The additional fields are the following:

OBJECT FIELD
EmployeeFiles Content
CompanyFiles Contect
EmployeePhotos Photo
Applications ApplicantPhoneNumber, ApplicantAddressAddressLine1, ApplicantAddressAddressLine2, ApplicantAddressCity, ApplicantAddressState, ApplicantAddressZipcode, ApplicantAddressCountry, ApplicantLinkedinUrl, ApplicantTwitterUsername, ApplicantWebsiteUrl, ApplicantAvailableStartDate, ApplicantEducationInstitution, ApplicantEducationLevelId, ApplicantEducationLevelLabel, JobHiringLeadEmployeeId, JobHiringLeadFirstName, JobHiringLeadLastName, JobHiringLeadJobTitleId, JobHiringLeadJobTitleLabel, ResumeFileId, CoverLetterFileId, MovedTo, MovedFrom, AlsoConsideredForCount, DuplicateApplicationCount, ReferredBy, DesiredSalary, CommentCount, EmailCount, AttachmentCount, EventCount, QuestionsAndAnswers, Attachments, ApplicationReferences.

To reduce the number of API calls, you can select the Suppress Extended Requests checkbox.

Connector Specifics

Object Peculiarities

EmployeeDependents

When you select data from this object, the Country and State fields return country and state names respectively. However, if you import data to these fields, you have to specify the country and state ISO codes, not names.

Filtering Specifics

BambooHR API supports the following native filters:

Object Fields and Operators
Employees Id (=), UpdatedDate (>=, >)
EmployeePhotos Id (=)
EmployeeFiles Id (=)
TimeOffRequests Id (=), EmployeeId (=), Status (=, In), TimeOffTypeId (=, In)
EmployeeTimeOffPolicies EmployeeId (=)
EstimateFutureTimeOffBalances EmployeeId (=)
EmployeeDependents Id (=)
EmployeeGoalComments EmployeeId (=), GoalId (=)
AlignableGoalOptions EmployeeId (=)
Applications StatusId (=), JobId (=), CreatedDate (>=, >)
EmployeeTrainings EmployeeId (=)
EmployeeProjects EmployeeId (=)
TimesheetEntries EmployeeId, Id, (=), Date (>=, >)
JobInfo, EmploymentStatus, Compensation, Dependents, Contacts, EmergencyContacts, Earnings, Bonus, Commission, EmployeeVisas, EmployeeEducation, EmployeePassports, EmployeeDriverLicenses, EmployeeCertifications, EmployeeStockOptions, EmployeeAssets, EmployeeCreditCards, EmployeeCovidTests, EmployeeCovidVaccinations, EmployeeCovidVaccinationExemptions, EmployeeCovidExposures, EmployeeEquityGrants, EmployeeProjectPayRates, CustomAssets EmployeeId (=)

Use these filters to improve performance and save API calls. You can use filters with other fields or operators, but it may increase API call usage.

Nested Objects

The following fields store complex structured data in JSON format.

Object Field Nested Object
TimeOffRequests Dates TimeOffRequestDatesType
BenefitDeductionTypes SubTypes BenefitSubType
EmployeeGoals SharedWithEmployeeIds IdType
  Milestones GoalMilestoneType
Applications QuestionsAndAnswers ApplicationsQuestionsAndAnswersType
EmployeeProjects Tasks EmployeeProjectTasksType

You can use our Nested Objects mapping feature in the Import integrations to insert or update the nested values in such fields. Select the Separate Tables for the Unwind Nested Objects option when using the new replication runtime to replicate the nested data into separate tables.

Custom Objects / Custom Fields

Only the Employees object supports custom fields.

Incremental Replication and Synchronization

Skyvia supports Replication with Incremental Updates for the Employees, EmployeeFiles, CompanyFiles, and EmployeeGoalComments.

Skyvia supports Synchronization for the objects which support INSERT and UPDATE operations and contain the CreatedDate or UpdatedDate field.

DML Operations Support

Operation Object
INSERT, UPDATE, DELETE CompanyFiles, EmployeeFiles, EmployeeGoals, EmployeeGoalComments, EmployeeTrainings, TrainingTypes, TrainingCategories
INSERT, UPDATE Employees, EmployeeDependents, EmployeePhotos, TimeOffRequests
INSERT EmployeeFileCategories, CompanyFileCategories

Supported Actions

Skyvia supports all the common actions for BambooHR.