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
create_task
Create persistent tasks, todos, reminders, or action items

Parameters

NameTypeRequiredDescription
titlestringRequiredTask title - should be actionable, start with a verb (3-200 chars)
descriptionstringOptionalAdditional details or context (max 2000 chars)
prioritystringOptionalPriority: low, medium, high, urgent, critical (default: medium)
dueDatestringOptionalDue date in ISO format (e.g., 2024-12-25)
projectstringOptionalProject or area this belongs to (max 100 chars)
tagsarrayOptionalTags for organization
userIdstringOptionalUser 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_abc123def456

Tips & 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

Parameters

NameTypeRequiredDescription
statusarrayOptionalFilter by status: pending, in_progress, completed, cancelled, blocked, deferred (default: pending, in_progress)
priorityarrayOptionalFilter by priority: low, medium, high, urgent, critical
projectstringOptionalFilter by project name
limitnumberOptionalMax results (default: 50, max: 100)
showUnconfirmedbooleanOptionalOnly show unconfirmed auto-extracted tasks
userIdstringOptionalUser 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/2025

Tips & 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

Parameters

NameTypeRequiredDescription
taskIdstringRequiredThe task ID to complete (from list_tasks)
userIdstringOptionalUser 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

Parameters

NameTypeRequiredDescription
taskIdstringRequiredThe task ID to confirm
userIdstringOptionalUser 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

Parameters

NameTypeRequiredDescription
taskIdstringRequiredThe task ID to delete
userIdstringOptionalUser 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