Todos
Todos give each assistant a personal task list that both the AI agent and human admins can manage. Unlike tasks (which are scheduled, standalone units of work), todos are lightweight action items — follow-ups, reminders, and next steps that the assistant tracks as part of its ongoing work.
How Todos Work
Each assistant has its own todo list. Todos can be created in two ways:
- By the assistant — During conversations or while processing inbox items, the assistant can use its
create_todotool to record action items, follow-ups, or things to remember. - By an admin — From the assistant’s Todos page in the web UI.
Todos support priorities, due dates, tags, and status tracking. When a todo originates from an inbox item or a conversation, it automatically links back to the source.
Viewing Todos
There are two ways to access todos:
- From the Assistants page — Each assistant card has a Todos button that takes you directly to that assistant’s todo list.
- From the sidebar — Navigate to any assistant’s Todos page through the Assistants listing.
The global Todos list (accessible from any assistant’s Todos page by clearing the filter) shows todos across all assistants with an assistant filter dropdown.
Creating a Todo
On an assistant’s Todos page, use the form at the top to create a new todo:
| Field | Description |
|---|---|
| Title | What needs to be done (required) |
| Description | Optional details or context |
| Priority | Low, Medium, High, or Urgent |
| Due Date | Optional deadline |
| Tags | Comma-separated labels for categorisation |
Todo Statuses
| Status | Description |
|---|---|
| Pending | Not yet started (default) |
| In Progress | Work has begun |
| Completed | Done — timestamp recorded |
| Cancelled | No longer needed |
Click the circle icon next to a todo to toggle it between pending and completed. The assistant can also update statuses using the update_todo tool.
Source Tracking
When a todo is created from an inbox item or conversation, it displays a source link that takes you back to the original context. This helps you understand why the todo exists and what prompted it.
Filtering
Use the tabs at the top of the todo list to filter:
- Active — Shows pending and in-progress items (default)
- Completed — Shows completed items
- All — Shows everything
Agent Tools
The assistant has four todo tools available:
| Tool | Description |
|---|---|
| create_todo | Create a new todo with title, description, priority, due date, tags, and optional source link |
| list_todos | List todos with optional status and priority filters |
| update_todo | Update any field on a todo, including marking it complete |
| delete_todo | Remove a todo from the list |
These tools are registered in the Todos category and can be enabled or disabled per assistant from the Tools tab.
Technical Details
Data model — Each AssistantTodo record is scoped to a single assistant via assistant_id. The source_type and source_id columns form a polymorphic association that can point to either an InboxItem or a Conversation, tracking where the todo originated.
Status transitions — When status changes to completed, the completed_at timestamp is set automatically. When status changes away from completed, completed_at is cleared. The is_overdue property checks due_date against the current time.
Ownership — Agent tools enforce ownership: an assistant can only read, update, or delete its own todos. The web UI shows todos for any assistant but respects admin-only access control.