Breezy HR integration
Breezy HR is an applicant tracking system. An agent can read the companies the user belongs to and their departments, categories, pipelines, questionnaires, message templates and custom field definitions; list, create, update and publish or close positions; list, search, add and update candidates, move them between pipeline stages or positions, add notes and scorecards, read their activity stream, conversation, documents, questionnaires, assessments and background checks, send them messages and questionnaires; and manage webhook endpoints. Sign-in and sign-out, file uploads and downloads (resumes, documents) and partner assessment writes are not exposed. Authentication is a Breezy Personal Access Token sent as a Bearer token in the Authorization header.
Say what should happen.
The workflow builds itself.
What you can do with Breezy HR
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Candidate, 7 operations
add_candidateAdd candidatePOSTAdd a candidate to a position. origin sourced (default) puts them in the Applied stage; applied runs the public application path (email required, position must be published). Refused if already on the position.get_candidateGet candidateGETRetrieves a single candidate by ID, scoped to the given company and position, and returns the full candidate profile.list_candidatesList candidatesGETReturns the candidates on a given position within a company, as an array of candidate summaries (id, name, contact info, stage, source, score, resume link, etc.).move_candidateMove candidatePOSTMoves a candidate to a target position and pipeline stage, and returns the updated candidate. `target_position_id` and `target_stage_id` are required.query_company_candidatesQuery company candidatesPOSTFree-text search across every candidate in the company, served by the same search index that powers in-app candidate search.search_candidatesSearch candidatesGETFinds candidates in the company whose email address matches `email_address`, searching company-wide across all positions rather than within a single job.update_candidateUpdate candidatePUTChange a candidate's profile fields (name, email, phone, address, summary, headline, tags, cover letter). Partial update: leave a field out to keep it; other fields are ignored.
Webhook endpoint, 7 operations
create_webhook_endpointCreate webhook endpointPOSTCreates a new webhook endpoint for the company and subscribes it to the specified event types, so matching events are delivered to the given URL as they occur.delete_webhook_endpointDelete webhook endpointDELETEPermanently deletes the specified webhook endpoint so it stops receiving any further event deliveries.get_webhook_endpointGet webhook endpointGETRetrieves a single webhook endpoint's configuration and delivery stats by its ID.list_webhook_endpointsList webhook endpointsGETLists the webhook endpoints configured for the company, along with quota usage.pause_webhook_endpointPause webhook endpointPOSTPauses a webhook endpoint, stopping event deliveries to it, and returns the updated webhook endpoint object.resume_webhook_endpointResume webhook endpointPOSTResumes a paused (or auto-disabled) webhook endpoint, setting it back to active and re-enabling event delivery.update_webhook_endpointUpdate webhook endpointPUTUpdates an existing webhook endpoint and returns the updated resource. Only the fields included in the request body are changed, omitted fields keep their current value.
Custom field, 5 operations
get_candidate_custom_fieldsGet candidate custom fieldsGETReturns the custom field values recorded for a candidate on the specified position, as an array of custom field objects.get_company_custom_fieldsGet company custom fieldsGETReturns the company's custom field definitions for the given `type` (`candidate` or `position`), the field metadata (name, data type, options, etc.) configured at the company.get_position_custom_fieldsGet position custom fieldsGETReturns the custom fields configured on the specified position as an array of field objects.update_candidate_custom_fieldUpdate candidate custom fieldPUTUpdates the value of one custom field on a candidate, identified by the company-level custom field ID.update_position_custom_fieldUpdate position custom fieldPUTSets the value of a single custom field on a position, identified by its custom field ID.
Position, 4 operations
create_positionCreate positionPOSTCreates a new position (job requisition) for the company and returns the newly created position object. `name`, `type`, `description`, and `location.country` are required.get_positionGet positionGETRetrieves a single position by ID, returning its full details.list_positionsList positionsGETList the company's positions (jobs), optionally filtered by state; archived ones are excluded unless asked for. All are returned at once unless page_size is set.update_positionUpdate positionPUTChange a position's fields (title, description, type, department, salary, pipeline...). Partial update: leave a field out to keep its current value. To publish or close it use set_position_state.
Questionnaire, 4 operations
get_candidate_questionnairesGet candidate questionnairesGETReturns the questionnaires sent to this candidate for the given position, including each questionnaire's sections and questions along with the candidate's submitted responses.get_questionnaireGet questionnaireGETRetrieves a single questionnaire belonging to the company by its ID, including its sections and questions (each with its text, type, required flag, and answer options).list_questionnairesList questionnairesGETReturns the list of questionnaires configured for the company. Each item includes the questionnaire's `_id`, `name`, `sections`, `questions`, `message_template`, and `options`.send_candidate_questionnaireSend candidate questionnairePOSTSends an existing questionnaire template to the candidate.
Activity, 2 operations
get_candidate_streamGet candidate streamGETReturns the candidate's activity stream on the position, a chronological array of `StreamActivity` events (e.g. stage moves, notes, interviews, questionnaire activity).get_position_streamGet position streamGETReturns the position's activity stream: a list of state-change events recorded against the position (e.g. transitions between `draft`, `published`, `closed`, and `archived`).
Company, 2 operations
get_companyGet companyGETRetrieves the company identified by `companyId` and returns its public profile: `_id`, `name`, `friendly_id`, `member_count`, `initial`, `creation_date`, and `updated_date`.list_companiesList companiesGETReturns the companies the authenticated user belongs to, as an array of company summary objects.
Custom attribute, 2 operations
get_company_custom_attributesGet company custom attributesGETReturns the custom attribute definitions configured for the company, filtered by entity `type` (`candidate` or `position`).update_candidate_custom_attributeUpdate candidate custom attributePUTSets a custom attribute on a candidate and returns the updated candidate object.
Message, 2 operations
get_candidate_conversationGet candidate conversationGETReturns the candidate's message and activity thread.send_candidate_messageSend candidate messagePOSTSends a message to the candidate within their conversation for this position, delivering it directly to the candidate (e.g. by email).
Pipeline, 2 operations
get_pipelineGet pipelineGETReturns the ordered list of stages that make up the specified pipeline, as an array of stage objects (e.g. `id`, `name`, `icon`), not the full pipeline record (name, dates, etc.).list_pipelinesList pipelinesGETReturns the company's configured hiring pipelines as a JSON object keyed by pipeline name (e.g. `default`, `default_pool`), where each value is a Pipeline object.
Template, 2 operations
get_templateGet templateGETRetrieves a single saved message template for the company by its `templateId`, returning the template's `_id`, `name`, and `body`.list_templatesList templatesGETReturns the list of message templates configured for the company, each item including its `_id`, `name`, and `body`. Returns all templates in a single response (no pagination).
Assessment, 1 operation
get_candidate_assessmentsGet candidate assessmentsGETReturns the candidate's assessment results from integrated pre-employment testing providers (currently HackerRank, Criteria Corp, and Indeed Assessments), including status.
Background check, 1 operation
get_candidate_background_checksGet candidate background checksGETReturns the list of background check results requested for the candidate on this position.
Candidate meta, 1 operation
get_candidate_metaGet candidate metaGETReturns a single aggregated bundle of activity and content for a candidate on a given position: tasks, notes (notepad and team notepad), documents, scorecards, questionnaires.
Candidate stage, 1 operation
set_candidate_stageSet candidate stagePUTMoves the candidate to a different stage in the position's pipeline, identified by `stage_id`.
Category, 1 operation
list_categoriesList categoriesGETReturns the list of position category definitions available to the company, each with an `id` and `name`.
Department, 1 operation
list_departmentsList departmentsGETReturns the list of department definitions configured for the company, each with an `id` and `name`.
Document, 1 operation
get_candidate_documentsGet candidate documentsGETReturns the files stored for the candidate on this position, resumes and other documents uploaded by the candidate or added by recruiters, ordered most recently uploaded first.
Education, 1 operation
update_candidate_educationUpdate candidate educationPUTAdds a new education entry to the candidate's profile and returns the updated Candidate object.
Note, 1 operation
add_candidate_noteAdd candidate notePOSTAdds an internal note to the candidate's activity stream and returns the created stream activity, including the note body and the position/candidate/acting-user context.
Position state, 1 operation
set_position_stateSet position statePUTUpdates the state (lifecycle status) of a position, moving it between `published`, `draft`, `archived`, and `closed`. Returns no content on success.
Questionnaire response, 1 operation
submit_candidate_questionnaireSubmit candidate questionnairePOSTSubmits a candidate's answers to a questionnaire that was sent to them, validates them against the questionnaire's questions, and marks the questionnaire completed.
Scorecard, 1 operation
add_candidate_scorecardAdd candidate scorecardPUTRecords a scorecard rating for the candidate on the specified position, attributed to the authenticated API user.
Team member, 1 operation
get_position_teamGet position teamGETReturns the list of team members assigned to the specified position, including each member's user profile and the role(s) (e.g. recruiter, hiring manager, interviewer) they hold.
User, 1 operation
get_userGet userGETReturns the profile of the currently authenticated user.
User detail, 1 operation
get_user_detailsGet user detailsGETReturns a snapshot of every company the authenticated user belongs to, keyed by each company's `friendly_id`.
Work history, 1 operation
update_candidate_work_historyUpdate candidate work historyPUTAppends a new entry to the candidate's work history and returns the full updated Candidate object. `company_name` is required.
Use Breezy HR from Claude Code, Cursor or Codex
Connect Breezy HR in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Breezy HR operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Breezy HR
- Create your workspace
Sign up free. Nothing to install.
- Connect Breezy HR once
Add your Breezy HR connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Breezy HR integration FAQ
What can you do with the Breezy HR integration?
LiveContext exposes 55 operations on Breezy HR, covering candidate, webhook endpoint, custom field and position.
