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

Ashby MCP server for your AI

Ask where a candidate stands, see which jobs are stalling and who has gone quiet, move people between stages, read interview feedback and log notes, all in the Ashby account your hiring team already uses.

PopMCPAshby

Where is Ada Byron in our hiring process, and what did her interviewers say?

Supported Ashby tools

Every documented endpoint in Ashby's public API, with the everyday hiring tools loaded by default and the rest, from openings and approvals to sourcing sequences, surveys, referrals and webhooks, one search away.

211 tools in the full catalog: 93 read and 118 write. 44 load by default, and the rest are found with tool search.

ashby_add_candidate_tag

Adds a tag to a candidate.

ashby_create_candidate

Creates a new candidate.

ashby_create_candidate_note

Creates a note on a candidate.

ashby_get_candidate

Fetches details about a single candidate by id or external mapping id.

ashby_list_candidate_notes

Lists the notes that have been added to a candidate, ordered from newest to oldest.

ashby_list_candidates

Lists all candidates in the organization with pagination and incremental sync support.

ashby_search_candidates

Searches for candidates by email and/or name.

ashby_update_candidate

Updates an existing candidate.

ashby_change_application_stage

Change the stage of an application.

ashby_create_application

Consider a candidate for a job (e.g. when sourcing a candidate for a job posting).

ashby_get_application

Fetch application details by application id or by submitted form instance id (which is returned by the applicationForm.submit endpoint).

ashby_list_application_history

Fetch a paginated list of application history items for an application.

ashby_list_applications

Gets all applications in the organization.

ashby_get_job_posting

Retrieve an individual job posting.

ashby_get_offer

Returns details about a single offer by id.

ashby_list_job_postings

Lists published job postings.

ashby_list_locations

List all locations.

ashby_list_offers

Get a list of all offers with their latest version.

ashby_list_users

Lists all users in the organization with pagination support.

ashby_search_users

Searches for users by email address.

ashby_archive_application

Archive (reject) an application by the reason's name, without looking up ids.

ashby_candidate_overview

See one candidate in full with a single call: profile, every application with its job and stage, recent notes, interview feedback and scheduled interviews.

ashby_get_interview_transcript

Read the AI Notetaker transcript of an interview.

ashby_get_job

Fetches details of a single job by id.

ashby_job_pipeline

See a job's pipeline with one call: its active applications counted by interview stage, in stage order, and who has had no update for a while.

ashby_list_jobs

Lists all jobs.

ashby_move_application_to_stage

Move an application to another interview stage by the stage's name, or to the next stage, without looking up ids.

ashby_read_file

Read a file on a candidate: a resume, cover letter or other document, or an offer letter.

ashby_run_report

Run a saved Ashby report and return its rows, waiting up to about 50 seconds.

ashby_search_jobs

Searches jobs by title or custom requisition id.

ashby_upcoming_interviews

List the interviews starting soon across the organization, earliest first, with interviewers and links.

ashby_upload_candidate_document

Add a resume or other file to a candidate, from base64 content or a public link, up to 10 MB.

ashby_list_custom_fields

Lists all custom fields.

ashby_list_departments

Lists all departments.

ashby_set_custom_field_value

Set the value of a custom field for a given object.

ashby_create_interview_schedule

Create a scheduled interview in Ashby.

ashby_list_interview_schedules

Gets all interview schedules in the organization.

ashby_list_candidate_tags

Lists all candidate tags.

ashby_list_application_feedback

List interview scorecards and feedback submissions.

ashby_list_interview_stages

List all interview stages for an interview plan in order.

ashby_submit_application_feedback

Submit feedback for an application using the field paths and types from its feedback form.

ashby_list_archive_reasons

Lists archive reasons.

ashby_list_interview_plans

List published interview plans.

ashby_list_sources

List all sources Ashby permission: hiringProcessMetadataRead.

ashby_add_candidate_email_message

Attaches an existing email message (e.g. fetched from a partner provider) to a candidate.

ashby_add_candidate_project

Adds a candidate to a project.

