Authenticate via Finch Connect for each employer; obtain an employer-scoped access token
Read the employee directory: GET /employer/directory to retrieve individual IDs, names, and employment status
Retrieve current benefit enrollments for each employee: GET /employer/benefits/{benefit_id}/individuals to see elected amounts and enrollment status
Map Finch individual IDs to participant IDs in the recordkeeper using shared identifiers (SSN or email) — handle mismatches as potential new participants
POST enrollment and contribution data to the recordkeeper's intake API (format varies by recordkeeper); include employee pre-tax and Roth split elections if captured
Schedule nightly or per-payroll-cycle syncs; use Finch's data_sync_all webhook to know when provider data has refreshed
Known gotchas
Finch's Benefits API support varies by provider — some providers only support read (not write) for benefits; verify provider capability in the Finch provider matrix before building a write flow
SSN matching between Finch and recordkeepers can fail due to formatting differences (dashes vs. no dashes); normalize before comparison
Finch returns a 202 Accepted with a job_id when syncing large datasets asynchronously; poll the job status endpoint before assuming data is current
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