Authenticate and obtain a valid access token scoped to the target company via Gusto's OAuth flow
List upcoming payrolls with GET /v1/companies/{company_id}/payrolls to identify the payroll_id for the scheduled run
Retrieve the payroll details to confirm pay period, employee list, and any already-entered hours or earnings
Enter or update employee compensation data via the appropriate payroll update endpoints if needed
Submit the payroll by calling PUT /v1/companies/{company_id}/payrolls/{payroll_id}/submit; a 202 Accepted response indicates the submission is processing asynchronously
Poll the payroll status or listen for webhooks to confirm the payroll transitions to a submitted or processed state
Known gotchas
The submit endpoint uses PUT, not POST; sending a POST to the submit path will return a routing error
A 202 response means the submission is accepted and processing asynchronously — it does not mean payroll is fully processed; poll or use webhooks to confirm completion
Attempting to submit a payroll outside its allowed submission window will result in an error; verify the pay period deadline before calling submit
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