In BambooHR Settings, navigate to the Webhooks section to create a Global Webhook, or use the API to create a Permissioned Webhook scoped to the permissions of a specific API user.
Configure the webhook with your HTTPS endpoint URL, select the fields to monitor (including custom fields if needed), and set the frequency (immediate or batched).
BambooHR will send an HTTP POST to your endpoint on changes; validate the request by computing the SHA-256 HMAC of the raw payload using the private key shown at webhook creation time and comparing it to the signature header.
Respond with a 2xx status code promptly — BambooHR will retry delivery on non-2xx responses.
Use the employee ID and changed field list in the payload to fetch the updated full record via GET /v1/employees/{id} if complete data is needed.
Known gotchas
Webhook payloads list only which fields changed, not the new values — you must make a follow-up GET call to retrieve the current field values.
Global Webhooks are configured in the UI and see all data; Permissioned Webhooks created via API inherit only the permissions of the creating user — scope them carefully.
HTTPS is required for all webhook destination URLs; HTTP endpoints will be rejected at configuration time.
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