ashby_add_ candidate_ tagAdds a tag to a candidate.
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
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_ tagAdds a tag to a candidate.
ashby_create_ candidateCreates a new candidate.
ashby_create_ candidate_ noteCreates a note on a candidate.
ashby_get_ candidateFetches details about a single candidate by id or external mapping id.
ashby_list_ candidate_ notesLists the notes that have been added to a candidate, ordered from newest to oldest.
ashby_list_ candidatesLists all candidates in the organization with pagination and incremental sync support.
ashby_search_ candidatesSearches for candidates by email and/or name.
ashby_update_ candidateUpdates an existing candidate.
ashby_change_ application_ stageChange the stage of an application.
ashby_create_ applicationConsider a candidate for a job (e.g. when sourcing a candidate for a job posting).
ashby_get_ applicationFetch application details by application id or by submitted form instance id (which is returned by the applicationForm.submit endpoint).
ashby_list_ application_ historyFetch a paginated list of application history items for an application.
ashby_list_ applicationsGets all applications in the organization.
ashby_get_ job_ postingRetrieve an individual job posting.
ashby_get_ offerReturns details about a single offer by id.
ashby_list_ job_ postingsLists published job postings.
ashby_list_ locationsList all locations.
ashby_list_ offersGet a list of all offers with their latest version.
ashby_list_ usersLists all users in the organization with pagination support.
ashby_search_ usersSearches for users by email address.
ashby_archive_ applicationArchive (reject) an application by the reason's name, without looking up ids.
ashby_candidate_ overviewSee 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_ transcriptRead the AI Notetaker transcript of an interview.
ashby_get_ jobFetches details of a single job by id.
ashby_job_ pipelineSee 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_ jobsLists all jobs.
ashby_move_ application_ to_ stageMove an application to another interview stage by the stage's name, or to the next stage, without looking up ids.
ashby_read_ fileRead a file on a candidate: a resume, cover letter or other document, or an offer letter.
ashby_run_ reportRun a saved Ashby report and return its rows, waiting up to about 50 seconds.
ashby_search_ jobsSearches jobs by title or custom requisition id.
ashby_upcoming_ interviewsList the interviews starting soon across the organization, earliest first, with interviewers and links.
ashby_upload_ candidate_ documentAdd a resume or other file to a candidate, from base64 content or a public link, up to 10 MB.
ashby_list_ custom_ fieldsLists all custom fields.
ashby_list_ departmentsLists all departments.
ashby_set_ custom_ field_ valueSet the value of a custom field for a given object.
ashby_create_ interview_ scheduleCreate a scheduled interview in Ashby.
ashby_list_ interview_ schedulesGets all interview schedules in the organization.
ashby_list_ candidate_ tagsLists all candidate tags.
ashby_list_ application_ feedbackList interview scorecards and feedback submissions.
ashby_list_ interview_ stagesList all interview stages for an interview plan in order.
ashby_submit_ application_ feedbackSubmit feedback for an application using the field paths and types from its feedback form.
ashby_list_ archive_ reasonsLists archive reasons.
ashby_list_ interview_ plansList published interview plans.
ashby_list_ sourcesList all sources Ashby permission: hiringProcessMetadataRead.
ashby_add_ candidate_ email_ messageAttaches an existing email message (e.g. fetched from a partner provider) to a candidate.
ashby_add_ candidate_ projectAdds a candidate to a project.
ashby_anonymize_ candidateAnonymizes a candidate's personally identifiable information.
ashby_get_ candidate_ recent_ email_ messagesBeta: This feature is in beta and may not be available for all organizations.
ashby_list_ candidate_ client_ infoLists client information records (IP, user agent) collected for a candidate.
ashby_list_ candidate_ fraud_ checksLists the fraud checks performed on a candidate.
ashby_list_ candidate_ projectsLists the projects a candidate has been added to.
ashby_push_ candidate_ to_ hrisBeta: This feature is in beta and may not be available for all organizations.
ashby_remove_ candidate_ projectRemoves the candidate from a project.
ashby_remove_ candidate_ tagRemoves a tag from a candidate.
ashby_search_ candidate_ suggestionsSearches for candidates by email and/or name and returns a minimal suggestion shape for typeahead use cases.
ashby_set_ candidate_ fraud_ statusUpdates the manual fraud-review status of a candidate.
ashby_upload_ candidate_ fileUploads a file for a candidate.
ashby_upload_ candidate_ resumeUploads a resume for a candidate.
ashby_add_ application_ hiring_ team_ memberAdds an Ashby user to the hiring team at the application level.
ashby_change_ application_ sourceChange the source of an application.
ashby_delete_ applicationDeletes an application by id.
ashby_list_ application_ criteria_ evaluationsFetch a paginated list of AI criteria evaluations for an application.
ashby_remove_ application_ hiring_ team_ memberUnassigns a hiring team role from an Ashby user at the application level.
ashby_transfer_ applicationTransfer an application to a different job.
ashby_update_ applicationUpdate an application.
ashby_update_ application_ historyUpdate the history of an application.
ashby_add_ opening_ jobAdds a job to an opening.
ashby_add_ opening_ locationAdds a location to an opening.
ashby_create_ openingCreates an opening.
ashby_get_ openingRetrieves an opening by its UUID.
ashby_list_ openingsLists openings.
ashby_remove_ opening_ jobRemoves a job from an opening.
ashby_remove_ opening_ locationRemoves a location from an opening.
ashby_search_ openingsSearches for openings by identifier.
ashby_set_ opening_ archivedSets the archived state of an opening.
ashby_set_ opening_ stateSets the state of an opening.
ashby_update_ openingUpdates an opening.
ashby_approve_ offerApproves an offer or a specific approval step within an offer's approval process.
ashby_archive_ locationArchives a location or location hierarchy.
ashby_create_ job_ postingCreates a new job posting for the specified job.
ashby_create_ locationCreates a location or location hierarchy.
ashby_create_ offerCreates a new Offer Offer forms support a variety of field types.
ashby_create_ user_ interviewer_ pauseCreates an interviewer pause for an user.
ashby_delete_ user_ interviewer_ pauseDeletes an interviewer pause.
ashby_get_ locationGets details for a single location by id.
ashby_get_ public_ job_ boardRead every published job on a public Ashby job board, the same data as the careers page.
ashby_get_ userRetrieves detailed information about a specific user by their ID.
ashby_get_ user_ interviewer_ settingsGet interviewer settings for an user.
ashby_list_ user_ interviewer_ pausesLists all active or scheduled interviewer pauses for an user.
ashby_move_ locationMoves a location in location hierarchy.
ashby_reject_ offerRejects the current step in an offer's approval process.
ashby_restore_ locationRestores an archived location or location hierarchy.
ashby_set_ job_ posting_ custom_ field_ valueBeta: This feature is in beta and may not be available for all organizations.
ashby_set_ job_ posting_ custom_ field_ valuesBeta: This feature is in beta and may not be available for all organizations.
ashby_set_ job_ posting_ statusSets the status of a job posting.
ashby_set_ offer_ decided_ atUpdates an offer's decidedAt timestamp.
ashby_set_ offer_ statusUpdates an offer's acceptance status.
ashby_set_ user_ custom_ field_ valueSet the value of a custom field on an employee.
ashby_set_ user_ custom_ field_ valuesSet the values of multiple custom fields on an employee in a single call.
ashby_start_ offerThe 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_ processStarts the approval process for an offer in a "WaitingOnApprovalStart" state.
ashby_update_ job_ postingUpdates an existing job posting.
ashby_update_ job_ posting_ compensationUpdates compensation for an existing job posting.
ashby_update_ job_ posting_ compensation_ settingsUpdates compensation display settings for a job posting.
ashby_update_ location_ addressUpdate an address of a location or location hierarchy.
ashby_update_ location_ external_ nameUpdate a location's external (candidate-facing) name.
ashby_update_ location_ nameUpdate location's name.
ashby_update_ location_ workplace_ typeUpdate location's workplace type.
ashby_update_ offerUpdates an existing Offer An Offer custom field submission can identify its field by path or referenceIdentifier.
ashby_update_ user_ interviewer_ settingsUpdate interviewer settings for an user.
ashby_archive_ projectArchives a project.
ashby_create_ jobCreates a new job.
ashby_create_ projectCreates a project.
ashby_get_ projectRetrieves a project by its UUID.
ashby_list_ projectsLists projects.
ashby_restore_ projectRestores a project.
ashby_search_ projectsSearch for projects by title.
ashby_set_ job_ statusSets the status of a job.
ashby_set_ project_ custom_ field_ valueUpdates one custom field on a project, including archived projects.
ashby_set_ project_ custom_ field_ valuesUpdates a nonempty batch of distinct custom fields on a project, including archived projects.
ashby_start_ job_ approval_ processStarts the approval process for a job.
ashby_update_ jobUpdates an existing job.
ashby_update_ job_ compensationReplaces the compensation tiers on a job.
ashby_update_ job_ compensation_ settingsUpdates compensation display settings for a job.
ashby_update_ projectUpdates a project's title or description, including archived projects.
ashby_add_ interviewer_ pool_ userAdd an user to an interviewer pool.
ashby_archive_ interviewer_ poolArchives an interviewer pool.
ashby_create_ interviewer_ poolCreate an interviewer pool.
ashby_get_ interviewer_ poolGet information about an interviewer pool.
ashby_list_ interviewer_ poolsList all interviewer pools.
ashby_remove_ interviewer_ pool_ userRemove an user from an interviewer pool.
ashby_restore_ interviewer_ poolRestores an archived interviewer pool.
ashby_update_ interviewer_ poolUpdate an interviewer pool.
ashby_archive_ departmentArchives a department.
ashby_cancel_ sequenceCancels a running sourcing sequence (campaign) for a candidate.
ashby_create_ custom_ fieldCreate a new custom field.
ashby_create_ departmentCreates a department.
ashby_discard_ sequencePermanently discards a NotStarted sourcing sequence draft owned by the acting user.
ashby_enroll_ candidate_ in_ sequenceEnrolls a candidate in a reusable sourcing sequence.
ashby_get_ custom_ fieldGet information about a custom field.
ashby_get_ departmentFetch department details by id.
ashby_get_ sequenceRetrieves a candidate's sourcing sequence enrollment when it is visible to the acting user.
ashby_list_ sequencesLists visible started and ended sourcing sequence enrollments across the organization, optionally filtered to one candidate.
ashby_move_ departmentMoves a department to another parent.
ashby_restore_ departmentRestores a department.
ashby_set_ custom_ field_ reference_ identifierBeta: This feature is in beta and may not be available for all organizations.
ashby_set_ custom_ field_ valuesSet the values of multiple custom fields for a given object in a single call.
ashby_start_ sequenceValidates and starts an existing NotStarted sourcing sequence draft owned by the acting user.
ashby_update_ custom_ field_ selectable_ valuesUpdate the selectable values for a custom field.
ashby_update_ departmentUpdates a department.
ashby_update_ sequence_ stageReplaces the supplied subject or HTML body of one email stage in a not-started sourcing sequence.
ashby_cancel_ interview_ scheduleCancel an interview schedule by id.
ashby_create_ webhookCreates a webhook setting.
ashby_delete_ webhookDeletes a webhook setting.
ashby_get_ webhookRetrieves information about a specific webhook setting by its ID.
ashby_update_ interview_ scheduleUpdate an interview schedule.
ashby_update_ webhookUpdates a webhook setting.
ashby_archive_ candidate_ tagArchives a candidate tag.
ashby_create_ candidate_ tagCreates a candidate tag.
ashby_create_ email_ sync_ blocked_ addressAdds email addresses to the candidate email sync blocklist.
ashby_create_ referralCreates a referral Ashby permission: candidatesWrite.
ashby_delete_ email_ sync_ blocked_ addressRemoves email addresses from the candidate email sync blocklist.
ashby_delete_ referralDeletes a referral submission by id.
ashby_list_ email_ sync_ blocked_ addressesLists the email addresses on the candidate email sync blocklist, oldest first.
ashby_list_ referralsGets all referral submissions that are visible to the acting user.
ashby_add_ completed_ assessment_ to_ candidateAdd a completed assessment to a candidate.
ashby_add_ hiring_ team_ memberAdds an Ashby user to the hiring team at the application, job, or opening level.
ashby_create_ file_ upload_ handleCreates 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_ requestThis endpoint generates a survey request and returns a survey URL.
ashby_create_ survey_ submissionCreates a survey submission for a candidate and application.
ashby_generate_ reportGenerates a new report or polls the status of an existing report generation.
ashby_get_ feedback_ form_ definitionReturns a single feedback form by id Requires one of the feedbackFormDefinitionsRead or hiringProcessMetadataRead permissions.
ashby_get_ fileRetrieve the URL for a file referenced by a public API file handle (candidate files, resumes, offer letters, and signature-request files).
ashby_get_ interviewFetch interview details by id.
ashby_get_ interview_ stageRetrieves detailed information about a specific interview stage by its ID.
ashby_get_ sequence_ templateRetrieves metadata for a reusable sourcing sequence template visible to the caller.
ashby_get_ survey_ form_ definitionReturns details about a single survey form definition by id.
ashby_get_ take_ home_ assignmentRetrieves a single take-home assignment by id and links it to its interview definition through interviewId.
ashby_list_ feedback_ form_ definitionsLists all feedback form definitions.
ashby_list_ interviewsList all interviews.
ashby_list_ sequence_ templatesLists reusable sourcing sequence templates visible to the caller.
ashby_list_ survey_ form_ definitionsLists all survey form definitions.
ashby_list_ survey_ requestsLists all survey requests.
ashby_list_ survey_ submissionsLists all survey submissions of a given surveyType.
ashby_list_ take_ home_ assignmentsLists 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_ memberRemoves an Ashby user from the hiring team at the application, job, or opening level.
ashby_run_ report_ synchronouslyRetrieves report data synchronously.
ashby_update_ assessmentUpdate Ashby about the status of a started assessment.
ashby_create_ application_ feedback_ requestRequest feedback on an application without scheduling an interview.
ashby_get_ api_ key_ infoReturns details for the API key used to make the request.
ashby_list_ application_ hiring_ team_ rolesGets all available hiring team roles for applications in the organization.
ashby_list_ approvalsGets all approvals in the organization.
ashby_list_ audit_ logsBeta: This API is in active development and only available in a closed beta with early design partners.
ashby_submit_ application_ formSubmits a completed application form for a job posting.
ashby_update_ approval_ definitionCreate or update an approval definition for a specific entity that requires approval.
ashby_get_ interview_ briefingFetch the briefing data for an interview event.
ashby_get_ job_ interview_ planReturns a job's interview plan, including activities and interviews that need to be scheduled at each stage.
ashby_get_ notetaker_ transcriptFetches metadata and a pre-signed download URL for an AI Notetaker transcript recording.
ashby_get_ referral_ formFetches the default referral form or creates a default referral form if none exists.
ashby_list_ api_ versionsLists available API versions and their lifecycle status.
ashby_list_ brandsLists all brands for the organization.
ashby_list_ close_ reasonsLists all close reasons for jobs or openings.
ashby_list_ communication_ templatesList all enabled communication templates.
ashby_list_ email_ sendersLists the email addresses available to the acting identity for sending email through Ashby.
ashby_list_ hiring_ team_ rolesLists the possible hiring team roles in an organization Ashby permission: organizationRead.
ashby_list_ interview_ eventsLists interview events associated with an interview schedule.
ashby_list_ interview_ stage_ groupsList all interview stage groups in the organization in order.
ashby_list_ job_ boardsList all enabled job boards.
ashby_list_ job_ templatesList all active and inactive job templates.
ashby_list_ source_ tracking_ linksList all source custom tracking links Ashby permission: hiringProcessMetadataRead.
ashby_start_ offer_ processStarts an offer process for a candidate.
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.
••••••••••••3f7aLeave empty for most setupsMoving, archiving and hiring candidates and everything else that edits Ashby are writes and wait until an owner or admin allows write actions; new connections start read-only. The permissions you tick on the key are a second limit that Ashby enforces itself. Stage moves can email candidates, so the AI is told to ask first.
Drop the PopMCP URL into Claude, ChatGPT, Claude Code, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Ashby credential never leaves the server.
app.popmcp.com/mcpAsk for something harmless before the agent changes anything. Writes run as soon as it calls them, so confirm it reads the right account first.
Where is Ada Byron in our hiring process, and what did her interviewers say?
ashby_candidate_overviewok
Then just ask for the work
“Where is Ada Byron in our hiring process, and what did her interviewers say?”
“How is the Senior Engineer job going? Who has had no update for two weeks?”
“Which interviews are coming up in the next seven days, and who is on each panel?”
“Move Ada's application to the Onsite stage”
“Add this person to the Product Designer job and note that a teammate referred her”
“Archive this application as not a fit, with no email to the candidate”
“Run our pipeline report and summarize the drop-off between stages”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting Ashby behind an AI client.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Launch a hosted MCP endpoint for Ashby, keep tool access under control, and start testing real workflow prompts right away.