Sapilon becomes publicly available on 1 December 2026: 42 days to go. The core goes open source the same day →

Workable integration

In short

Read jobs and candidates, add candidates and comments. Connect it on the Integrations page; your app then calls Workable through Sapilon without ever holding a Workable credential.

Lets your app list open jobs and their pipeline stages, read and add candidates, and comment on them in your Workable account.

Connecting

On the Integrations page choose Connect on Workable and fill in:

  • Account subdomain — The part before .workable.com in your Workable address.
  • API access token — Workable → Settings → Integrations → Apps → Generate API token. Give it r_jobs, r_candidates and w_candidates.

Sapilon checks the key with the provider before it saves it, and stores it encrypted; it is never shown again.

What your app can do

Only these requests are available; anything else is refused.

  • GET /jobs
  • GET /jobs/*
  • GET|POST /jobs/*/candidates
  • GET /candidates
  • GET /candidates/*
  • POST /candidates/*/comments
  • GET /stages
  • GET /members

How the agent uses it

Use integrations.request('workable', …); paths are relative to https://<subdomain>.workable.com/spi/v3.

  • GET /jobs (query: { state: 'published' }), GET /jobs/{shortcode}.
  • GET|POST /jobs/{shortcode}/candidates — list, or add one. Example: { method: 'POST', path: '/jobs/GROOV001/candidates', body: { candidate: { name: 'Sara Smit', email: 'sara@acme.com' }, sourced: true } }.
  • GET /candidates (query: { stage: 'interview' }), GET /candidates/{id}.
  • POST /candidates/{id}/comments — body: { member_id, comment: { body: 'Strong portfolio' } }; take member_id from GET /members.
  • GET /stages — the pipeline stages.

Moving or disqualifying candidates and deleting are not allowed.

More from Workable: https://workable.readme.io/reference/generate-an-access-token

Last updated .

Was this page helpful?