[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 Habitica dailies from a list

> Turn a plain list into Habitica dailies with due days, skipping duplicates. From Claude Code, n8n or a script. Hosted, nothing to maintain.

Source: https://cotlet.dev/integrations/habitica-api-mcp-server/create-recurring-tasks-from-a-list

You start a new routine with twelve items. Habitica takes them one at a time: open the new task form, type the name, set the repeat days, save, and do it eleven more times.

Cotlet does it in your own Habitica account with 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=habitica) [All Habitica tools](https://cotlet.dev/integrations/habitica-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Habitica do this on its own?

Habitica has no import for a list of tasks in the app, and its REST API creates tasks one request at a time (checked 17 Oct 2026). The API does the job if you write the script, send your user ID and token and add the X-Client header. There is no MCP server, so an agent cannot do it from a plain sentence.

## How you do it in Habitica today

1. You open the Tasks page and choose Add Task in the Dailies column.
2. You type the title and, if you want, notes, difficulty and tags.
3. In the Repeat field you pick Daily, Weekly, Monthly or Yearly and, for weekly, the days of the week the Daily is due.
4. You set a Start Date if the Daily should not be due yet. Before that date it is not due and does not damage you.
5. You save the task and repeat the form for the next item.
6. Nothing warns you when a new item duplicates one you made last month, so lists drift into double entries.

## How to create Habitica dailies from a list

Prompt

```
Add these as Habitica dailies: stretch 10 minutes, review inbox, water the plants. Make "water the plants" due only on Sundays. Set stretch to easy and skip any that already exist.
```

1. 01  
### Read what exists  
list\_tasks runs once with type daily, so titles you already have are known before anything is created.
2. 02  
### Parse the list  
Each line becomes a title. Words like "only on Sundays" or "every other day" are turned into the repeat fields. A line the agent cannot map is asked about, not guessed.
3. 03  
### Skip duplicates  
A title that matches an existing daily, ignoring case, is left out and reported.
4. 04  
### Create each daily  
create\_task is called per item with type daily, the due days and the difficulty. It writes only to your own account, so it does not ask for OK, and every created task can be removed in Habitica.
5. 05  
### Report  
The agent lists what it created, what it skipped and why, and any line it left for you.

### What you get back

Example data

```
Read 3 lines.
Created 2 dailies:
- Stretch 10 minutes, easy, every day
- Water the plants, Sundays only
Skipped 1:
- Review inbox (a daily with that title already exists)
```

### Other ways to ask

- Add these as to-dos with a due date of Friday and the tag "home".
- Create the same five dailies from this table of titles and due days, and write nothing if one is unclear.
- Every Monday, add this week's routine from my notes as to-dos.

## What Habitica allows, and what to know first

- A Daily that is due and not checked off by midnight, or by your Custom Day Start, costs health points and resets its streak.
- A Daily's repeat can be daily, weekly, monthly or yearly, or every X days, weeks, months or years.
- A Daily with a future Start Date is not due and does not damage you until that date.
- The Start Date also fixes the day of the month a monthly Daily repeats on.
- Third-party tools may make 30 requests per minute per user, so a long list is created over several minutes.

create\_task changes only your own Habitica data and reach no one else, so it runs without asking first.

Sources: [Habitica Wiki: Dailies](https://habitica.fandom.com/wiki/Dailies) · [Habitica Wiki: Custom Day Start](https://habitica.fandom.com/wiki/Custom%5FDay%5FStart) · [Habitica GitHub wiki: API Usage Guidelines](https://github.com/HabitRPG/habitica/wiki/API-Usage-Guidelines)

## Call create\_task from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/habitica/tasks \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"daily","text":"Water the plants","difficulty":"easy","repeat_days":["su"]}'
```

Example response

```
{
"task_id": "9d2a7e44-1c6b-4f58-a0e3-7b8c1d2f3a55",
"type": "daily",
"title": "Water the plants",
"difficulty": "easy",
"repeat_days": [
"su"
]
}
```

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

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

## Habitica tools this automation uses

__Cotlet Habitica tools used to create Habitica dailies from a list__
| Tool | Parameters |
| ------------ | ------------------------------------------------------ |
| list\_tasks | type, tag |
| create\_task | type, text, notes, difficulty, repeat\_days, due, tags |

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

## Frequently asked questions

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

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

- [Check off done Habitica dailies from your notes](https://cotlet.dev/integrations/habitica-api-mcp-server/check-off-done-dailies.md)
- [Start a Habitica party quest on a schedule](https://cotlet.dev/integrations/habitica-api-mcp-server/start-party-quest-on-schedule.md)
- [Habitica API and MCP server: every tool](https://cotlet.dev/integrations/habitica-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Habitica.

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

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

---

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.
