# Habitica

> Manage your Habitica tasks from a workflow: list habits, dailies, to-dos, and rewards, create new ones, score them up or down to earn XP and gold, delete them, and read your character's current stats.

App · To-Do Lists · 5 actions. Web page: https://docs.lodol.com/docs/integrations/habitica

## Actions

### Create Habitica task

Create a habit, daily, to-do, or reward on your Habitica account. Use this to turn something from another app (a new ticket, a calendar event, an email) into a task worth XP.

**Inputs**

- Task type (`task_type`, text, required): What kind of task to create. A to-do is done once, a daily repeats on a schedule, a habit can be scored any number of times, and a reward is something you buy with the gold you earn. One of: `todo` (To-Do), `daily`, `habit`, `reward`.
- Text (`text`, text, required): The task's title, shown in the Habitica task list.
- Notes (`notes`, text): Optional longer description shown under the title.
- Difficulty (`difficulty`, text): How much the task is worth when scored. Defaults to easy, which is Habitica's own default. One of: `trivial`, `easy`, `medium`, `hard`.
- Due date (`due_date`, date): Due date for a to-do, YYYY-MM-DD. Habitica only allows this on to-dos, so leave it blank for other types.

**Outputs**

- `task` (object)

**Example output**

```json
{
  "task": {
    "alias": null,
    "checklist": [
      {
        "completed": true,
        "id": "91edadda-fb62-4e6e-b110-aff26f936678",
        "text": "Collect release notes"
      }
    ],
    "completed": false,
    "created_at": "2026-01-28T02:11:02.876Z",
    "difficulty": "medium",
    "due_date": "2026-01-30T00:00:00.000Z",
    "id": "829d435b-edc4-498c-a30e-e52361a0f35a",
    "notes": "Covers everything shipped since Monday.",
    "priority": 1.5,
    "streak": null,
    "tags": [
      "ed427623-9a69-4aac-9852-13deb9c190c3"
    ],
    "text": "Write the weekly update",
    "type": "todo",
    "updated_at": "2026-01-28T02:11:02.876Z",
    "value": -1.2
  }
}
```

### Delete Habitica task

Delete a task from your Habitica account. This cannot be undone, and a task that belongs to a challenge or a group cannot be deleted this way.

**Inputs**

- Task ID (`task_id`, text, required): The task's id. You can get this from the List Habitica tasks or Create Habitica task action.

**Outputs**: None.

**Example output**

```json
{}
```

### Get Habitica profile

Get the connected character's display name and current stats: health, mana, experience, gold, level, and class. Useful for posting a daily status or checking health before a workflow scores anything.

**Inputs**: None.

**Outputs**

- `profile` (object)
- `stats` (object)

**Example output**

```json
{
  "profile": {
    "blurb": "Shipping one small thing a day.",
    "id": "b0413351-405f-416f-8787-947ec1c85199",
    "image_url": null,
    "name": "Ada"
  },
  "stats": {
    "character_class": "rogue",
    "constitution": 3,
    "exp": 101.94,
    "gp": 77.1,
    "hp": 49.07,
    "intelligence": 3,
    "level": 19,
    "mp": 37.2,
    "perception": 8,
    "strength": 5,
    "unallocated_points": 0
  }
}
```

### List Habitica tasks

List the tasks on your Habitica account (habits, dailies, todos, and rewards) with their difficulty, streak, and checklist. Optionally narrow it to one kind.

**Inputs**

- Task type (`task_type`, text): Which kind of task to return. Leave blank for every kind except completed todos, which Habitica only returns when asked for by name. One of: `habits`, `dailys` (Dailies), `todos` (To-Dos (open)), `rewards`, `completedTodos` (To-Dos (30 most recently completed)).

**Outputs**

- `count` (number): Number of tasks returned.
- `tasks` (list): The matching tasks.

**Example output**

```json
{
  "count": 1,
  "tasks": [
    {
      "alias": null,
      "checklist": [
        {
          "completed": true,
          "id": "91edadda-fb62-4e6e-b110-aff26f936678",
          "text": "Collect release notes"
        }
      ],
      "completed": false,
      "created_at": "2026-01-28T02:11:02.876Z",
      "difficulty": "medium",
      "due_date": "2026-01-30T00:00:00.000Z",
      "id": "829d435b-edc4-498c-a30e-e52361a0f35a",
      "notes": "Covers everything shipped since Monday.",
      "priority": 1.5,
      "streak": null,
      "tags": [
        "ed427623-9a69-4aac-9852-13deb9c190c3"
      ],
      "text": "Write the weekly update",
      "type": "todo",
      "updated_at": "2026-01-28T02:11:02.876Z",
      "value": -1.2
    }
  ]
}
```

### Score Habitica task

Score a task up or down. Scoring up completes a to-do or daily, or marks a good habit; scoring down marks a bad habit or undoes a completion. Returns what it did to your character, including any item that dropped.

**Inputs**

- Task ID (`task_id`, text, required): The task's id. You can get this from the List Habitica tasks or Create Habitica task action.
- Direction (`direction`, text): Which way to score. Defaults to up, which is what completing something means. One of: `up` (Up (complete or reinforce)), `down` (Down (slip up or undo)).

**Outputs**

- `delta` (number): How much the task's own value moved. Positive when scored up, negative when scored down.
- `drop` (object): The item Habitica awarded for this score, if any. Null most of the time: drops are occasional.
- `stats` (object)

**Example output**

```json
{
  "delta": 0.97,
  "drop": {
    "key": "RottenMeat",
    "text": "You've found Rotten Meat!",
    "type": "Food"
  },
  "stats": {
    "character_class": "rogue",
    "constitution": 3,
    "exp": 101.94,
    "gp": 77.1,
    "hp": 49.07,
    "intelligence": 3,
    "level": 19,
    "mp": 37.2,
    "perception": 8,
    "strength": 5,
    "unallocated_points": 0
  }
}
```