ashby_anonymize_candidate

Anonymizes a candidate's personally identifiable information.

ashby_get_candidate_recent_email_messages

Beta: This feature is in beta and may not be available for all organizations.

ashby_list_candidate_client_info

Lists client information records (IP, user agent) collected for a candidate.

ashby_list_candidate_fraud_checks

Lists the fraud checks performed on a candidate.

ashby_list_candidate_projects

Lists the projects a candidate has been added to.

ashby_push_candidate_to_hris

Beta: This feature is in beta and may not be available for all organizations.

ashby_remove_candidate_project

Removes the candidate from a project.

ashby_remove_candidate_tag

Removes a tag from a candidate.

ashby_search_candidate_suggestions

Searches for candidates by email and/or name and returns a minimal suggestion shape for typeahead use cases.

ashby_set_candidate_fraud_status

Updates the manual fraud-review status of a candidate.

ashby_upload_candidate_file

Uploads a file for a candidate.

ashby_upload_candidate_resume

Uploads a resume for a candidate.

ashby_add_application_hiring_team_member

Adds an Ashby user to the hiring team at the application level.

ashby_change_application_source

Change the source of an application.

ashby_delete_application

Deletes an application by id.

ashby_list_application_criteria_evaluations

Fetch a paginated list of AI criteria evaluations for an application.

ashby_remove_application_hiring_team_member

Unassigns a hiring team role from an Ashby user at the application level.

ashby_transfer_application

Transfer an application to a different job.

ashby_update_application

Update an application.

ashby_update_application_history

Update the history of an application.

ashby_add_opening_job

Adds a job to an opening.

ashby_add_opening_location

Adds a location to an opening.

ashby_create_opening

Creates an opening.

ashby_get_opening

Retrieves an opening by its UUID.

ashby_list_openings

Lists openings.

ashby_remove_opening_job

Removes a job from an opening.

ashby_remove_opening_location

Removes a location from an opening.

ashby_search_openings

Searches for openings by identifier.

ashby_set_opening_archived

Sets the archived state of an opening.

ashby_set_opening_state

Sets the state of an opening.

ashby_update_opening

Updates an opening.

ashby_approve_offer

Approves an offer or a specific approval step within an offer's approval process.

ashby_archive_location

Archives a location or location hierarchy.

ashby_create_job_posting

Creates a new job posting for the specified job.

ashby_create_location

Creates a location or location hierarchy.

ashby_create_offer

Creates a new Offer Offer forms support a variety of field types.

ashby_create_user_interviewer_pause

Creates an interviewer pause for an user.

ashby_delete_user_interviewer_pause

Deletes an interviewer pause.

ashby_get_location

Gets details for a single location by id.

ashby_get_public_job_board

Read every published job on a public Ashby job board, the same data as the careers page.

ashby_get_user

Retrieves detailed information about a specific user by their ID.

ashby_get_user_interviewer_settings

Get interviewer settings for an user.

ashby_list_user_interviewer_pauses

Lists all active or scheduled interviewer pauses for an user.

ashby_move_location

Moves a location in location hierarchy.

ashby_reject_offer

Rejects the current step in an offer's approval process.

ashby_restore_location

Restores an archived location or location hierarchy.

ashby_set_job_posting_custom_field_value

Beta: This feature is in beta and may not be available for all organizations.

ashby_set_job_posting_custom_field_values

Beta: This feature is in beta and may not be available for all organizations.

ashby_set_job_posting_status

Sets the status of a job posting.

ashby_set_offer_decided_at

Updates an offer's decidedAt timestamp.

ashby_set_offer_status

Updates an offer's acceptance status.

ashby_set_user_custom_field_value

Set the value of a custom field on an employee.

ashby_set_user_custom_field_values

Set the values of multiple custom fields on an employee in a single call.

ashby_start_offer

The offer.start endpoint creates and returns an offer version instance that can be filled out and submitted using the offer.create endpoint.

ashby_start_offer_approval_process

Starts the approval process for an offer in a "WaitingOnApprovalStart" state.

