[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Disqualify unqualified Homerun candidates in bulk

> Disqualify Homerun candidates whose answers fail your criteria, with the right reason and a choice to email or stay silent. Runs daily.

Source: https://cotlet.dev/integrations/homerun-api-mcp-server/disqualify-candidates-in-bulk

Every new job post fills the Application stage with people who clearly do not fit, and each one needs a profile opened, a reason picked and a notification choice made before the list gets short enough to review.

Cotlet does it in your own Homerun account with list\_candidates, get\_candidate, list\_disqualification\_reasons and disqualify\_candidate, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=homerun) [All Homerun tools](https://cotlet.dev/integrations/homerun-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Homerun do this on its own?

Homerun can disqualify by hand or by bulk selection in the app, and knockout questions can disqualify automatically (checked 22 Oct 2026). Its Public API returns a candidate's disqualification reason, but the docs list no action that sets one. Nothing in Homerun reads the free-text answers and decides.

## How you do it in Homerun today

1. Open Jobs in the sidebar, pick the job and choose Candidates in the top menu bar, then open a candidate to read their profile and application answers.
2. Click the Disqualify icon (a forbidden sign) in the profile task bar and choose a reason, such as Too junior or No relevant experience.
3. Decide how to notify the candidate: by email with a template, by creating a to-do, or with Do not notify, then click Send, Create or Done.
4. For many candidates, switch to the list view, tick the checkboxes and click the Disqualify icon in the bottom task bar, which applies one reason to all of them.
5. Disqualified candidates leave the list of all candidates for the job and show only in Table view, so a wrong click is easy to miss.

## How to disqualify unqualified Homerun candidates in bulk

Prompt

```
Go through the candidates in the Application stage of Customer Success Manager. Disqualify the ones whose answers show no relevant experience, without emailing them, and leave every unclear one for me with a one-line reason.
```

1. 01  
### Read the stage  
list\_candidates runs for the job with stage set to Application and returns each candidate with their stage, origin and tags. Candidates already disqualified are left out, so a repeat run never judges the same person twice.
2. 02  
### Read each application  
get\_candidate brings the contact details, the answers to the application form, the ratings and the notes. The decision rests on those answers and not on the name or the CV file name.
3. 03  
### Match your criteria  
Each candidate is compared with the rule in your prompt. The agent quotes the answer it relied on, so you can see why each person was picked.
4. 04  
### Pick a real reason  
list\_disqualification\_reasons runs once, and the closest of your reasons is used. A reason your account does not have is reported, never made up, because adding reasons is an account setting you keep.
5. 05  
### Disqualify quietly  
disqualify\_candidate runs with notify set to none unless you asked for an email. Each call waits for your OK until you switch confirmation off for it, because an email to a candidate cannot be taken back.
6. 06  
### Leave the unclear  
Candidates whose answers are empty, mixed or in another language stay in the stage with a one-line note for you, so the shortlist you review is already clean.

### What you get back

Example data

```
Candidates in Application: 22
Disqualified 13, no email (reason: No relevant experience)
Left for you 9:
- Dana Whitfield: answered 2 of 5 questions
- Omar Haddad: experience in a neighbouring field
Already disqualified by a colleague: 0
```

### Other ways to ask

- Every morning, disqualify candidates who answered No to the work permit question and tell them by email with my standard template.
- Show me which candidates in Application I would disqualify, as a table with the reason, and change nothing.
- Disqualify everyone who asks for a salary above the range in the job post, reason Salary expectation too high.
- Find candidates I disqualified last week for Perhaps in the future and list them so I can reconsider.

## What Homerun allows, and what to know first

- Homerun ships these reasons: Too junior, Too senior, No relevant experience, Position was filled, Position was put on hold, Perhaps in the future, Salary expectation too high, Accepted another offer, Stopped responding or didn't show, Not willing to relocate.
- The disqualification reason is not shared with the candidate, so a rejection email says only what you write in it.
- A disqualified candidate can be re-qualified, which puts them back in the stage they were in before.
- Disqualified candidates are hidden from the Kanban view and visible in Table view only.
- Homerun can also disqualify automatically with knockout questions on the application form; this job covers the answers such a rule cannot judge.

disqualify\_candidate asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.

Sources: [Homerun Help: How to disqualify candidates](https://help.homerun.co/en/articles/3112381-how-to-disqualify-candidates) · [Homerun Help: How to add a new disqualification reason](https://help.homerun.co/en/articles/3171308-how-to-add-a-new-disqualification-reason) · [Homerun Help: How to re-qualify candidates](https://help.homerun.co/en/articles/3116008-how-to-re-qualify-candidates) · [Homerun Public API documentation](https://developers.homerun.co/)

## Call disqualify\_candidate from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/homerun/jobs/job_3b7e91/candidates/ap_N4pQ8sT2vX6zB1cD3eF5/disqualify \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"reason":"No relevant experience","notify":"none"}'
```

Example response

```
{
"candidate_id": "ap_N4pQ8sT2vX6zB1cD3eF5",
"status": "disqualified",
"reason": "No relevant experience",
"notified": "none",
"stage_before": "Application"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is homerun\_write → disqualify\_candidate. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/homerun-api-mcp-server.md#automations)

## Homerun tools this automation uses

__Cotlet Homerun tools used to disqualify unqualified Homerun candidates in bulk__
| Tool | Parameters |
| ------------------------------- | --------------------------------------------------- |
| list\_candidates | job\_id, stage, tag, status |
| get\_candidate | job\_id, candidate\_id |
| list\_disqualification\_reasons | none |
| disqualify\_candidate | job\_id, candidate\_id, reason, notify, email\_body |

[All 14 Homerun tools with descriptions](https://cotlet.dev/integrations/homerun-api-mcp-server.md#tools)

## Frequently asked questions

### Will the candidate be told why they were disqualified?

No. Homerun does not share the disqualification reason with the candidate. They hear only from an email, and only when you choose to send one.

### Is it safe to connect Homerun to Cotlet?

Yes. You sign in to Homerun yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Homerun 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.

## More Homerun automations

- [Reply to new Homerun applicants on time](https://cotlet.dev/integrations/homerun-api-mcp-server/reply-to-new-applicants.md)
- [Close Homerun jobs when they have enough applicants](https://cotlet.dev/integrations/homerun-api-mcp-server/close-jobs-with-enough-applicants.md)
- [Homerun API and MCP server: every tool](https://cotlet.dev/integrations/homerun-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Homerun.

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

[Sign up free](https://cotlet.dev/app/signup?app=homerun)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
