100+ integrations are ready to connect to your AI.Connect your first MCP

Workable MCP server for your AI

Ask where a candidate stands, see how each job's pipeline is moving and who has gone quiet, move people between stages, leave comments and ratings, and check who is off next week, all in the Workable account your team already uses.

PopMCPWorkable

Where is Ada Byron in our hiring process, and what has the team said about her?

Supported Workable tools

Every documented operation in Workable's API, with the everyday hiring tools loaded by default and the rest, from departments and member access to time tracking, performance reviews and surveys, one search away. A few more do what the API cannot in one call, such as finding a job by title or a candidate by name.

112 tools in the full catalog: 66 read and 46 write. 38 load by default, and the rest are found with tool search.

workable_comment_on_candidate

Add a comment to a candidate's timeline.

workable_copy_candidate_to_job

Copy a candidate to another job and KEEP them on this one, so two records exist.

workable_create_candidate

Add a candidate to a job.

workable_disqualify_candidate

Disqualify a candidate.

workable_get_candidate

Get a candidate's full profile: contact details, stage, job, education, experience, answers, skills, tags.

workable_get_candidate_offer

Get the offer data on one candidate.

workable_list_candidate_activities

List a candidate's timeline: stage moves, comments, ratings, messages, interviews.

workable_list_candidate_files

List the files on a candidate's Files tab by name.

workable_list_candidates

List candidates, oldest first.

workable_move_candidate_to_stage

Move a candidate to another stage of their job.

workable_relocate_candidate_to_job

Move a candidate to another job, REMOVING them from this one.

workable_revert_candidate_disqualification

Undo a disqualification, returning the candidate to active on the job.

workable_update_candidate

Update a candidate.

workable_update_candidate_tags

Replace a candidate's tags.

workable_upsert_candidate_rating

Create or update a member's evaluation of a candidate on a stage.

workable_list_disqualification_reasons

List the account's disqualification reasons.

workable_list_members

List the people who use this Workable account.

workable_list_stages

List the account's recruiting pipeline stages: slug, name, kind, position.

workable_get_employee

Get one employee in full.

workable_get_job

Get one job in full by shortcode.

workable_get_job_application_form

Get a job's application form: which fields are required, and its questions.

workable_list_employees

List employees.

workable_list_job_questions

List a job's application questions.

workable_list_job_stages

List the pipeline stages of one job: slug, name, kind, position.

workable_list_jobs

List jobs, oldest first.

workable_get_requisition

Get one requisition by its code, such as REQ-1234.

workable_list_requisitions

List headcount requisitions.

workable_advance_candidate

Move a candidate to a stage by its name, or to the next stage of their job when you pass none.

workable_candidate_overview

Everything about one candidate in one call: profile, stage, job, recent timeline, file names and offer.

workable_download_file

Read a file on a candidate or an employee: a resume, attachment, offer document or employee document.

workable_find_candidate

Find a candidate by email or name, since Workable's API has no name search.

workable_find_job

Find a job by its title, since Workable's API cannot search jobs.

workable_job_pipeline

How one job's hiring is going: its stages with how many active candidates are in each, how many are disqualified, and who has had no update for the longest.

workable_list_timeoff_balances

List time off balances across every category.

workable_list_timeoff_requests

List time off requests from from_date (required, YYYY-MM-DD).

workable_create_subscription

Have Workable POST to a URL when something happens.

workable_list_subscriptions

List this connection's active webhook subscriptions.

workable_list_events

List scheduled calls, interviews and meetings.

workable_create_talent_pool_candidate

Add a candidate to the talent pool, with no job.

workable_list_custom_attributes

List the account's custom attributes for candidates.

workable_rate_candidate

Add an evaluation of a candidate.

workable_update_candidate_custom_attribute

Set a custom attribute on a candidate.

workable_create_department

Create a department, optionally under parent_id.

workable_deactivate_member

Deactivate a member, taking their access away.

workable_delete_department

Delete a department.

workable_enable_member

Restore a deactivated member.

workable_get_account

Get this connection's Workable account: id, name, subdomain, description, summary, website_url.