ashby_update_job_posting

Updates an existing job posting.

ashby_update_job_posting_compensation

Updates compensation for an existing job posting.

ashby_update_job_posting_compensation_settings

Updates compensation display settings for a job posting.

ashby_update_location_address

Update an address of a location or location hierarchy.

ashby_update_location_external_name

Update a location's external (candidate-facing) name.

ashby_update_location_name

Update location's name.

ashby_update_location_workplace_type

Update location's workplace type.

ashby_update_offer

Updates an existing Offer An Offer custom field submission can identify its field by path or referenceIdentifier.

ashby_update_user_interviewer_settings

Update interviewer settings for an user.

ashby_archive_project

Archives a project.

ashby_create_job

Creates a new job.

ashby_create_project

Creates a project.

ashby_get_project

Retrieves a project by its UUID.

ashby_list_projects

Lists projects.

ashby_restore_project

Restores a project.

ashby_search_projects

Search for projects by title.

ashby_set_job_status

Sets the status of a job.

ashby_set_project_custom_field_value

Updates one custom field on a project, including archived projects.

ashby_set_project_custom_field_values

Updates a nonempty batch of distinct custom fields on a project, including archived projects.

ashby_start_job_approval_process

Starts the approval process for a job.

ashby_update_job

Updates an existing job.

ashby_update_job_compensation

Replaces the compensation tiers on a job.

ashby_update_job_compensation_settings

Updates compensation display settings for a job.

ashby_update_project

Updates a project's title or description, including archived projects.

ashby_add_interviewer_pool_user

Add an user to an interviewer pool.

ashby_archive_interviewer_pool

Archives an interviewer pool.

ashby_create_interviewer_pool

Create an interviewer pool.

ashby_get_interviewer_pool

Get information about an interviewer pool.

ashby_list_interviewer_pools

List all interviewer pools.

ashby_remove_interviewer_pool_user

Remove an user from an interviewer pool.

ashby_restore_interviewer_pool

Restores an archived interviewer pool.

ashby_update_interviewer_pool

Update an interviewer pool.

ashby_archive_department

Archives a department.

ashby_cancel_sequence

Cancels a running sourcing sequence (campaign) for a candidate.

ashby_create_custom_field

Create a new custom field.

ashby_create_department

Creates a department.

ashby_discard_sequence

Permanently discards a NotStarted sourcing sequence draft owned by the acting user.

ashby_enroll_candidate_in_sequence

Enrolls a candidate in a reusable sourcing sequence.

ashby_get_custom_field

Get information about a custom field.

ashby_get_department

Fetch department details by id.

ashby_get_sequence

Retrieves a candidate's sourcing sequence enrollment when it is visible to the acting user.

ashby_list_sequences

Lists visible started and ended sourcing sequence enrollments across the organization, optionally filtered to one candidate.

ashby_move_department

Moves a department to another parent.

ashby_restore_department

Restores a department.

ashby_set_custom_field_reference_identifier

Beta: This feature is in beta and may not be available for all organizations.

ashby_set_custom_field_values

Set the values of multiple custom fields for a given object in a single call.

ashby_start_sequence

Validates and starts an existing NotStarted sourcing sequence draft owned by the acting user.

ashby_update_custom_field_selectable_values

Update the selectable values for a custom field.

ashby_update_department

Updates a department.

ashby_update_sequence_stage

Replaces the supplied subject or HTML body of one email stage in a not-started sourcing sequence.

ashby_cancel_interview_schedule

Cancel an interview schedule by id.

ashby_create_webhook

Creates a webhook setting.

ashby_delete_webhook

Deletes a webhook setting.

ashby_get_webhook

Retrieves information about a specific webhook setting by its ID.

ashby_update_interview_schedule

Update an interview schedule.

ashby_update_webhook

Updates a webhook setting.

ashby_archive_candidate_tag

Archives a candidate tag.

ashby_create_candidate_tag

Creates a candidate tag.

ashby_create_email_sync_blocked_address

