- Overview
- Setup Guide
- Permissions
- Troubleshooting
Connect Parable to BambooHR for comprehensive HR and people data.
Employees
Profiles, job information, contactsTime Off
Balances, requests, policiesData streams
This Provider Plugin defines 5 data streams.| Stream | Description | Sync |
|---|---|---|
users | Employee directory listing all employees | full |
time_off_policies | Time off policies assigned to an employee | full |
employee_salaries | Compensation details for an employee | full |
timesheets | Time tracking timesheet entries | incremental |
time_off_requests | Time off requests submitted by employees | incremental |
BambooHR
What You’ll Need
| Credential | What it is |
|---|---|
| API Key | Generated from BambooHR settings |
| Subdomain | Your BambooHR subdomain |
Info: Setup access in BambooHR. These steps require Administrator, or a colleague with equivalent permissions who can create credentials for you. If that is not you, ask your BambooHR administrator.
- Admin access level in BambooHR
- API key generation permission
Step 1: Access Account Settings
- Log in to BambooHR
- Click your name in the lower left
- Select API Keys
Step 2: Generate API Key
- Click Add New Key
- Name:
Parable Integration - Click Generate Key
Warning: Copy your API key now! This is the only time it will be displayed. Store it in a secure password manager before closing this page.
Step 3: Note Your Subdomain
Your BambooHR URL format:https://yourcompany.bamboohr.com
yourcompany.Step 4: Enter values in the form
- Subdomain and API Key: Enter your BambooHR subdomain and API key.
- Click Save & test connection.
x as password:Test Authentication
curl -u "YOUR_API_KEY:x" \
"https://api.bamboohr.com/api/gateway.php/yourcompany/v1/employees/directory"
Get Employee
curl -u "YOUR_API_KEY:x" \
"https://api.bamboohr.com/api/gateway.php/yourcompany/v1/employees/0/?fields=firstName,lastName,jobTitle"
Success: Success! If you received a 200 OK response with valid data, your credentials are configured correctly. You can now configure this Provider in Parable.
Tip: Rate Limits: BambooHR enforces rate limits of varies; implement backoff for 429 responses. Parable handles rate limiting automatically with exponential backoff, but initial syncs of large datasets may take longer due to these limits.
Employee Salaries
Employee Salaries
Developer identifier:
employee_salariesEmployee Salaries. Compensation details for an employee.- Enables: Match each employee’s pay rate to its currency, pay basis, frequency, and effective date for HR record reconciliation.
- Scope: Reads the records selected by BambooHR’s
/v1/employees/{employee_id}/operation as a snapshot stream using full synchronization. This stream is opt-in. Visibility follows the BambooHR API user’s field-level access, so restricted employee attributes may be absent. Use is limited to authorized workforce and payroll reconciliation; the records are not invoices and do not support performance inference. A later complete read can treat a previously seen record that is absent as removed.
Currency
Currency
Developer identifier:
employee_salaries.currencyCurrency. Currency code for the pay rate. It distinguishes the provider-defined currency state or classification for the employee salary.- Enables: Reconcile currency in
employee_salaries.currencyby pairing it with the same worker or position, currency, pay basis, and effective period. - Interpretation: BambooHR reports currency on each employee salary; missing and empty values can have different meanings. Use is limited to authorized workforce or payroll reconciliation and must not be used to infer employee performance. Any monetary amount is a provider HR or payroll record at its stated currency and pay basis, not an invoice.
Employee ID
Employee ID
Developer identifier:
employee_salaries.employee_idEmployee ID. Parent employee reference copied into each employee salary because the child operation does not return that relationship. It provides the reference needed to connect the employee salary to the corresponding provider object.- Enables: Match repeated employee salary entries on employee ID in
employee_salaries.employee_id; collapse only entries that share this declared transform key. - Interpretation: Parable copies employee ID from the parent traversal record into each employee salary; the child BambooHR operation does not return it. The connector explicitly marks this field as a transform deduplication key. Use is limited to authorized workforce or payroll reconciliation and must not be used to infer employee performance.
Hire Date
Hire Date
Developer identifier:
employee_salaries.hireDateHire Date. Date the employee was hired. It anchors the employee salary on the provider’s reported timeline.- Enables: Order Employee Salaries by hire date in
employee_salaries.hireDateand isolate records inside an exact provider reporting window. - Interpretation: BambooHR reports hire date as a calendar date on each employee salary; its grain is one day and no time of day should be inferred. Use is limited to authorized workforce or payroll reconciliation and must not be used to infer employee performance.
Paid Per
Paid Per
Developer identifier:
employee_salaries.paidPerPaid Per. Pay period unit (e.g. Year, Hour). It supplies the paid per boundary, band, or unit needed to interpret the companion measure.- Enables: Reconcile paid per in
employee_salaries.paidPerby pairing it with the same worker or position, currency, pay basis, and effective period. - Interpretation: BambooHR reports paid per on each employee salary; missing and empty values can have different meanings. Use is limited to authorized workforce or payroll reconciliation and must not be used to infer employee performance. Any monetary amount is a provider HR or payroll record at its stated currency and pay basis, not an invoice.
Pay Frequency
Pay Frequency
Developer identifier:
employee_salaries.payFrequencyPay Frequency. Frequency of pay (e.g. Monthly, Bi-Weekly). It distinguishes the provider-defined pay frequency state or classification for the employee salary.- Enables: Reconcile pay frequency in
employee_salaries.payFrequencyby pairing it with the same worker or position, currency, pay basis, and effective period. - Interpretation: BambooHR reports pay frequency on each employee salary; missing and empty values can have different meanings. Use is limited to authorized workforce or payroll reconciliation and must not be used to infer employee performance. Any monetary amount is a provider HR or payroll record at its stated currency and pay basis, not an invoice.
Pay Rate
Pay Rate
Developer identifier:
employee_salaries.payRatePay Rate. Pay rate amount. It supplies the pay rate measure for the employee salary at the provider’s declared unit and grain.- Enables: Reconcile pay rate in
employee_salaries.payRateby pairing it with the same worker or position, currency, pay basis, and effective period. - Interpretation: BambooHR reports pay rate as a number at the parent record’s grain on each employee salary; compare only records with the same unit and aggregation grain. Use is limited to authorized workforce or payroll reconciliation and must not be used to infer employee performance. Any monetary amount is a provider HR or payroll record at its stated currency and pay basis, not an invoice.
Pay Type
Pay Type
Developer identifier:
employee_salaries.payTypePay Type. Type of pay (e.g. Salary, Hourly). It distinguishes the provider-defined pay type state or classification for the employee salary.- Enables: Reconcile pay type in
employee_salaries.payTypeby pairing it with the same worker or position, currency, pay basis, and effective period. - Interpretation: BambooHR reports pay type as a label from its own taxonomy on each employee salary; preserve unknown labels rather than mapping them by assumption. Use is limited to authorized workforce or payroll reconciliation and must not be used to infer employee performance. Any monetary amount is a provider HR or payroll record at its stated currency and pay basis, not an invoice.
Time Off Policies
Time Off Policies
Developer identifier:
time_off_policiesTime Off Policies. Time off policies assigned to an employee.- Enables: Match employees to assigned leave policies and provider-defined time-off types.
- Scope: Reads the records selected by BambooHR’s
/v1_1/employees/{employee_id}/time_off/policiesoperation as a snapshot stream using full synchronization. This stream is opt-in. Visibility follows the BambooHR API user’s field-level access, so restricted employee attributes may be absent. Use is limited to authorized leave and workforce-availability administration; the records do not support health or performance inference. A later complete read can treat a previously seen record that is absent as removed.
Accrual Start Date
Accrual Start Date
Developer identifier:
time_off_policies.accrualStartDateAccrual Start Date. Date when accrual begins for this policy. It anchors the time off policy on the provider’s reported timeline.- Enables: Match accrual start date in
time_off_policies.accrualStartDateto the relevant worker, leave type, unit, and effective date for authorized leave administration. - Interpretation: BambooHR reports accrual start date as a calendar date on each time off policy; its grain is one day and no time of day should be inferred. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Employee ID
Employee ID
Developer identifier:
time_off_policies.employee_idEmployee ID. Parent employee reference copied into each time off policy because the child operation does not return that relationship. It provides the reference needed to connect the time off policy to the corresponding provider object.- Enables: Connect each time off policy in Time Off Policies to the referenced employee through
time_off_policies.employee_id; flag employee ID values that do not resolve in that provider namespace. - Interpretation: Parable copies employee ID from the parent traversal record into each time off policy; the child BambooHR operation does not return it. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Policy Name
Policy Name
Developer identifier:
time_off_policies.policyNamePolicy Name. Name of the time off policy. It gives the time off policy a human-readable provider label while its identifier remains the stable reference.- Enables: Label each time off policy with policy name from
time_off_policies.policyName; distinguish records that share that display name but have different BambooHR identifiers. - Interpretation: BambooHR reports policy name as display text for each time off policy; names are mutable and are not stable identities. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Time Off Policy ID
Time Off Policy ID
Developer identifier:
time_off_policies.timeOffPolicyIdTime Off Policy ID. Unique identifier for the time off policy. It provides the reference needed to connect the time off policy to the corresponding provider object.- Enables: Match repeated time off policy entries on time off policy ID in
time_off_policies.timeOffPolicyId; collapse only entries that share this declared transform key. - Interpretation: BambooHR reports time off policy ID as an identifier in its time off policy namespace; it is not a universal identity outside BambooHR. The connector explicitly marks this field as a transform deduplication key. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Time Off Type
Time Off Type
Developer identifier:
time_off_policies.timeOffTypeTime Off Type. Name of the time off type. It distinguishes the provider-defined time off type state or classification for the time off policy.- Enables: Match time off type in
time_off_policies.timeOffTypeto the relevant worker, leave type, unit, and effective date for authorized leave administration. - Interpretation: BambooHR reports time off type as a label from its own taxonomy on each time off policy; preserve unknown labels rather than mapping them by assumption. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Time Off Type ID
Time Off Type ID
Developer identifier:
time_off_policies.timeOffTypeIdTime Off Type ID. Identifier for the associated time off type. It provides the reference needed to connect the time off policy to the corresponding provider object.- Enables: Connect each time off policy in Time Off Policies to the referenced time off type through
time_off_policies.timeOffTypeId; flag time off type ID values that do not resolve in that provider namespace. - Interpretation: BambooHR reports time off type ID as an identifier in its time off type namespace; it is not a universal identity outside BambooHR. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Time Off Requests
Time Off Requests
Developer identifier:
time_off_requestsTime Off Requests. Time off requests submitted by employees.- Enables: Reconcile requested leave dates and amounts with the employee, request status, and provider-defined leave type.
- Scope: Reads the records selected by BambooHR’s
/v1/time_off/requestsoperation as a changelog stream using incremental synchronization. This stream is opt-in. Visibility follows the BambooHR API user’s field-level access, so restricted employee attributes may be absent. Use is limited to authorized leave and workforce-availability administration; the records do not support health or performance inference. This stream supplies no reliable deletion signal.
Actions
Actions
Developer identifier:
time_off_requests.actionsActions. Per-request action capabilities for the calling user (view, edit, cancel, approve, deny, bypass). It preserves the nested context needed to interpret the parent time off request.- Enables: Attribute actions in
time_off_requests.actionsto the parent time off request; identify parent records where that nested actions object is absent. - Interpretation: BambooHR reports actions as a nested object on each time off request; optional children may be absent from a valid response. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Approve
Approve
Developer identifier:
time_off_requests.actions.approveApprove. Whether the calling user can approve this request. It distinguishes the provider-defined approve state or classification for the BambooHR time off request action.- Enables: Filter Time Off Requests by whether the calling user can approve this request in
time_off_requests.BambooHRTimeOffRequestActions.approve; count true, false, and missing results separately. - Interpretation: BambooHR reports the calling user can approve this request as a boolean on each BambooHR time off request action; a missing field is unknown, not false. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Bypass
Bypass
Developer identifier:
time_off_requests.actions.bypassBypass. Whether the calling user can bypass approval for this request. It distinguishes the provider-defined bypass state or classification for the BambooHR time off request action.- Enables: Filter Time Off Requests by whether the calling user can bypass approval for this request in
time_off_requests.BambooHRTimeOffRequestActions.bypass; count true, false, and missing results separately. - Interpretation: BambooHR reports the calling user can bypass approval for this request as a boolean on each BambooHR time off request action; a missing field is unknown, not false. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Cancel
Cancel
Developer identifier:
time_off_requests.actions.cancelCancel. Whether the calling user can cancel this request. It distinguishes the provider-defined cancel state or classification for the BambooHR time off request action.- Enables: Filter Time Off Requests by whether the calling user can cancel this request in
time_off_requests.BambooHRTimeOffRequestActions.cancel; count true, false, and missing results separately. - Interpretation: BambooHR reports the calling user can cancel this request as a boolean on each BambooHR time off request action; a missing field is unknown, not false. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Deny
Deny
Developer identifier:
time_off_requests.actions.denyDeny. Whether the calling user can deny this request. It distinguishes the provider-defined deny state or classification for the BambooHR time off request action.- Enables: Filter Time Off Requests by whether the calling user can deny this request in
time_off_requests.BambooHRTimeOffRequestActions.deny; count true, false, and missing results separately. - Interpretation: BambooHR reports the calling user can deny this request as a boolean on each BambooHR time off request action; a missing field is unknown, not false. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Edit
Edit
Developer identifier:
time_off_requests.actions.editEdit. Whether the calling user can edit this request. It distinguishes the provider-defined edit state or classification for the BambooHR time off request action.- Enables: Filter Time Off Requests by whether the calling user can edit this request in
time_off_requests.BambooHRTimeOffRequestActions.edit; count true, false, and missing results separately. - Interpretation: BambooHR reports the calling user can edit this request as a boolean on each BambooHR time off request action; a missing field is unknown, not false. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
View
View
Developer identifier:
time_off_requests.actions.viewView. Whether the calling user can view this request. It distinguishes the provider-defined view state or classification for the BambooHR time off request action.- Enables: Filter Time Off Requests by whether the calling user can view this request in
time_off_requests.BambooHRTimeOffRequestActions.view; count true, false, and missing results separately. - Interpretation: BambooHR reports the calling user can view this request as a boolean on each BambooHR time off request action; a missing field is unknown, not false. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Amount
Amount
Developer identifier:
time_off_requests.amountAmount. Amount of time off requested. It preserves the nested context needed to interpret the parent time off request.- Enables: Attribute amount in
time_off_requests.amountto the parent time off request; identify parent records where that nested amount object is absent. - Interpretation: BambooHR reports amount as a nested object on each time off request; optional children may be absent from a valid response. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Amount
Amount
Developer identifier:
time_off_requests.amount.amountAmount. Numeric amount of time off. It supplies the amount measure for the BambooHR time off request amount at the provider’s declared unit and grain.- Enables: Match amount in
time_off_requests.BambooHRTimeOffRequestAmount.amountto the relevant worker, leave type, unit, and effective date for authorized leave administration. - Interpretation: BambooHR reports amount as a number at the parent record’s grain on each BambooHR time off request amount; compare only records with the same unit and aggregation grain. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Unit
Unit
Developer identifier:
time_off_requests.amount.unitUnit. Unit of the amount (e.g. days, hours). It supplies the unit boundary, band, or unit needed to interpret the companion measure.- Enables: Interpret
time_off_requests.BambooHRTimeOffRequestAmount.unitwith its companion minimum, maximum, interval, or unit before comparing the unit across like-for-like records. - Interpretation: BambooHR reports unit as a boundary, band, interval, or unit on each BambooHR time off request amount; it is meaningful only with its companion measure and provider scale. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Created
Created
Developer identifier:
time_off_requests.createdCreated. Timestamp when the request was created. It anchors the time off request on the provider’s reported timeline.- Enables: Order Time Off Requests by created in
time_off_requests.createdand isolate records inside an exact provider reporting window. - Interpretation: BambooHR reports created as a timestamp on each time off request; timezone and precision follow this API field, and absence is not an inferred event time. A connector directive uses this field to order records for latest-state or incremental processing. The schema designates this field as the event timestamp. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Dates
Dates
Developer identifier:
time_off_requests.datesDates. Map of dates to daily time off amounts. It preserves the nested context needed to interpret the parent time off request.- Enables: Attribute dates in
time_off_requests.datesto the parent time off request; identify parent records where that nested dates object is absent. - Interpretation: BambooHR reports dates as a nested object on each time off request; optional children may be absent from a valid response. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Employee ID
Employee ID
Developer identifier:
time_off_requests.employeeIdEmployee ID. Identifier of the employee who submitted the request. It provides the reference needed to connect the time off request to the corresponding provider object.- Enables: Connect each time off request in Time Off Requests to the referenced employee through
time_off_requests.employeeId; flag employee ID values that do not resolve in that provider namespace. - Interpretation: BambooHR reports employee ID as an identifier in its employee namespace; it is not a universal identity outside BambooHR. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
End
End
Developer identifier:
time_off_requests.endEnd. End date of the time off. It anchors the time off request on the provider’s reported timeline.- Enables: Match end in
time_off_requests.endto the relevant worker, leave type, unit, and effective date for authorized leave administration. - Interpretation: BambooHR reports end as a timestamp on each time off request; timezone and precision follow this API field, and absence is not an inferred event time. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
ID
ID
Developer identifier:
time_off_requests.idID. Unique identifier for the time off request. It provides the reference needed to connect the time off request to the corresponding provider object.- Enables: Match repeated time off request entries on ID in
time_off_requests.id; collapse only entries that share this declared transform key. - Interpretation: BambooHR reports ID as an identifier in its time off request namespace; it is not a universal identity outside BambooHR. The connector explicitly marks this field as a transform deduplication key. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Name
Name
Developer identifier:
time_off_requests.nameName. Name of the employee. It gives the time off request a human-readable provider label while its identifier remains the stable reference.- Enables: Label each time off request with name from
time_off_requests.name; distinguish records that share that display name but have different BambooHR identifiers. - Interpretation: BambooHR reports name as display text for each time off request; names are mutable and are not stable identities. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Notes
Notes
Developer identifier:
time_off_requests.notesNotes. Notes from manager and employee. It preserves the nested context needed to interpret the parent time off request.- Enables: Attribute notes in
time_off_requests.notesto the parent time off request; identify parent records where that nested notes object is absent. - Interpretation: BambooHR reports notes as a nested object on each time off request; optional children may be absent from a valid response. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Employee
Employee
Developer identifier:
time_off_requests.notes.employeeEmployee. Note from the employee. It supplies the returned employee text needed to understand the BambooHR time off request note in context.- Enables: Search the returned employee text in
time_off_requests.BambooHRTimeOffRequestNotes.employeeand attribute each match to its parent time off request and reported author when available. - Interpretation: BambooHR supplies employee as returned text on each BambooHR time off request note; truncation, formatting, and access boundaries can limit completeness. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Manager
Manager
Developer identifier:
time_off_requests.notes.managerManager. Note from the manager. It supplies the returned manager text needed to understand the BambooHR time off request note in context.- Enables: Search the returned manager text in
time_off_requests.BambooHRTimeOffRequestNotes.managerand attribute each match to its parent time off request and reported author when available. - Interpretation: BambooHR supplies manager as returned text on each BambooHR time off request note; truncation, formatting, and access boundaries can limit completeness. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Start
Start
Developer identifier:
time_off_requests.startStart. Start date of the time off. It anchors the time off request on the provider’s reported timeline.- Enables: Match start in
time_off_requests.startto the relevant worker, leave type, unit, and effective date for authorized leave administration. - Interpretation: BambooHR reports start as a timestamp on each time off request; timezone and precision follow this API field, and absence is not an inferred event time. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Status
Status
Developer identifier:
time_off_requests.statusStatus. Status details of the request. It preserves the nested context needed to interpret the parent time off request.- Enables: Attribute status in
time_off_requests.statusto the parent time off request; identify parent records where that nested status object is absent. - Interpretation: BambooHR reports status as a nested object on each time off request; optional children may be absent from a valid response. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Last Changed
Last Changed
Developer identifier:
time_off_requests.status.lastChangedLast Changed. Timestamp when the status was last changed. It anchors the time off request on the provider’s reported timeline.- Enables: Order Time Off Requests by last changed in
time_off_requests.BambooHRTimeOffRequestStatus.lastChangedand isolate records inside an exact provider reporting window. - Interpretation: BambooHR reports last changed as a timestamp on each BambooHR time off request status; timezone and precision follow this API field, and absence is not an inferred event time. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Last Changed By User ID
Last Changed By User ID
Developer identifier:
time_off_requests.status.lastChangedByUserIdLast Changed By User ID. Identifier of the user who last changed the status. It provides the reference needed to connect the time off request to the corresponding provider object.- Enables: Connect each BambooHR time off request status in Time Off Requests to the referenced last changed by user through
time_off_requests.BambooHRTimeOffRequestStatus.lastChangedByUserId; flag last changed by user ID values that do not resolve in that provider namespace. - Interpretation: BambooHR reports last changed by user ID as an identifier in its last changed by user namespace; it is not a universal identity outside BambooHR. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Status
Status
Developer identifier:
time_off_requests.status.statusStatus. Current status of the request. It distinguishes the provider-defined status state or classification for the BambooHR time off request status.- Enables: Segment BambooHR time off request status entries in Time Off Requests by status in
time_off_requests.BambooHRTimeOffRequestStatus.status; compare counts only within the same BambooHR taxonomy. - Interpretation: BambooHR reports status as a label from its own taxonomy on each BambooHR time off request status; preserve unknown labels rather than mapping them by assumption. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Type
Type
Developer identifier:
time_off_requests.typeType. Type of time off requested. It preserves the nested context needed to interpret the parent time off request.- Enables: Attribute type in
time_off_requests.typeto the parent time off request; identify parent records where that nested type object is absent. - Interpretation: BambooHR reports type as a nested object on each time off request; optional children may be absent from a valid response. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
ID
ID
Developer identifier:
time_off_requests.type.idID. Identifier for the time off type. It provides the reference needed to connect the time off request to the corresponding provider object.- Enables: Connect each BambooHR time off request type in Time Off Requests to the referenced BambooHR time off request type through
time_off_requests.BambooHRTimeOffRequestType.id; flag ID values that do not resolve in that provider namespace. - Interpretation: BambooHR reports ID as an identifier in its BambooHR time off request type namespace; it is not a universal identity outside BambooHR. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Name
Name
Developer identifier:
time_off_requests.type.nameName. Name of the time off type. It gives the BambooHR time off request type a human-readable provider label while its identifier remains the stable reference.- Enables: Label each BambooHR time off request type with name from
time_off_requests.BambooHRTimeOffRequestType.name; distinguish records that share that display name but have different BambooHR identifiers. - Interpretation: BambooHR reports name as display text for each BambooHR time off request type; names are mutable and are not stable identities. This sensitive workforce attribute is for authorized leave administration only and must not be used for health or performance inference.
Timesheets
Timesheets
Developer identifier:
timesheetsTimesheets. Time tracking timesheet entries.- Enables: Reconcile reported work intervals to an employee, date, and approved timesheet entry.
- Scope: Reads the records selected by BambooHR’s
/v1/time_tracking/timesheet_entriesoperation as a changelog stream using incremental synchronization. This stream is opt-in. Visibility follows the BambooHR API user’s field-level access, so restricted employee attributes may be absent. Use is limited to authorized workforce time-entry reconciliation; recorded hours are not a Parable judgment about employee performance. This stream supplies no reliable deletion signal.
Approved
Approved
Developer identifier:
timesheets.approvedApproved. Whether the entry has been approved. It distinguishes the provider-defined approved state or classification for the timesheet.- Enables: Filter Timesheets by whether the entry has been approved in
timesheets.approved; count true, false, and missing results separately. - Interpretation: BambooHR reports the entry has been approved as a boolean on each timesheet; a missing field is unknown, not false.
Approved At
Approved At
Developer identifier:
timesheets.approvedAtApproved At. Timestamp when the entry was approved. Null when the entry is still pending. It anchors the timesheet on the provider’s reported timeline.- Enables: Order Timesheets by approved at in
timesheets.approvedAtand isolate records inside an exact provider reporting window. - Interpretation: BambooHR reports approved at as a timestamp on each timesheet; timezone and precision follow this API field, and absence is not an inferred event time.
Approved By
Approved By
Developer identifier:
timesheets.approvedByApproved By. Identifier of the approving user. It identifies the related provider object that gives the timesheet its parent, owner, or container context.- Enables: Connect each timesheet to the related approved by in
timesheets.approvedByand verify that the referenced provider object resolves in the expected parent or container. - Interpretation: BambooHR reports approved by as relationship context on each timesheet; resolve it in the named provider namespace rather than by display text alone.
Date
Date
Developer identifier:
timesheets.dateDate. Date of the timesheet entry. It anchors the timesheet on the provider’s reported timeline.- Enables: Order Timesheets by date in
timesheets.dateand isolate records inside an exact provider reporting window. - Interpretation: BambooHR reports date as a calendar date on each timesheet; its grain is one day and no time of day should be inferred. A connector directive uses this field to order records for latest-state or incremental processing. The schema designates this field as the event timestamp.
Employee ID
Employee ID
Developer identifier:
timesheets.employeeIdEmployee ID. Identifier of the employee. It provides the reference needed to connect the timesheet to the corresponding provider object.- Enables: Connect each timesheet in Timesheets to the referenced employee through
timesheets.employeeId; flag employee ID values that do not resolve in that provider namespace. - Interpretation: BambooHR reports employee ID as an identifier in its employee namespace; it is not a universal identity outside BambooHR.
End
End
Developer identifier:
timesheets.endEnd. End time of the entry. It anchors the timesheet on the provider’s reported timeline.- Enables: Filter Timesheets by end in
timesheets.end; pair that boundary with the corresponding start before measuring elapsed time. - Interpretation: BambooHR reports end as a timestamp on each timesheet; timezone and precision follow this API field, and absence is not an inferred event time.
Hours
Hours
Developer identifier:
timesheets.hoursHours. Number of hours tracked. It supplies the hours measure for the timesheet at the provider’s declared unit and grain.- Enables: Measure hours through
timesheets.hoursfor each timesheet and compare only values with the same unit and record grain. - Interpretation: BambooHR reports hours as a measure on each timesheet; compare only records with the same unit and aggregation grain.
ID
ID
Developer identifier:
timesheets.idID. Unique identifier for the timesheet entry. It provides the reference needed to connect the timesheet to the corresponding provider object.- Enables: Match repeated timesheet entries on ID in
timesheets.id; collapse only entries that share this declared transform key. - Interpretation: BambooHR reports ID as an identifier in its timesheet namespace; it is not a universal identity outside BambooHR. The connector explicitly marks this field as a transform deduplication key.
Note
Note
Developer identifier:
timesheets.noteNote. Note attached to the timesheet entry. It supplies the returned note text needed to understand the timesheet in context.- Enables: Search the returned note text in
timesheets.noteand attribute each match to its parent timesheet and reported author when available. - Interpretation: BambooHR supplies note as returned text on each timesheet; truncation, formatting, and access boundaries can limit completeness.
Project ID
Project ID
Developer identifier:
timesheets.projectIdProject ID. Identifier of the associated project. It provides the reference needed to connect the timesheet to the corresponding provider object.- Enables: Connect each timesheet in Timesheets to the referenced project through
timesheets.projectId; flag project ID values that do not resolve in that provider namespace. - Interpretation: BambooHR reports project ID as an identifier in its project namespace; it is not a universal identity outside BambooHR.
Project Info
Project Info
Developer identifier:
timesheets.projectInfoProject Info. Project / task assignment for this timesheet entry, when project tracking is enabled. It preserves the nested context needed to interpret the parent timesheet.- Enables: Attribute project info in
timesheets.projectInfoto the parent timesheet; identify parent records where that nested project info object is absent. - Interpretation: BambooHR reports project info as a nested object on each timesheet; optional children may be absent from a valid response.
Project
Project
Developer identifier:
timesheets.projectInfo.projectProject. Project the time was logged against. It preserves the nested context needed to interpret the parent timesheet.- Enables: Attribute project in
timesheets.BambooHRTimesheetProjectInfo.projectto the parent timesheet; identify parent records where that nested project object is absent. - Interpretation: BambooHR reports project as a nested object on each BambooHR timesheet project info; optional children may be absent from a valid response.
ID
ID
Developer identifier:
timesheets.projectInfo.project.idID. Identifier of the project. It provides the reference needed to connect the timesheet to the corresponding provider object.- Enables: Connect each BambooHR timesheet project in Timesheets to the referenced BambooHR timesheet project through
timesheets.BambooHRTimesheetProject.id; flag ID values that do not resolve in that provider namespace. - Interpretation: BambooHR reports ID as an identifier in its BambooHR timesheet project namespace; it is not a universal identity outside BambooHR.
Name
Name
Developer identifier:
timesheets.projectInfo.project.nameName. Display name of the project. It gives the BambooHR timesheet project a human-readable provider label while its identifier remains the stable reference.- Enables: Label each BambooHR timesheet project with name from
timesheets.BambooHRTimesheetProject.name; distinguish records that share that display name but have different BambooHR identifiers. - Interpretation: BambooHR reports name as display text for each BambooHR timesheet project; names are mutable and are not stable identities.
Task
Task
Developer identifier:
timesheets.projectInfo.taskTask. Task or sub-activity within the project. It preserves the nested context needed to interpret the parent timesheet.- Enables: Attribute task in
timesheets.BambooHRTimesheetProjectInfo.taskto the parent timesheet; identify parent records where that nested task object is absent. - Interpretation: BambooHR reports task as a nested object on each BambooHR timesheet project info; optional children may be absent from a valid response.
ID
ID
Developer identifier:
timesheets.projectInfo.task.idID. Identifier of the task. It provides the reference needed to connect the timesheet to the corresponding provider object.- Enables: Connect each BambooHR timesheet task in Timesheets to the referenced BambooHR timesheet task through
timesheets.BambooHRTimesheetTask.id; flag ID values that do not resolve in that provider namespace. - Interpretation: BambooHR reports ID as an identifier in its BambooHR timesheet task namespace; it is not a universal identity outside BambooHR.
Name
Name
Developer identifier:
timesheets.projectInfo.task.nameName. Display name of the task. It gives the BambooHR timesheet task a human-readable provider label while its identifier remains the stable reference.- Enables: Label each BambooHR timesheet task with name from
timesheets.BambooHRTimesheetTask.name; distinguish records that share that display name but have different BambooHR identifiers. - Interpretation: BambooHR reports name as display text for each BambooHR timesheet task; names are mutable and are not stable identities.
Start
Start
Developer identifier:
timesheets.startStart. Start time of the entry. It anchors the timesheet on the provider’s reported timeline.- Enables: Filter Timesheets by start in
timesheets.start; pair that boundary with the corresponding end before measuring elapsed time. - Interpretation: BambooHR reports start as a timestamp on each timesheet; timezone and precision follow this API field, and absence is not an inferred event time.
Task ID
Task ID
Developer identifier:
timesheets.taskIdTask ID. Identifier of the associated task. It provides the reference needed to connect the timesheet to the corresponding provider object.- Enables: Connect each timesheet in Timesheets to the referenced task through
timesheets.taskId; flag task ID values that do not resolve in that provider namespace. - Interpretation: BambooHR reports task ID as an identifier in its task namespace; it is not a universal identity outside BambooHR.
Timezone
Timezone
Developer identifier:
timesheets.timezoneTimezone. IANA timezone identifier in which the entry was recorded. It is needed to interpret companion dates and times for the timesheet in the provider’s intended zone.- Enables: Apply the zone in
timesheets.timezonewhen converting the timesheet’s companion start, end, or scheduled timestamps; do not infer it from locale. - Interpretation: BambooHR reports timezone as a timezone identifier for each timesheet; supported IANA or provider-specific names and daylight-saving behavior must be preserved.
Type
Type
Developer identifier:
timesheets.typeType. Type of timesheet entry. It distinguishes the provider-defined type state or classification for the timesheet.- Enables: Segment timesheet entries in Timesheets by type in
timesheets.type; compare counts only within the same BambooHR taxonomy. - Interpretation: BambooHR reports type as a label from its own taxonomy on each timesheet; preserve unknown labels rather than mapping them by assumption.
Users
Users
Developer identifier:
usersUsers. Employee directory listing all employees.- Enables: Reconcile BambooHR employee identifiers, contact details, department, job title, manager, and employment status with the authorized workforce directory.
- Scope: Reads the records selected by BambooHR’s
/v1/employees/directoryoperation as a snapshot stream using full synchronization. This stream is opt-in. Visibility follows the BambooHR API user’s field-level access, so restricted employee attributes may be absent. The stream does not include records the credential, parent traversal, configured filters, or provider API omits. A later complete read can treat a previously seen record that is absent as removed.
Can Upload Photo
Can Upload Photo
Developer identifier:
users.canUploadPhotoCan Upload Photo. Whether employee can upload a photo (1 = yes, 0 = no). It distinguishes the provider-defined can upload photo state or classification for the user.- Enables: Filter Users by the exact BambooHR-defined can upload photo in
users.canUploadPhotoand preserve unknown values as distinct categories. - Interpretation: BambooHR supplies can upload photo from its own taxonomy on each user; preserve unknown and newly introduced labels.
Department
Department
Developer identifier:
users.departmentDepartment. Department the employee belongs to. It identifies the related provider object that gives the user its parent, owner, or container context.- Enables: Connect each user to the related department in
users.departmentand verify that the referenced provider object resolves in the expected parent or container. - Interpretation: BambooHR reports department as relationship context on each user; resolve it in the named provider namespace rather than by display text alone.
Display Name
Display Name
Developer identifier:
users.displayNameDisplay Name. Full display name of the employee. It distinguishes the provider-defined display name state or classification for the user.- Enables: Label each user with display name from
users.displayName; distinguish records that share that display name but have different BambooHR identifiers. - Interpretation: BambooHR reports display name as display text for each user; names are mutable and are not stable identities. A connector directive maps this field to a person’s display name.
Division
Division
Developer identifier:
users.divisionDivision. Division the employee belongs to. It identifies the related provider object that gives the user its parent, owner, or container context.- Enables: Connect each user to the related division in
users.divisionand verify that the referenced provider object resolves in the expected parent or container. - Interpretation: BambooHR reports division as relationship context on each user; resolve it in the named provider namespace rather than by display text alone.
First Name
First Name
Developer identifier:
users.firstNameFirst Name. First name of the employee. It gives the user a human-readable provider label while its identifier remains the stable reference.- Enables: Label each user with first name from
users.firstName; distinguish records that share that display name but have different BambooHR identifiers. - Interpretation: BambooHR reports first name as display text for each user; names are mutable and are not stable identities.
ID
ID
Developer identifier:
users.idID. Unique employee identifier. It provides the reference needed to connect the user to the corresponding provider object.- Enables: Match repeated user entries on ID in
users.id; collapse only entries that share this declared transform key. - Interpretation: BambooHR reports ID as an identifier in its user namespace; it is not a universal identity outside BambooHR. The connector explicitly marks this field as a transform deduplication key. A connector directive maps this field to account identity.
Job Title
Job Title
Developer identifier:
users.jobTitleJob Title. Job title of the employee. It supplies the job title profile facet used to reconcile or attribute the user.- Enables: Label each user with job title from
users.jobTitle; distinguish records that share that display name but have different BambooHR identifiers. - Interpretation: BambooHR reports job title as display text for each user; names are mutable and are not stable identities.
Last Name
Last Name
Developer identifier:
users.lastNameLast Name. Last name of the employee. It gives the user a human-readable provider label while its identifier remains the stable reference.- Enables: Label each user with last name from
users.lastName; distinguish records that share that display name but have different BambooHR identifiers. - Interpretation: BambooHR reports last name as display text for each user; names are mutable and are not stable identities.
Linked In
Linked In
Developer identifier:
users.linkedInLinked In. LinkedIn profile URL. It locates the provider resource or path associated with the user.- Enables: Resolve the user’s provider resource or path through
users.linkedIn; verify access separately and do not infer that linked content was ingested. - Interpretation: BambooHR returns linked in as a resource locator or path for each user; access can expire or depend on viewer permissions, and linked content is not implied.
Location
Location
Developer identifier:
users.locationLocation. Office location of the employee. It supplies the provider-reported address or location facet for the user, not a residency determination.- Enables: Group Users by location in
users.locationwithout treating that user, device, or request attribute as a data-residency signal. - Interpretation: BambooHR reports location as a user, device, request, or resource location attribute on each user; it does not establish where data is stored or processed.
Mobile Phone
Mobile Phone
Developer identifier:
users.mobilePhoneMobile Phone. Mobile phone number. It supplies the mobile phone profile facet used to reconcile or attribute the user.- Enables: Reconcile the user’s mobile phone in
users.mobilePhonewith its provider profile or directory identity; confirm ambiguous matches with the stable provider ID. - Interpretation: BambooHR reports mobile phone as a mutable profile or directory attribute on each user; it may be absent, shared, or non-unique.
Photo Uploaded
Photo Uploaded
Developer identifier:
users.photoUploadedPhoto Uploaded. Whether employee has uploaded a photo. It distinguishes the provider-defined photo uploaded state or classification for the user.- Enables: Filter Users by whether employee has uploaded a photo in
users.photoUploaded; count true, false, and missing results separately. - Interpretation: BambooHR reports employee has uploaded a photo as a boolean on each user; a missing field is unknown, not false.
Photo URL
Photo URL
Developer identifier:
users.photoUrlPhoto URL. URL to the employee’s photo. It locates the provider resource or path associated with the user.- Enables: Associate each user with the resource identified by photo URL in
users.photoUrl; verify the link resolves to the expected BambooHR object. - Interpretation: BambooHR reports photo URL as a resource locator for each user; access still depends on viewer permissions and the URL may expire or change.
Preferred Name
Preferred Name
Developer identifier:
users.preferredNamePreferred Name. Preferred name or nickname. It gives the user a human-readable provider label while its identifier remains the stable reference.- Enables: Label each user with preferred name from
users.preferredName; distinguish records that share that display name but have different BambooHR identifiers. - Interpretation: BambooHR reports preferred name as display text for each user; names are mutable and are not stable identities.
Pronouns
Pronouns
Developer identifier:
users.pronounsPronouns. Preferred pronouns. It supplies the pronouns profile facet used to reconcile or attribute the user.- Enables: Reconcile the user’s pronouns in
users.pronounswith its provider profile or directory identity; confirm ambiguous matches with the stable provider ID. - Interpretation: BambooHR reports pronouns as a mutable profile or directory attribute on each user; it may be absent, shared, or non-unique.
Supervisor
Supervisor
Developer identifier:
users.supervisorSupervisor. Name of the employee’s supervisor. It identifies the related provider object that gives the user its parent, owner, or container context.- Enables: Connect each user to the related supervisor in
users.supervisorand verify that the referenced provider object resolves in the expected parent or container. - Interpretation: BambooHR reports supervisor as relationship context on each user; resolve it in the named provider namespace rather than by display text alone.
Work Email
Work Email
Developer identifier:
users.workEmailWork Email. Work email address. It supplies the provider-reported address or location facet for the user, not a residency determination.- Enables: Attribute each user to a person or account by the exact work email in
users.workEmail; identify addresses that do not match the BambooHR directory. - Interpretation: BambooHR reports work email as an address on each user; aliases, casing, and unverified addresses can prevent a one-to-one person match. A connector directive maps this field to a person’s email identity.
Work Phone
Work Phone
Developer identifier:
users.workPhoneWork Phone. Work phone number. It supplies the work phone profile facet used to reconcile or attribute the user.- Enables: Reconcile the user’s work phone in
users.workPhonewith its provider profile or directory identity; confirm ambiguous matches with the stable provider ID. - Interpretation: BambooHR reports work phone as a mutable profile or directory attribute on each user; it may be absent, shared, or non-unique.
Work Phone Extension
Work Phone Extension
Developer identifier:
users.workPhoneExtensionWork Phone Extension. Work phone extension. It supplies the work phone extension profile facet used to reconcile or attribute the user.- Enables: Reconcile the user’s work phone extension in
users.workPhoneExtensionwith its provider profile or directory identity; confirm ambiguous matches with the stable provider ID. - Interpretation: BambooHR reports work phone extension as a mutable profile or directory attribute on each user; it may be absent, shared, or non-unique.
| Error | Meaning | Solution |
|---|---|---|
401 Unauthorized | Invalid API key | Verify key is correct |
403 Forbidden | Insufficient permissions | Ensure admin access level |
404 Not Found | Wrong subdomain | Check subdomain in URL |