Platform
ScaiWave ScaiGrid ScaiCore ScaiBot ScaiDrive ScaiKey Models Tools & Services
Solutions
Organisations Developers Internet Service Providers Managed Service Providers AI-in-a-Box
Resources
Support Documentation Blog Downloads
Company
About Research Careers Investment Opportunities Contact
Log in

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:

markdown
1
2
3
- [ ] Email Alice the Q3 numbers
- [x] Done — pushed the deploy
- [ ] Review the planner doc

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:

markdown
1
- [ ] Email Alice the Q3 numbers !high 📅 2026-05-20 @alice #q3
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:

markdown
1
- [ ] Email Alice the Q3 numbers !high 📅 2026-05-20 ^todo-r9k4f

This is your handle to that specific todo. You can reference it from elsewhere:

markdown
1
[[Project Q3#^todo-r9k4f]]

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+Enter on 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_check with 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:

scdoc
1
2
3
4
5
6
```todos
status: open
priority: high
due: this_week
sort: due
```

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."

Where to go next#

Updated 2026-05-18 12:07:09 View source (.md) rev 2