workable_get_collaboration_permissions

Get the effective collaboration permissions configuration for the account.

workable_invite_member

Invite someone to the Workable account by email with roles such as ats.simple or hris.employee, or names from workable_list_permission_sets.

workable_list_accounts

Show the Workable account this connection is for.

workable_list_departments

List the account's departments: id, name, parent_id.

workable_list_legal_entities

List the account's legal entities.

workable_list_permission_sets

List the account's custom permission sets.

workable_list_recruiters

List the account's external recruiters.

workable_merge_department

Merge a department into target_department_id, moving everything in it.

workable_update_department

Rename or move a department.

workable_update_member

Change a member's roles or collaboration rules.

workable_create_review_template

Create a performance review template from a title and a questionnaire of sections and questions.

workable_get_employee_review_aggregate

Get one employee's review task in a cycle, with every review the caller may see.

workable_get_review

Get one review with its questionnaire and saved answers.

workable_get_review_cycle

Get one review cycle with its dates and review types.

workable_get_review_form

Get a task's form of one review type (self, manager, peer, upwards) with its questionnaire.

workable_get_review_template

Get one performance review template with its sections and questions.

workable_list_review_cycle_answers

Pull the question answers of a cycle for reporting.

workable_list_review_cycles

List performance review cycles.

workable_list_review_tasks

List the caller's own review tasks in a cycle: preparation tasks, and active tasks to write, view, share or sign.

workable_list_review_templates

List performance review master templates.

workable_mark_review_task_ready

Mark a preparation task ready, locking its forms.

workable_share_review

Share an employee's reviews with them and notify them.

workable_sign_review

Sign a shared review as the reviewee or the manager.

workable_submit_review

Save or submit answers to a review.

workable_update_review_form

Replace the form of one review type on a preparation task.

workable_create_employee

Create an employee.

workable_get_employee_orgchart

Get the org chart: each node holds an employee, parent_id (their manager) and direct reports.

workable_list_employee_documents

List an employee's documents by name.

workable_list_employee_fields

List the employee fields configured on the account: which keys workable_create_employee and workable_update_employee take.

workable_list_job_activities

List a job's activity stream.

workable_list_job_custom_attributes

List the custom attributes that apply to one job.

workable_list_job_members

List the members collaborating on one job.

workable_list_job_recruiters

List the external recruiters on one job.

workable_list_work_schedules

List the account's work schedules.

workable_update_employee

Update an employee.

workable_upload_employee_documents

Attach documents to an employee from links Workable downloads.

workable_approve_requisition

Approve a requisition awaiting approval.

workable_create_requisition

Create a requisition.

workable_list_requisition_attribute_choices

List the allowed choices of a dropdown or multiple choice requisition custom attribute.

workable_list_requisition_custom_attributes

List the fields of the account's requisition custom attributes.

workable_reject_requisition

Reject a requisition awaiting approval, with an optional rejection_reason.

workable_update_requisition

Update a requisition.

workable_create_survey_template

Create a survey template from a title and a questionnaire of sections and questions.

workable_get_survey

Get one survey cycle.

workable_get_survey_outcomes

Get a survey's aggregated results: response overview and per-question statistics.

workable_get_survey_template

Get one survey template with its questionnaire.

workable_list_survey_answers

List a survey's individual submitted answers.

workable_list_survey_templates

List survey master templates.

workable_list_surveys

List survey cycles.

workable_archive_time_entry

Archive a time entry.

workable_bulk_create_time_entries

Create complete time entries for several employees in one call, at most 500.

workable_create_time_entry

Add a time entry for an employee.

workable_create_timeoff_request

Create a time off request.

workable_decide_timeoff_approval

Approve or reject a pending time off approval.

workable_list_time_entries

List time entries.

workable_list_timeoff_categories

List the time off categories.

workable_update_time_entry

Change a time entry's clock_in_time, clock_out_time or note.

workable_approve_offer

Approve an offer awaiting approval.

workable_delete_subscription

Stop a webhook subscription.

workable_get_offer

Get an offer by id.

workable_list_public_departments

List the departments with public jobs, with counts.

workable_list_public_jobs

Read a company's public careers page: its published jobs.

workable_list_public_locations

List the locations with public jobs, with counts.

workable_reject_offer

Reject an offer awaiting approval, with an optional rejection_reason.

workable_get_event

Get one scheduled event.

Connect Workable to Claude, ChatGPT and Claude Code

Authorize once, then an endpoint your client signs into. Nothing to deploy, and nothing to install on the Workable side.

Open Workable in PopMCP, click Connect Workable, sign in and approve. If your login has several Workable accounts, choose the one this connection is for. There is no developer app or callback URL to set up, and no subdomain to look up. If you would rather use an access token, an Admin makes one in Workable under Settings, Integrations, Apps, and it goes under More options.

How you connectyour-workable-value
Your Workable emailyou@company.com
Access token (instead of signing in)••••••••••••3f7a
Authorize PopMCP on WorkableAuthorize

Then just ask for the work

  • “Where is Ada Byron in our hiring process, and what has the team said about her?”

    • find_candidate
    • candidate_overview
  • “How is the Senior Engineer job going? Who has had no update for the longest?”

    • find_job
    • job_pipeline
  • “Move Ada to the Phone Screen stage and leave a comment that the referral checked out”

    • advance_candidate
    • comment_on_candidate
  • “Read this candidate's resume and sum up their last two roles”

    • find_candidate
    • download_file
  • “Add Jane Doe to the Office Manager job from these details, without emailing her”

    • find_job
    • list_candidates
    • create_candidate
  • “Who is off next week, and how many days does the team have left?”

    • list_timeoff_requests
    • list_timeoff_balances

Use Workable from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

Workable MCP server questions

What teams ask before putting Workable behind an AI client.

What does PopMCP need to connect Workable?

Nothing typed in. Click Connect Workable, sign in to Workable and approve. PopMCP is already registered with Workable, so there is no developer app, and it finds your account's subdomain by itself. Under More options, an access token made by an Admin works instead.

Should I sign in or use an access token?

Sign in if you can. It acts with your role, renews by itself, and is the only way to read and approve offers. An access token is made by an Admin, reaches the whole account within the scopes ticked on it, ends on the expiry date chosen for it, and is limited to 10 requests every 10 seconds.

Whose name do comments and stage moves appear under?

Workable records a member on each of these. Add your Workable email under More options when you connect and they show under your name. Without it they show under the account's Admin when there is only one, and otherwise the AI asks who to record.

How is candidate and employee data handled?

Temporary file links are held back from the conversation, so a resume is opened only when the AI is asked to read it. Bank and national id numbers on employee records are masked in every answer. A sign-in sees only what your role allows, and a token only what its scopes allow.

Does it work with Workable's HR product?

Yes, if your account has it: employees and their documents, the org chart, time off, time tracking, performance reviews and surveys. On an account without it those tools answer that the feature is not available. Requisitions need Workable's Hiring Plan feature in the same way.

Can I stop the AI from changing anything?

Yes. Every connection starts read-only, and an owner or admin can allow write actions later. With an access token you can also tick only the read scopes, and Workable itself refuses every change.

Is this the same as Workable's own MCP server?

No. PopMCP calls Workable's documented API directly and adds tools that do several steps in one call, alongside your other connected apps from a single MCP URL. Workable's server is a separate product with its own tool set.

Which Workable events can start a workflow?

PopMCP can watch for candidates being added, moved or deleted, jobs being created, changed or deleted, new requisitions, new and changed employees, finished onboarding and time off changes.

Do I have to run or host the Workable MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

How do I connect Workable to Claude Code?

Connect Workable in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking Workable on the consent screen. The Workable tools are then available in that session, and no Workable credential is stored on your machine.

Why do only 38 of the 112 tools load by default?

Loading 112 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 38-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.

What is the difference between a tool and a trigger?

A tool is something your AI calls, and there are 112 here. A trigger is something PopMCP watches for you: 13 Workable events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Workable.

Connect Workable to your AI in minutes

Launch a hosted MCP endpoint for Workable, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP