Set the Authorization header to 'Bearer <ACCESS_TOKEN>' using a token generated from Integrations > Apps in your Workable account
Call GET https://{subdomain}.workable.com/spi/v3/jobs?state=published to list all published roles; the subdomain is your Workable account identifier
Select a job and note its shortcode field
POST to https://{subdomain}.workable.com/spi/v3/jobs/{shortcode}/candidates with a JSON body containing candidate.firstname, candidate.lastname, candidate.email, and optionally candidate.resume_url
A 201 response confirms creation; the body contains the new candidate id and application stage
Known gotchas
Workable enforces a rate limit of 10 requests per 10 seconds; batch imports must include delays or backoff logic to avoid 429 errors
The shortcode (e.g., 'ENGI001') is different from the job id; using the numeric id in the candidate POST path returns a 404
Resumes submitted as URLs must be publicly accessible; links behind authentication or with short-lived tokens will fail to be fetched by Workable
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