Todos from notes
A todo in ScaiWave is just a - [ ] line in any note's body. No
separate "tasks app", no syncing across two systems. Add a checkbox,
get all the affordances.
The simple version#
In any note:
1 2 3 | |
That's three todos: one open, one done, one open. The dashboard picks them up automatically within a couple of seconds of saving.
Inline metadata#
Annotate the line:
1 | |
| Annotation | Meaning |
|---|---|
!low / !medium / !high |
Priority. |
📅 YYYY-MM-DD or due: YYYY-MM-DD |
Due date. |
@local-id |
Assignee. |
#tag |
Tag (multiple OK). |
These can be in any order. The parser extracts them to structured fields; the line still reads naturally.
Block IDs#
The first time the note saves, the parser appends a stable
^todo-<5char> block-id to each checkbox line:
1 | |
This is your handle to that specific todo. You can reference it from elsewhere:
1 | |
Wiki-link to the line. Useful when you want to point a teammate at "that one todo I added in the meeting notes".
The block-id is what gives todos stable identity — if you edit the surrounding text, the todo still resolves to the same row.
Toggling#
- In the editor:
Cmd/Ctrl+Enteron the line toggles[ ]↔[x]. The reconciler picks it up. - In rendered view (preview): click the checkbox itself.
- From AI: "Mark the Alice email as done." The AI calls
todo_checkwith the block-id. - API:
PUT /v1/notes/{note_id}/todos/{block_id}/status.
Cross-workspace views#
Sidebar → Today (the icon next to your workspace name). Shows:
- Pinned today note for the active workspace.
- Due today todos across all your workspaces.
- Overdue todos.
- Without due date (optional toggle).
Filter by workspace, priority, tag, or assignee.
Embedded query blocks#
In any note body, a fenced todos block becomes a live filter:
1 2 3 4 5 6 | |
Renders as a live table that updates as the underlying todos
change. The query language is small: status, priority,
due (e.g. today, this_week, overdue), assignee,
tag, workspace, sort, limit.
Voice dictation#
In the notes panel, the audio button records voice → transcribes → shows a confirm modal where you review the parsed todos before bulk-adding. See Voice-dictate into notes.
AI integration#
The AI plugin scaiwave.todos exposes six tools:
todo_today— what's due today + overdue.todo_list— query the cross-workspace index.todo_check/todo_uncheck— flip status.todo_set— update priority / due / assignee / tags.todo_add— add a new line to a note.
So you can ask: "What's due tomorrow?", "Mark all the #q3 todos as done.", "Add a high-priority todo to my today note: ship the docs."