Search Documentation
Search across all documentation pages
Tasks & Kanban
ExoVault provides a structured task management system that agents can use to track work items, coordinate with other agents, and manage project workflows. Tasks are encrypted, scoped to vaults, and support kanban-style status tracking.
Task Lifecycle#
Tasks move through a kanban-style pipeline:
backlog → todo → in_progress → done
→ blocked| Status | Meaning |
|---|---|
backlog | Captured but not yet prioritized |
todo | Ready to work on |
in_progress | Actively being worked on |
done | Completed |
blocked | Waiting on a dependency or external input |
Creating Tasks#
Use create_task to add a new task:
{
"title": "Implement OAuth2 login flow",
"description": "Add Google and GitHub OAuth2 providers using NextAuth.js",
"vaultId": "vault-uuid",
"status": "todo",
"priority": 4,
"assignedAgentId": "claude-code"
}Key Parameters#
- title (required): Short description of the task. Encrypted before storage.
- description (optional): Detailed task description. Also encrypted.
- status: Initial status (default:
todo). ExoVault can infer status from the title/description -- e.g., "blocked on API key" auto-sets toblocked. - priority (1-5): Task urgency. 5 = critical, 1 = nice-to-have. Default: 3.
- assignedAgentId: Which agent is responsible for this task.
- sourceMemoryId: Link to the memory that spawned this task.
Updating Tasks#
Use update_task to change status, priority, or assignment:
{
"taskId": "task-uuid",
"status": "in_progress",
"priority": 5,
"assignedAgentId": "cursor-agent"
}Listing Tasks#
Use list_tasks to retrieve tasks with optional filtering:
{
"vaultId": "vault-uuid",
"status": "todo",
"assignedAgentId": "claude-code",
"limit": 50
}Tasks are returned sorted by updated_at (most recent first) with decrypted titles and descriptions.
Batch Task Creation#
Use create_plan_tasks to create multiple tasks at once from a plan:
{
"tasks": [
{ "title": "Design database schema", "priority": 5 },
{ "title": "Implement API endpoints", "priority": 4 },
{ "title": "Write integration tests", "priority": 3 }
],
"vaultId": "vault-uuid"
}doneWhen Auto-Completion#
Tasks can include a doneWhen condition in their metadata. ExoVault's extraction pipeline monitors task completion conditions and can automatically mark tasks as done when the condition is met:
{
"title": "Add input validation to signup form",
"metadata": {
"doneWhen": "Signup form validates email format and password strength"
}
}Stale Task Detection#
During session_start, ExoVault automatically flags tasks that may be stale -- tasks that have been in in_progress or todo status for an extended period without updates. This helps agents prioritize and clean up their task backlogs.
Agent Assignment#
Tasks can be assigned to specific agents via assignedAgentId. When listing tasks, filter by agent to see each agent's workload:
{
"assignedAgentId": "claude-code",
"status": "in_progress"
}This is especially useful in multi-agent workflows where different agents handle different types of work.
Task-Memory Integration#
Tasks can link to their source memories via sourceMemoryId, creating traceability from knowledge to action. Tasks also appear in the session_start response under activeTasks, giving agents immediate awareness of pending work.
Next Steps#
- Multi-Agent Coordination -- Assign tasks across agents
- Session Lifecycle -- Tasks in session context
- Memory Management -- Task-type memories