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

# Create JazzHR follow-up tasks for candidates

> Find JazzHR candidates who reached a stage without a follow-up and create a due-dated task for the hiring lead, daily, with email notice.

Source: https://cotlet.dev/integrations/jazzhr-api-mcp-server/create-follow-up-tasks-for-candidates

A candidate reaches Interview, the interviewer is told once, and two weeks later nobody has sent feedback because no task was ever created.

Cotlet does it in your own JazzHR account with list\_candidates, list\_tasks and create\_task, called by your AI agent, an n8n workflow or a script.

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

Hosted · nothing to install or maintain

## Can JazzHR do this on its own?

The JazzHR REST API can list and read tasks and has no call to create one (checked 20 Oct 2026). Workflow helpers create the same task for every candidate who enters a stage, and nothing in the product creates it by a rule on the candidate.

## How you do it in JazzHR today

1. A recruiter creates a task from the Dashboard through the down-arrow next to Create A Job and Create Task, or from a profile through the green plus sign in the All Tasks section.
2. Choosing Notify by email sends the assignee an email that includes a Go to Candidate button.
3. The repeatable version is a workflow helper: under Settings > Workflows a stage gets an Add Task helper with a title, notes and an Assign To person.
4. A helper fires for every candidate on that stage, so a task for only some candidates, or with a due date the helper cannot compute, is still made by hand.

## How to create JazzHR follow-up tasks for candidates

Prompt

```
For every candidate who reached Interview this week with no task on their profile, create a task for the hiring lead due in two days: "Send interview feedback", and notify by email.
```

1. 01  
### Find who needs a task  
list\_candidates reads the candidates of the job in the stage you named. The agent keeps those who moved there inside your window and drops anyone already in a closing status.
2. 02  
### Check what already exists  
list\_tasks reads the task list. A candidate who already has an open task with the same title is skipped, so running the job twice does not double up.
3. 03  
### Pick the assignee  
The task goes to the person you named, for example the hiring lead on the job. If the name does not match a user, the agent stops and asks instead of guessing.
4. 04  
### Create the task  
create\_task adds the title, notes and due date to the candidate. With notify\_by\_email on, the assignee gets an email, so each call asks for your OK by default.
5. 05  
### Report what was created  
The agent lists each task with its candidate, assignee and due date, plus the candidates it skipped and why.

### What you get back

Example data

```
Candidates in Interview since Monday: 7
Tasks created: 5, assigned to Maria Costa, due in 2 days
Skipped, task already exists: 2
Email notice sent: 5
```

### Other ways to ask

- Create a task for the recruiter to send the rejection email 3 days after a candidate lands in Not Hired.
- Every Monday, create one task per Open job: "Review sources and refresh the posting".
- List the candidates who would get a task, but create nothing.

## What JazzHR allows, and what to know first

- A JazzHR task can be created from the Dashboard, a candidate profile or the Jobs page.
- The Notify by email option sends the assignee an email, and the notice includes a Go to Candidate button for that profile.
- Workflow helpers can add a task with a title, notes and an Assign To person when a candidate enters a stage.
- The JazzHR API only reads tasks, so any task made by an agent goes through the signed-in app.

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

Sources: [JazzHR Help: Creating and Managing Tasks](https://success.jazzhr.com/hc/en-us/articles/223165428-Creating-and-Managing-Tasks) · [JazzHR Help: Add and Use Workflow Helpers](https://success.jazzhr.com/hc/en-us/articles/224592687-Add-and-Use-Workflow-Helpers) · [JazzHR API reference](https://www.resumatorapi.com/v1/)

## Call create\_task from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/jazzhr/candidates/prospect_20261016_77ad/tasks \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Send interview feedback","assign_to":"Maria Costa","due_date":"2026-10-22","notify_by_email":true}'
```

Example response

```
{
"task_id": "task_20261020_c17",
"candidate_id": "prospect_20261016_77ad",
"title": "Send interview feedback",
"assigned_to": "Maria Costa",
"due_date": "2026-10-22",
"notified": true
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is jazzhr\_write → create\_task. Example data.

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

## JazzHR tools this automation uses

__Cotlet JazzHR tools used to create JazzHR follow-up tasks for candidates__
| Tool | Parameters |
| ---------------- | --------------------------------------------------------------------- |
| list\_candidates | job\_id, stage, name, applied\_since, rating, cursor |
| list\_tasks | status, from\_date, to\_date, cursor |
| create\_task | candidate\_id, title, assign\_to, due\_date, notes, notify\_by\_email |

[All 13 JazzHR tools with descriptions](https://cotlet.dev/integrations/jazzhr-api-mcp-server.md#tools)

## 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.

## More JazzHR automations

- [Reject remaining JazzHR candidates when a job is filled](https://cotlet.dev/integrations/jazzhr-api-mcp-server/reject-candidates-when-job-filled.md)
- [Advance JazzHR applicants by your screening rules](https://cotlet.dev/integrations/jazzhr-api-mcp-server/advance-applicants-by-screening-rules.md)
- [JazzHR API and MCP server: every tool](https://cotlet.dev/integrations/jazzhr-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## 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.

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

---

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.
