Listen for the ATS 'hire' event via webhook (e.g., Greenhouse 'Hire Candidate' webhook) or poll the ATS API for applications with status 'hired' updated since the last sync timestamp
Extract candidate fields required by the HRIS: legal name, personal email, start date, department, job title, compensation, and manager
Map ATS field names to HRIS field names using a configuration mapping table; do not hardcode field names as they vary between systems
POST the mapped employee record to the HRIS onboarding API (e.g., Workday, BambooHR, or Rippling new hire endpoint) to create the pre-hire or new employee record
Write the HRIS employee id back to the ATS candidate record as a custom field to maintain bidirectional linkage for future updates
Known gotchas
Candidate email in the ATS is typically a personal email; HRIS onboarding often also requires a work email that has not yet been provisioned — handle this by setting work email after IT provisioning completes
Compensation data in ATS offer fields may be structured differently (hourly vs annual, with or without equity) than the HRIS expects; validate the compensation format mapping before going live
If the ATS webhook fires before the offer is fully countersigned, the hire event may represent a tentative rather than confirmed hire; include a status check before creating the HRIS record
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