JazzHR logo JazzHR automation · runs weekly

Reject remaining JazzHR candidates when a job is filled

The offer is accepted and the job is marked Filled, but 40 candidates are still sitting in Review and Interview, and none of them has heard back.

Cotlet does it in your own JazzHR account with list_jobs, list_candidates, bulk_change_status and send_candidate_email, called by your AI agent, an n8n workflow or a script.

Hosted · nothing to install or maintain

Can JazzHR do this on its own?

JazzHR documents bulk change of status and bulk email in the app, and no API call for either (checked 20 Oct 2026). The REST API can list the candidates of a job, but it has no call to update their status and none to send an email. The job status itself cannot be changed through the API either.

How you do it in JazzHR today

  1. A recruiter opens Jobs, picks the job and selects workflow stages, or leaves the stage blank to pull all candidates, then clicks Apply at the bottom.
  2. Clicking Bulk Actions at the top and toggling Change Status to Yes lets the recruiter pick the new status, for a filled job usually a Not Hired disposition.
  3. The decline email is a second pass: templates live in Settings > Templates > Email, and candidates are emailed from the Emails tab of each profile or in bulk.
  4. The repeat is the part that gets missed: every filled job needs the same two passes, and a candidate left in a stage keeps waiting.

How to reject remaining JazzHR candidates when a job is filled

Prompt

For every job that is now Filled, take the candidates still in the pipeline, move them to Not Hired and email each one the decline template. Show me the list before you send.
  1. 01

    Find the filled jobs

    list_jobs runs with status Filled and returns each job with its ID. The agent keeps the jobs you named, or all of them when you did not name one, and skips a job it has already cleaned in this run.

  2. 02

    Read who is still in the pipeline

    list_candidates reads every candidate of the job, following the cursor until it comes back empty. The agent leaves out the candidate who was hired and anyone already in a closing status, so nobody is rejected twice.

  3. 03

    Show the list first

    The agent prints the names, current stages and the template it would send, then waits. If a candidate has a recent note that says to keep them, the agent moves them to your list for a manual decision instead.

  4. 04

    Change the status in one pass

    bulk_change_status moves the whole group in one call, as the Bulk Actions button does. It asks for your OK by default, because the stage change can trigger the workflow helpers on that stage.

  5. 05

    Email the decline

    send_candidate_email sends the template you named to each candidate, one call per person, and confirms each unless you switch confirmation off for it. A candidate without an email on file is listed, not skipped silently.

What you get back

Example data

Filled job: Senior Support Agent (job_20261012_8f3a)
Still in the pipeline: 14 candidates
Moved to Not Hired: 14
Decline template sent: 13
No email on file: 1 (Priya Nair, listed for you)
Kept for you: 0

Other ways to ask

  • Every Friday, do this for all jobs filled this week and send me one summary.
  • Reject only candidates who never got past the first stage, and keep the rest in Silver Medalists for later.
  • Do the same for Cancelled jobs, but send the cancellation template instead of the decline one.
  • Move the group but do not email anyone; I will write the messages myself.

What JazzHR allows, and what to know first

  • JazzHR has six job statuses: Open, On Hold, Drafting, Filled, Cancelled and Closed, and a job in any status other than Open is inactive and does not show on partner job boards.
  • JazzHR's bulk change of status works on the candidates selected for a job after you filter by workflow stage, or on all of them when the stage is left blank.
  • Candidates bulk-moved into a cloned or new job land in the New workflow stage, and workflow helpers attached to New are not run.
  • JazzHR email templates are created under Settings > Templates > Email, and an email can be sent right away, delayed to a set time or saved as a draft.
  • The JazzHR API returns at most 100 results per page, so a large job needs several calls to read.

bulk_change_status and send_candidate_email ask for your OK by default. To run it weekly without you, switch confirmation off for those tools in your dashboard.

Sources: JazzHR Help: Performing Bulk Actions · JazzHR Help: Job Status Overview · JazzHR Help: Using Email Scheduling · JazzHR API reference

Call bulk_change_status from a script

curl

curl -X POST https://cotlet.dev/api/v1/jazzhr/jobs/job_20261012_8f3a/change-status/bulk \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"Not Hired","candidate_ids":["prospect_20261001_c41d","prospect_20261003_72be","prospect_20261004_9a10"]}'

Example response

{
  "job_id": "job_20261012_8f3a",
  "status": "Not Hired",
  "moved": 3,
  "skipped": []
}

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

Schedule it in n8n, Make, Zapier or cron

JazzHR tools this automation uses

Cotlet JazzHR tools used to reject remaining JazzHR candidates when a job is filled
Tool Parameters
list_jobs status, title, department, cursor
list_candidates job_id, stage, name, applied_since, rating, cursor
bulk_change_status job_id, status, candidate_ids
send_candidate_email candidate_id, job_id, template, subject, body, send_at
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.