JazzHR logo JazzHR automation · runs daily

Advance JazzHR applicants by your screening rules

New applicants pile up in the first stage overnight, and someone reads each resume and questionnaire answer before dragging the good ones forward.

Cotlet does it in your own JazzHR account with list_candidates, get_candidate, change_candidate_status and add_candidate_note, called by your AI agent, an n8n workflow or a script.

Hosted · nothing to install or maintain

Can JazzHR do this on its own?

The JazzHR REST API can list applicants of a job and read their questionnaire answers, and it can add a note (checked 20 Oct 2026). It has no call to move an applicant to another workflow stage, so the decision part stays manual.

How you do it in JazzHR today

  1. A recruiter opens the job from Jobs and selects the workflow stage to see its candidates, then opens each candidate profile to read the resume and answers.
  2. To move one candidate, the recruiter uses the status controls in the profile; to move many, Bulk Actions with Change Status set to Yes.
  3. Moving a candidate into a stage can fire that stage's workflow helpers, which JazzHR sets up under Settings > Workflows, such as an email or a task.
  4. The reason for each decision lives in the recruiter's head unless they type it in as a note, and notes in JazzHR are tied to one job.

How to advance JazzHR applicants by your screening rules

Prompt

Go through new applicants for Senior Support Agent. Move anyone with 3+ years of support experience and a US work authorization answer to Phone Screen, and leave a note with the reason. Leave the rest for me.
  1. 01

    Read the new stage

    list_candidates runs with the job and the first workflow stage, following the cursor, and keeps only applicants added since the last run so a daily job does not re-judge the same people.

  2. 02

    Open the profile

    get_candidate returns the questionnaire answers, source and rating for each applicant. The agent matches them against your rule and quotes the answer it used, so you can see why someone passed.

  3. 03

    Split into three groups

    Clear matches go forward, clear mismatches stay where they are for you to reject, and anything unclear is listed with a reason. The agent never rejects on its own in this job.

  4. 04

    Move and explain

    change_candidate_status moves each match to the stage you named, and add_candidate_note writes the one-line reason on the same candidate. The move asks for your OK by default, since a stage can send an email through its workflow helpers.

  5. 05

    Stop on a changed profile

    Before moving, the agent reads the candidate again. If a colleague already moved them, it logs that and leaves the candidate alone.

What you get back

Example data

New applicants since yesterday: 18
Moved to Phone Screen: 6 (e.g. Dana Whitfield: 5 years in support, US authorized)
Left for you: 9
Unclear: 3 (work authorization answer blank)
Notes added: 6

Other ways to ask

  • Every morning at 8, do this for all Open jobs in the Support department.
  • Move candidates rated 4 or higher straight to Interview and tell me who they are.
  • Do not move anyone: list the applicants who fit and quote their answers.

What JazzHR allows, and what to know first

  • JazzHR candidates move through the workflow stages of the job's workflow, and workflow helpers on a stage can send emails, add tasks or move the candidate on.
  • JazzHR notes are job-specific: notes made on one job do not carry over when the candidate is added to another job.
  • The JazzHR API lists applicants with filters for job, status, rating and apply date, 100 to a page.
  • JazzHR candidates carry a rating, and the API can filter applicants by it.

change_candidate_status and add_candidate_note ask for your OK by default. To run it daily without you, switch confirmation off for those tools in your dashboard.

Sources: JazzHR API reference · JazzHR Help: Performing Bulk Actions · JazzHR Help: Candidate Profile Overview · JazzHR Help: Add and Use Workflow Helpers

Call change_candidate_status from a script

curl

curl -X PATCH https://cotlet.dev/api/v1/jazzhr/jobs/job_20261012_8f3a/candidates/prospect_20261019_5e2c/status \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"Phone Screen"}'

Example response

{
  "candidate_id": "prospect_20261019_5e2c",
  "job_id": "job_20261012_8f3a",
  "previous_stage": "New",
  "stage": "Phone Screen"
}

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is jazzhr_write → change_candidate_status. Example data.

Schedule it in n8n, Make, Zapier or cron

JazzHR tools this automation uses

Cotlet JazzHR tools used to advance JazzHR applicants by your screening rules
Tool Parameters
list_candidates job_id, stage, name, applied_since, rating, cursor
get_candidate candidate_id, job_id
change_candidate_status candidate_id, job_id, status
add_candidate_note candidate_id, job_id, text
All 13 JazzHR tools with descriptions

Frequently asked questions

Is it safe to connect JazzHR to Cotlet?

Yes. You sign in to JazzHR yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get JazzHR once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

Give your agent access to JazzHR.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with JazzHR.