Adds email addresses to the candidate email sync blocklist.

ashby_create_referral

Creates a referral Ashby permission: candidatesWrite.

ashby_delete_email_sync_blocked_address

Removes email addresses from the candidate email sync blocklist.

ashby_delete_referral

Deletes a referral submission by id.

ashby_list_email_sync_blocked_addresses

Lists the email addresses on the candidate email sync blocklist, oldest first.

ashby_list_referrals

Gets all referral submissions that are visible to the acting user.

ashby_add_completed_assessment_to_candidate

Add a completed assessment to a candidate.

ashby_add_hiring_team_member

Adds an Ashby user to the hiring team at the application, job, or opening level.

ashby_create_file_upload_handle

Creates a presigned upload URL that allows uploading a file directly to storage, bypassing the need to send file bytes through the API.

ashby_create_survey_request

This endpoint generates a survey request and returns a survey URL.

ashby_create_survey_submission

Creates a survey submission for a candidate and application.

ashby_generate_report

Generates a new report or polls the status of an existing report generation.

ashby_get_feedback_form_definition

Returns a single feedback form by id Requires one of the feedbackFormDefinitionsRead or hiringProcessMetadataRead permissions.

ashby_get_file

Retrieve the URL for a file referenced by a public API file handle (candidate files, resumes, offer letters, and signature-request files).

ashby_get_interview

Fetch interview details by id.

ashby_get_interview_stage

Retrieves detailed information about a specific interview stage by its ID.

ashby_get_sequence_template

Retrieves metadata for a reusable sourcing sequence template visible to the caller.

ashby_get_survey_form_definition

Returns details about a single survey form definition by id.

ashby_get_take_home_assignment

Retrieves a single take-home assignment by id and links it to its interview definition through interviewId.

ashby_list_feedback_form_definitions

Lists all feedback form definitions.

ashby_list_interviews

List all interviews.

ashby_list_sequence_templates

Lists reusable sourcing sequence templates visible to the caller.

ashby_list_survey_form_definitions

Lists all survey form definitions.

ashby_list_survey_requests

Lists all survey requests.

ashby_list_survey_submissions

Lists all survey submissions of a given surveyType.

ashby_list_take_home_assignments

Lists take-home assignments visible to the caller, including candidate submission metadata and reviewer feedback status, and links each assignment to its interview definition through interviewId.

ashby_remove_hiring_team_member

Removes an Ashby user from the hiring team at the application, job, or opening level.

ashby_run_report_synchronously

Retrieves report data synchronously.

ashby_update_assessment

Update Ashby about the status of a started assessment.

ashby_create_application_feedback_request

Request feedback on an application without scheduling an interview.

ashby_get_api_key_info

Returns details for the API key used to make the request.

ashby_list_application_hiring_team_roles

Gets all available hiring team roles for applications in the organization.

ashby_list_approvals

Gets all approvals in the organization.

ashby_list_audit_logs

Beta: This API is in active development and only available in a closed beta with early design partners.

ashby_submit_application_form

Submits a completed application form for a job posting.

ashby_update_approval_definition

Create or update an approval definition for a specific entity that requires approval.

ashby_get_interview_briefing

Fetch the briefing data for an interview event.

ashby_get_job_interview_plan

Returns a job's interview plan, including activities and interviews that need to be scheduled at each stage.

ashby_get_notetaker_transcript

Fetches metadata and a pre-signed download URL for an AI Notetaker transcript recording.

ashby_get_referral_form

Fetches the default referral form or creates a default referral form if none exists.

ashby_list_api_versions

Lists available API versions and their lifecycle status.

ashby_list_brands

Lists all brands for the organization.

ashby_list_close_reasons

Lists all close reasons for jobs or openings.

ashby_list_communication_templates

List all enabled communication templates.

ashby_list_email_senders

Lists the email addresses available to the acting identity for sending email through Ashby.

ashby_list_hiring_team_roles

Lists the possible hiring team roles in an organization Ashby permission: organizationRead.

ashby_list_interview_events

