Authenticate with the BambooHR API using Basic authentication with YOUR_BAMBOOHR_API_KEY as the username and any string as the password, sending requests to https://{subdomain}.bamboohr.com/api/gateway.php/v1/.
Create the employee record in BambooHR via the POST employees endpoint using hire data from your ATS: first name, last name, hire date, department, and job title at minimum.
Assign the appropriate onboarding packet template to the new employee record — BambooHR supports New Hire Packet Templates that can be pre-configured by location, role, or department.
Use the API or webhook integration with your ATS to confirm the packet assignment was successful and record the BambooHR employee ID back in the ATS for cross-system reference.
Monitor task completion status via the API or BambooHR's notification system; tasks can be configured to notify assignees 15 minutes after assignment, on the due date, or one day before the due date.
Retrieve onboarding completion status programmatically to gate downstream provisioning steps (such as payroll enrollment or equipment ordering) on task completion.
Known gotchas
BambooHR's API subdomain is company-specific and must be obtained from account settings — using a generic or guessed subdomain causes 404 or authentication errors that are easy to misdiagnose.
New Hire Packet Template assignment via API may require the template to already exist in BambooHR — templates are created in the UI and cannot be created programmatically; ensure templates are set up before automating assignment.
BambooHR rate limits are not always prominently documented; implement exponential backoff on 429 responses to avoid blocking onboarding flows during peak hiring periods.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp