5 Tools
Task Tools
Create, manage, and track persistent tasks across conversations. Tasks survive context resets and can be managed over time.
Priority Levels
🔴critical
🟠urgent
🟡high
🔵medium (default)
⚪low
Quick Navigation
create_task
Create persistent tasks, todos, reminders, or action items
When to Use
- User says "Add a task...", "Create a todo...", "New task..."
- "Remind me to...", "Don't let me forget..."
- "I need to...", "I have to...", "I should..."
- Any variation of wanting to remember to do something
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| title | string | Required | Task title - should be actionable, start with a verb (3-200 chars) |
| description | string | Optional | Additional details or context (max 2000 chars) |
| priority | string | Optional | Priority: low, medium, high, urgent, critical (default: medium) |
| dueDate | string | Optional | Due date in ISO format (e.g., 2024-12-25) |
| project | string | Optional | Project or area this belongs to (max 100 chars) |
| tags | array | Optional | Tags for organization |
| userId | string | Optional | User identifier (uses authenticated user if not provided) |
Example Usage
{
"title": "Review quarterly report",
"description": "Check revenue figures and prepare summary for board meeting",
"priority": "high",
"dueDate": "2025-01-03",
"project": "Q1 Planning",
"tags": ["finance", "board"]
}Example Response
Task created: 🟡 Review quarterly report
ID: task_abc123def456Tips & Best Practices
- ALWAYS call this tool when user mentions a task - don't just acknowledge it
- Tasks persist across conversations
- Title should start with a verb (Review, Complete, Send, etc.)
- Tasks created here are immediately confirmed (vs auto-extracted)
list_tasks
List user's tasks with optional filtering
When to Use
- User asks about their todos, tasks, or action items
- User wants to see what they need to do
- Checking pending tasks before starting work
- Reviewing task status
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| status | array | Optional | Filter by status: pending, in_progress, completed, cancelled, blocked, deferred (default: pending, in_progress) |
| priority | array | Optional | Filter by priority: low, medium, high, urgent, critical |
| project | string | Optional | Filter by project name |
| limit | number | Optional | Max results (default: 50, max: 100) |
| showUnconfirmed | boolean | Optional | Only show unconfirmed auto-extracted tasks |
| userId | string | Optional | User identifier (uses authenticated user if not provided) |
Example Usage
{
"status": ["pending", "in_progress"],
"priority": ["high", "urgent", "critical"],
"limit": 20
}Example Response
Found 3 tasks:
1. 🔴 Finalize budget proposal [in_progress]
ID: task_abc123 | Due: 01/02/2025 | Q1 Planning
2. 🟡 Review quarterly report [pending]
ID: task_def456 | Due: 01/03/2025 | Q1 Planning
3. 🟠Send meeting agenda [pending]
ID: task_ghi789 | Due: 01/01/2025Tips & Best Practices
- Tasks are sorted by priority (highest first), then by due date
- Auto-extracted tasks (from conversations) are marked for confirmation
- Use showUnconfirmed to review tasks that need validation
complete_task
Mark a task as completed
When to Use
- User says they finished a task
- User explicitly marks something as done
- Task goal has been achieved
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| taskId | string | Required | The task ID to complete (from list_tasks) |
| userId | string | Optional | User identifier (uses authenticated user if not provided) |
Example Usage
{
"taskId": "task_abc123def456"
}Example Response
Task marked as completed.Tips & Best Practices
- Get the task ID from list_tasks first
- Completed tasks can still be viewed with status filter
- Consider storing the outcome as a memory with remember
confirm_task
Confirm an auto-extracted task is valid
When to Use
- User reviews auto-extracted tasks and confirms they're real
- After showing unconfirmed tasks to user for validation
- User acknowledges an extracted task is something they need to do
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| taskId | string | Required | The task ID to confirm |
| userId | string | Optional | User identifier (uses authenticated user if not provided) |
Example Usage
{
"taskId": "task_auto_abc123"
}Example Response
Task confirmed.Tips & Best Practices
- Auto-extracted tasks come from conversation analysis
- They have lower confidence until confirmed by the user
- Use list_tasks with showUnconfirmed to see tasks needing confirmation
- Tasks created with create_task are immediately confirmed
delete_task
Delete a task permanently
When to Use
- User says a task is no longer needed
- Task was created by mistake
- User explicitly asks to remove a task
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| taskId | string | Required | The task ID to delete |
| userId | string | Optional | User identifier (uses authenticated user if not provided) |
Example Usage
{
"taskId": "task_abc123def456"
}Example Response
Task deleted.Tips & Best Practices
- This action is permanent
- For tasks no longer relevant but worth tracking, consider complete_task instead
- Verify with user before deleting