Lists interview events associated with an interview schedule.

ashby_list_interview_stage_groups

List all interview stage groups in the organization in order.

ashby_list_job_boards

List all enabled job boards.

ashby_list_job_templates

List all active and inactive job templates.

ashby_list_source_tracking_links

List all source custom tracking links Ashby permission: hiringProcessMetadataRead.

ashby_start_offer_process

Starts an offer process for a candidate.

Connect Ashby to Claude, ChatGPT and Claude Code

Credentials off one Ashby screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.

As an Ashby Organization Admin, open Admin, then Integrations, then API Credentials, and create a new key. Tick what the AI may do, copy the key from the last step, and paste it into PopMCP. There is no app to review and nothing to deploy.

API key••••••••••••3f7a
Act as this userLeave empty for most setups
ConnectionVerified

Then just ask for the work

  • “Where is Ada Byron in our hiring process, and what did her interviewers say?”

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

    • job_pipeline
  • “Which interviews are coming up in the next seven days, and who is on each panel?”

    • upcoming_interviews
  • “Move Ada's application to the Onsite stage”

    • candidate_overview
    • move_application_to_stage
  • “Add this person to the Product Designer job and note that a teammate referred her”

    • search_candidates
    • create_candidate
    • create_application
    • create_candidate_note
  • “Archive this application as not a fit, with no email to the candidate”

    • archive_application
  • “Run our pipeline report and summarize the drop-off between stages”

    • run_report

Use Ashby 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.

Ashby MCP server questions

What teams ask before putting Ashby behind an AI client.

What does PopMCP need to connect Ashby?

An API key. An Organization Admin makes one under Admin, Integrations, API Credentials, and ticks what it may do. Ashby shows the key only once. PopMCP stores it encrypted and checks it against Ashby when you connect. The key never reaches your AI client.

Which permissions should I tick?

A new Ashby key can do nothing until you tick something, so tick only what you want the AI to do. For reading, start with read on Candidates, Jobs, Interviews, Hiring Process and Organization, then add Offers and Reports when you need them. To let it make changes, add write on those modules. If a tool needs a permission you did not tick, the AI is told which one, and you can add it without connecting again.

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

No. Ashby's MCP server is in open beta with a curated set of tools, and an Organization Admin has to turn it on first. PopMCP connects to Ashby's public API directly, so it reaches every documented endpoint, with a key you control. Ashby's own server acts as the signed-in person, while an API key is one shared identity, so its access is whatever you tick on the key.

How is candidate data handled?

The permissions on your key decide what Ashby will hand over at all. Confidential jobs and private fields each need their own box ticked. Temporary file links are held back from the conversation, so a resume is opened only when the AI is asked to read it. Email messages, fraud checks and the IP addresses of applicants stay out of the everyday tool list, and the AI is told to read them only when asked.

Whose name do changes appear under in Ashby?

By default, the API key's. To show changes under a person instead, tick Allow on-behalf-of requests on the key and add their Ashby user id under More options when you connect. The AI can also act as a person for a single call on the tools where it matters, such as notes, feedback and sourcing sequences.

Can I stop the AI from changing anything?

Yes, in two ways. Tick only read permissions on the key, and Ashby itself refuses every write. Or leave write actions off in PopMCP, which is how new connections start: the write tools are hidden and refused.

Which Ashby events can start a workflow?

Applications, stage moves, hires, interview schedules, jobs, job postings, openings, offers, surveys and take-home assignments. Ashby lets an API key set up its own webhooks, which needs the API Keys write permission. New candidates and new feedback are picked up by checking the lists for changes.

Do I have to run or host the Ashby 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 Ashby to Claude Code?

Connect Ashby 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 Ashby on the consent screen. The Ashby tools are then available in that session, and no Ashby credential is stored on your machine.

Why do only 44 of the 211 tools load by default?

Loading 211 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 44-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 211 here. A trigger is something PopMCP watches for you: 31 Ashby 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 Ashby.

Connect Ashby to your AI in minutes

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

Connect your first MCP