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 use 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. Enter the obtained API Key into the corresponding box in the Connection Editor.

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 (=, !=),
String fields (IsNull, IsNotNull),
Enum fields (=, !=, IsNull, IsNotNull),
Boolean fields (=),
Number and Date fields (=, !=, >, >=, <, <=, IsNull, IsNotNull)
EmployeePhotos, EmployeeFiles, EmployeeDependents Id (=)
TimeOffRequests Id (=), EmployeeId (=), Status (=, In), TimeOffTypeId (=, In)
EmployeeGoalComments EmployeeId (=), GoalId (=)
Applications StatusId (=), JobId (=), CreatedDate (>=, >)
TimesheetEntries EmployeeId, Id, (=), Date (>=, >)
AlignableGoalOptions, Bonus, Commission, Compensation, Contacts, CustomAssets, Dependents, Earnings, EmergencyContacts, EmployeeAssets, EmployeeCertifications, EmployeeCovidExposures, EmployeeCovidTests, EmployeeCovidVaccinationExemptions, EmployeeCovidVaccinations, EmployeeCreditCards, EmployeeDriverLicenses, EmployeeEducation, EmployeeEquityGrants, EmployeePassports, EmployeeProjectPayRates, EmployeeProjects, EmployeeStockOptions, EmployeeTimeOffPolicies, EmployeeTrainings EmployeeVisas, EmploymentStatus, EstimateFutureTimeOffBalances, JobInfo 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.

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.

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.