[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)

# Reject Comeet candidates in bulk with a reason

> Reject Comeet candidates by your own rule, with a disposition reason on each one, and keep borderline cases for yourself. Runs weekly.

Source: https://cotlet.dev/integrations/comeet-api-mcp-server/reject-candidates-with-reason

A position with 80 applicants has a long tail of candidates who will never move, and each rejection needs a status, a last step and a reason picked by hand.

Cotlet does it in your own Comeet account with list\_candidates, get\_candidate and set\_candidate\_status, called by your AI agent, an n8n workflow or a script.

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

Hosted · nothing to install or maintain

## Can Comeet do this on its own?

Recruit rejects one candidate or a hand-picked selection, and a Go/No-go step has one-click rejection (checked 22 Oct 2026). Nothing rejects by a rule or on a schedule. The Recruiting API reference lists no call that changes status, and the beta MCP connection searches only.

## How you do it in Comeet today

1. A recruiter opens the position, opens a candidate profile, clicks In progress and chooses Rejected from the status list.
2. Recruit asks for the last step the candidate completed; at a Go/No Go or Interview step it also asks which participants completed it.
3. A dialog opens where the recruiter picks the rejection reason and adds a note.
4. For many candidates, the recruiter ticks checkboxes, opens the three-dot menu, chooses Set status, then Rejected, picks a Rejection reason and decides who is notified, then clicks Reject.
5. Nothing selects candidates by a rule: the recruiter decides each profile by eye, so the stale ones wait until someone has an hour.

## How to reject Comeet candidates in bulk with a reason

Prompt

```
In the Senior Product Designer position, find candidates still at Application review for more than 14 days. Reject the ones with no portfolio link, with the reason "Incomplete application", and list the rest for me.
```

1. 01  
### Collect the candidates  
Your agent reads the position with list\_candidates, filtered to the step and status in your prompt, and follows next\_cursor until the list ends. Only candidates with status in\_progress are judged.
2. 02  
### Read each profile  
get\_candidate brings the details Recruit shows on the profile, so the agent checks your rule against real fields, for example a portfolio link, instead of the one-line list row.
3. 03  
### Sort into rejected and kept  
Candidates that clearly fail the rule go to rejected with a reason from your list of disposition reasons. A borderline profile stays in progress with a one-line note for you.
4. 04  
### Check the step and the interviews  
Before rejecting, the agent reads the last completed step. If the candidate has a scheduled interview, the agent lists the candidate for you instead, because a rejection cancels future interviews.
5. 05  
### Reject with reason and note  
set\_candidate\_status runs once per candidate with the last step, the reason and a short note. Candidate notification stays off unless your prompt turns it on. Each call asks for your OK by default.

### What you get back

Example data

```
Candidates at Application review for more than 14 days: 31
Rejected 19, reason "Incomplete application" (no portfolio link)
Kept for you 9:
- Lena Ortiz: portfolio link is a private folder
- Sam Okafor: link works, one project
Skipped 3 (interview already scheduled)
Notified: none
```

### Other ways to ask

- Every Friday, reject candidates who have been On hold for more than 30 days and tell me who.
- Reject candidates who did not complete the application questionnaire, and create the notification step so I can review the email.
- Show me who would be rejected by this rule, but change nothing.

## What Comeet allows, and what to know first

- Recruit has five statuses: In progress, On hold, Rejected, Withdrawn and Hired.
- Rejecting or withdrawing needs the last completed step, and at a Go/No Go or Interview step Recruit also asks for the participants who completed it.
- Changing a candidate from In progress to Rejected cancels future scheduled interviews, and the recruiter has to inform the candidate.
- Disposition reasons are optional by default; an Owner or Admin can make them required under Settings > Data > Disposition reasons.
- At position level, recruiters, recruiting coordinators, hiring managers, managers and recruiting assistants can change status; interviewers and viewers cannot.

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

Sources: [Recruit Help: Change candidate status](https://recruit-support.sparkhire.com/hc/en-us/articles/40045073841179-Change-candidate-status) · [Recruit Help: Manage multiple candidates](https://recruit-support.sparkhire.com/hc/en-us/articles/40045064475419-Manage-multiple-candidates) · [Recruit Help: Manage disposition reasons](https://recruit-support.sparkhire.com/hc/en-us/articles/40045064960539-Manage-disposition-reasons)

## Call set\_candidate\_status from a script

curl

```
curl -X PUT https://cotlet.dev/api/v1/comeet/candidates/cand_7d21a9/status \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"rejected","last_step":"Application review","reason":"Incomplete application","note":"No portfolio link in the application."}'
```

Example response

```
{
"candidate_id": "cand_7d21a9",
"name": "Noah Kim",
"position": "Senior Product Designer",
"status": "rejected",
"last_step": "Application review",
"reason": "Incomplete application",
"note": "No portfolio link in the application.",
"notified": "none",
"cancelled_interviews": 0
}
```

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

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

## Comeet tools this automation uses

__Cotlet Comeet tools used to reject Comeet candidates in bulk with a reason__
| Tool | Parameters |
| ---------------------- | -------------------------------------------------------------------------------------------------------------- |
| list\_candidates | position\_id, status, step, step\_type, assignee, tag, limit, cursor |
| get\_candidate | candidate\_id |
| set\_candidate\_status | candidate\_id, status, last\_step, completed\_by, reason, note, notify, opening, application\_date, first\_day |

[All 12 Comeet tools with descriptions](https://cotlet.dev/integrations/comeet-api-mcp-server.md#tools)

## Frequently asked questions

### Does the candidate get an email?

Only if you ask for one. The call has a notify setting, and it is none by default, so the candidate hears nothing until you choose to create a notification step or send a message.

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

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

- [Invite Comeet candidates to pick their own interview time](https://cotlet.dev/integrations/comeet-api-mcp-server/invite-candidates-to-self-schedule.md)
- [Chase pending Go/No-go decisions in Comeet](https://cotlet.dev/integrations/comeet-api-mcp-server/chase-go-no-go-decisions.md)
- [Comeet API and MCP server: every tool](https://cotlet.dev/integrations/comeet-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Comeet.

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

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

---

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.
