anytype-todo is a Home Assistant custom integration that syncs checklist items from one Anytype object into Home Assistant Todo entities.
- Connects to the local Anytype API or Anytype CLI (default host:
http://localhost:31009) - Reads one Anytype object (configured via object URL)
- Parses markdown checklist sections in that object
- Exposes each checklist section as a Home Assistant Todo list entity
- Syncs create, update, and delete operations from Home Assistant back to Anytype
- Polls Anytype regularly to reflect changes made outside Home Assistant
This integration currently provides the todo platform only.
- Home Assistant
2023.1.0or newer (HACS metadata minimum) - Anytype desktop app with API access
- A valid Anytype API key
- A target Anytype object URL that includes
spaceId
- Open HACS.
- Go to Integrations.
- Open the menu in the top right and choose Custom repositories.
- Add
https://github.com/Encotric/hass-anytype-todoas categoryIntegration. - Install
Anytype ToDo Lists. - Restart Home Assistant.
- Copy the folder
custom_components/anytype_todofrom this repository to your Home Assistantcustom_componentsdirectory. - Keep the folder name as
anytype_todo. - Restart Home Assistant.
- Go to Settings -> Devices & Services -> Add Integration.
- Search for
Anytype. - Enter:
API KeyHost URL(optional, defaults tohttp://localhost:31009)Object URL(required)
- Submit.
If validation succeeds, the integration creates Todo entities based on the selected object's markdown content.
The object URL must contain both:
- object id in the path
spaceIdquery parameter
Example shape:
https://your.anytype/object_id_here?spaceId=space_id_here
Inside the configured Anytype object, checklist content is interpreted as follows:
- A heading starts a Todo list section.
- Checklist items under that section (
- [ ] task,- [x] done) become Todo items. - Each heading becomes a separate Home Assistant Todo entity.
If no valid heading + checklist structure exists, no usable Todo list entities are created.
After setup, use standard Home Assistant Todo services:
todo.add_itemtodo.update_itemtodo.remove_item
- Ensure Anytype desktop app is running.
- Verify the API host is reachable (default
http://localhost:31009). - Recreate API key and retry setup.
- Confirm URL includes
spaceId. - Confirm the object id in the path is valid for the same space.
- Ensure the object contains markdown headings followed by checklist items.
- Check Home Assistant logs for
custom_components.anytype_todoerrors.
Local helper scripts in this repository:
./scripts/setup: install Python dependencies./scripts/develop: run Home Assistant in debug with localconfig/./scripts/lint: run formatting and lint autofixes (ruff format+ruff check --fix)
Typical flow:
./scripts/setup
./scripts/developIn another terminal:
./scripts/lint