Services
IntelliKeep provides the Home Assistant actions below. You can call them from automations, scripts, or Settings → Tools → Actions (Developer tools → Actions in older Home Assistant versions).
Task IDs appear in the attributes of the sensors, in the events and in diagnostics.
intellikeep.create_task
Create a new task.
action: intellikeep.create_task
data:
name: Replace HVAC filter
icon: mdi:air-filter
priority: high
frequency: monthly
repeat_interval: 3
schedule_anchor: due_date
due_date: "2026-12-01T09:00:00"
linked_entity_ids:
- area:living_room # link to an area
- device:abc123def456 # or a specific device ID
notify_days_before: 3
notify_on_overdue: true
| Field | Required | Default | Description |
|---|---|---|---|
name | Yes | — | Task name |
description | No | — | Free-text description |
icon | No | mdi:wrench-outline | Icon shown next to the task, e.g. mdi:air-filter |
priority | No | medium | low, medium, high or critical |
frequency | No | one_time | one_time, daily, weekly, monthly or yearly. For recurring tasks, it is the unit of repeat_interval |
repeat_interval | No | 1 | Repeats every N days, weeks, months or years (1–3650) |
schedule_anchor | No | completion | What the next due date is counted from: completion or due_date. See Recurring tasks |
weekdays | No | — | For weekly tasks: the days it repeats on, from mon to sun, e.g. [mon, wed, fri] |
due_date | No | — | ISO 8601 date and time. Without a UTC offset, it is read in Home Assistant's time zone. Midnight makes the task all day |
linked_entity_ids | No | — | Areas (area:<area_id>) and devices (device:<device_id>) to link the task to |
notify_days_before | No | Integration default | Days before the due date to send a reminder (0–365) |
notify_on_overdue | No | true | Send a notification when the task becomes overdue |
Examples
A weekly task on specific days. The next occurrence is always the next selected day, at the same time, so the schedule doesn't drift when a task is completed late:
action: intellikeep.create_task
data:
name: Take out the garbage
icon: mdi:trash-can-outline
frequency: weekly
weekdays: [mon, wed, fri]
due_date: "2026-11-09T07:00:00"
A task every 10 days, counted from each completion:
action: intellikeep.create_task
data:
name: Clean the coffee machine
frequency: daily
repeat_interval: 10
:::note Legacy custom frequency
frequency: custom with custom_days_interval from versions before 2.0 still works. It is stored as frequency: daily with that repeat_interval.
:::
intellikeep.complete_task
Mark a task as done and record a completion. For recurring tasks, the next occurrence is created.
action: intellikeep.complete_task
data:
task_id: "<task_id>"
completed_by: "Henrique"
notes: "Replaced with a MERV-13 filter."
| Field | Required | Description |
|---|---|---|
task_id | Yes | ID of the task to complete |
completed_by | No | Name of who completed the task, shown in the history |
notes | No | Completion notes |
intellikeep.reopen_task
Reopen a completed task, setting it back to open. The completion is undone: its record leaves the history, and for a recurring task the next occurrence it created is removed, unless it was already edited, noted or completed.
action: intellikeep.reopen_task
data:
task_id: "<task_id>"
performed_by: "Henrique"
| Field | Required | Description |
|---|---|---|
task_id | Yes | ID of the task to reopen |
performed_by | No | Name of who reopened the task, shown in the activity log |
intellikeep.update_task
Update fields of an existing task. Only the fields you send are changed, and the change is recorded in the task's activity log.
action: intellikeep.update_task
data:
task_id: "<task_id>"
priority: critical
due_date: "2026-12-15T09:00:00"
updated_by: "Henrique"
Accepts the same fields as create_task, plus:
| Field | Required | Description |
|---|---|---|
task_id | Yes | ID of the task to update |
enabled | No | false closes the task without recording a completion, true opens it again. To complete a task, use complete_task |
updated_by | No | Name of who made the change, shown in the activity log |
intellikeep.delete_task
Permanently delete a task, with its notes and history.
action: intellikeep.delete_task
data:
task_id: "<task_id>"
| Field | Required | Description |
|---|---|---|
task_id | Yes | ID of the task to delete |
intellikeep.add_task_note
Add a timestamped note to a task.
action: intellikeep.add_task_note
data:
task_id: "<task_id>"
content: "Noticed some wear on the belt. Check again next month."
added_by: "Henrique"
| Field | Required | Description |
|---|---|---|
task_id | Yes | ID of the task to add the note to |
content | Yes | Text of the note |
added_by | No | Name of who added the note |
intellikeep.delete_task_note
Delete a note from a task.
action: intellikeep.delete_task_note
data:
task_id: "<task_id>"
note_id: "<note_id>"
| Field | Required | Description |
|---|---|---|
task_id | Yes | ID of the task that owns the note |
note_id | Yes | ID of the note to delete |
intellikeep.load_sample_data
Add a set of sample home maintenance tasks, with icons. Useful for exploring the panel after a fresh install.
action: intellikeep.load_sample_data
intellikeep.delete_all_data
Permanently delete every task, note and completion record. Only admin users can call this action.
action: intellikeep.delete_all_data
This action can't be undone. All task data is permanently removed.
To-do actions
The to-do list also accepts Home Assistant's todo.* actions, such as todo.add_item, todo.update_item and todo.remove_item, on todo.intellikeep_tasks.