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

# Move Recruiterflow candidates to the next stage when they reply

> Move Recruiterflow candidates from Sourced to Phone Screen once they answer your email, and list the ones still silent. Runs daily.

Source: https://cotlet.dev/integrations/recruiterflow-api-mcp-server/advance-candidates-who-replied

Outreach goes out on Monday, replies arrive all week, and every reply means opening the profile or the Kanban board to move that one candidate.

Cotlet does it in your own Recruiterflow account with list\_jobs, list\_job\_candidates, list\_activities and move\_candidate\_stage, called by your AI agent, an n8n workflow or a script.

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

Hosted · nothing to install or maintain

## Can Recruiterflow do this on its own?

Recruiterflow's help center describes three manual ways to change a stage and no rule that moves a candidate when a reply arrives (checked 23 Oct 2026). The official MCP is read-only, so it can show who replied but cannot move anyone, and the REST API needs a key from Recruiterflow support.

## How you do it in Recruiterflow today

1. Open the job from Jobs and switch to Kanban view, where each stage is a column.
2. Open each candidate in Sourced and read the Activity Log tab to see whether an incoming email arrived. The log shows email only when Google or Outlook is connected under Settings > Permissions.
3. Move the candidate in one of three ways: click the stage name on the job card of the profile, drag the card to the next column, or tick several candidates and choose Change Stage from the bulk action bar.
4. If the stage has mandatory fields, a pop-up asks for them, and the move is cancelled until every field is filled.

## How to move Recruiterflow candidates to the next stage when they reply

Prompt

```
In the Senior Backend Engineer job, find candidates in Sourced who replied to our email in the last 3 days and move them to Phone Screen. List the ones who did not reply.
```

1. 01  
### Resolve the job  
list\_jobs finds the job by name. When two open jobs share a title at different clients, the agent lists both and asks, because the same candidate can be on both.
2. 02  
### Take the early stage  
list\_job\_candidates for Sourced returns the candidates with the date they entered it. Candidates added after your cutoff are left alone, because outreach to them has not gone out yet.
3. 03  
### Check for an answer  
list\_activities with type email shows the log for each candidate. A candidate counts as replied only when an incoming email is newer than your outreach. An outgoing email alone is not a reply.
4. 04  
### Move the ones who answered  
move\_candidate\_stage moves each to Phone Screen. A stage that asks for placement details or a disqualification reason is not entered blindly: the call returns what is missing and the agent asks you.
5. 05  
### Report who is silent  
The candidates without a reply stay in Sourced and are listed with the date of your last email to them, ready for the stale-candidate run.

### What you get back

Example data

```
Senior Backend Engineer at Northwind Labs, Sourced: 11
Moved to Phone Screen 4: Priya Nair, Marcus Lee, Elena Rossi, Sam Okafor
No reply yet 7 (last email sent 20 Oct)
Email not visible for 0 candidates
```

### Other ways to ask

- Every morning, move candidates who replied in the last day from Sourced to Phone Screen in all my open jobs.
- Show who replied to the outreach but leave everyone where they are.
- Move candidates from Phone Screen to Interview when the activity log shows a meeting scheduled.

## What Recruiterflow allows, and what to know first

- Stage changes appear in the candidate's activity timeline with the person who made them and the time, so every move your agent makes is attributed to your user.
- Moving a candidate into a Hired stage usually prompts for placement details such as start date and fee, depending on the workspace's placement workflow. Moving into a Rejected stage asks for a disqualification reason.
- Mandatory fields on a stage move are available on the Advanced Plan and Custom Plan. An admin sets them under Settings > Job Settings > Customize Stage Settings.
- Only a move into a stage in the Company Submission category counts as a submission in reports, so a move into an earlier stage does not.
- Stage changes can trigger automations and sequences that admins set up, so a move can start an email to the candidate.

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

Sources: [Recruiterflow Help: How to change a candidate's stage in a job](https://help.recruiterflow.com/en/articles/3753773-how-to-change-a-candidate-s-stage-in-a-job) · [Recruiterflow Help: Setting up mandatory fields on stage movement](https://help.recruiterflow.com/en/articles/11454143-setting-up-mandatory-fields-on-stage-movement-in-recruiterflow) · [Recruiterflow Help: Viewing and logging candidate activity](https://help.recruiterflow.com/en/articles/1241394-viewing-and-logging-candidate-activity-in-recruiterflow)

## Call move\_candidate\_stage from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/recruiterflow/jobs/48213/candidates/771204/stage/move \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"stage":"Phone Screen"}'
```

Example response

```
{
"candidate_id": "771204",
"job_id": "48213",
"from": "Sourced",
"to": "Phone Screen",
"moved_at": "2026-10-23T09:00:00Z",
"moved_by": "Dana Reyes"
}
```

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

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

## Recruiterflow tools this automation uses

__Cotlet Recruiterflow tools used to move Recruiterflow candidates to the next stage when they reply__
| Tool | Parameters |
| ---------------------- | ---------------------------------------- |
| list\_jobs | status, visibility, query, limit, cursor |
| list\_job\_candidates | job\_id, stage, status, limit, cursor |
| list\_activities | candidate\_id, type, since, limit |
| move\_candidate\_stage | job\_id, candidate\_id, stage, fields |

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

## Frequently asked questions

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

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

- [Disqualify stale Recruiterflow candidates with a reason](https://cotlet.dev/integrations/recruiterflow-api-mcp-server/disqualify-stale-candidates.md)
- [Log Recruiterflow call notes and follow-up tasks](https://cotlet.dev/integrations/recruiterflow-api-mcp-server/log-notes-and-follow-up-tasks.md)
- [Recruiterflow API and MCP server: every tool](https://cotlet.dev/integrations/recruiterflow-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Recruiterflow.

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

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

---

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.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

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.
