filter_tasks
Filter tasks within a single OmniFocus project by status, dates, tags, flags, notes, estimates, or search text to isolate matching work items. Use count-only mode for quick tallies.
Instructions
Advanced task filtering for ONE project. For filtering across 2+ projects, use batch_filter_tasks instead (single API call). Supports status, dates, tags, search, and more.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of tasks to return (default: 100) | |
| tagId | No | Filter by tag ID(s) (alternative to tagFilter). Can be single ID or array of IDs | |
| sortBy | No | Sort results by field | |
| flagged | No | Filter by flagged status | |
| hasNote | No | Filter tasks that have notes | |
| inInbox | No | Filter tasks in inbox | |
| overdue | No | Show overdue tasks only | |
| dueAfter | No | Show tasks due after this date (ISO format: YYYY-MM-DD) | |
| dueToday | No | Show tasks due today | |
| untagged | No | Filter for tasks with NO tags assigned. Useful after bulk tag removal to find unorganized tasks. | |
| countOnly | No | Return only the count of matching tasks, not the task data. Much faster for health checks and dashboards. | |
| dueBefore | No | Show tasks due before this date (ISO format: YYYY-MM-DD) | |
| projectId | No | Filter by project ID (alternative to projectFilter) | |
| sortOrder | No | Sort order (default: asc) | |
| tagFilter | No | Filter by tag name(s). Can be single tag or array of tags | |
| deferAfter | No | Show tasks with defer date after this date (ISO format: YYYY-MM-DD) | |
| deferToday | No | Show tasks deferred to today | |
| searchText | No | Search in task names and notes | |
| taskStatus | No | Filter by task status. Can specify multiple statuses | |
| deferBefore | No | Show tasks with defer date before this date (ISO format: YYYY-MM-DD) | |
| dueThisWeek | No | Show tasks due this week | |
| estimateMax | No | Maximum estimated minutes | |
| estimateMin | No | Minimum estimated minutes | |
| hasEstimate | No | Filter tasks that have time estimates | |
| perspective | No | Limit search to specific perspective: inbox, flagged, all tasks | |
| dueThisMonth | No | Show tasks due this month | |
| plannedAfter | No | Show tasks with planned date after this date (ISO format: YYYY-MM-DD) | |
| plannedToday | No | Show tasks planned for today | |
| deferThisWeek | No | Show tasks deferred to this week | |
| exactTagMatch | No | Set to true for exact tag name match, false for partial (default: false) | |
| plannedBefore | No | Show tasks with planned date before this date (ISO format: YYYY-MM-DD) | |
| projectFilter | No | Filter by project name (partial match) | |
| completedAfter | No | Show tasks completed after this date (ISO format: YYYY-MM-DD) | |
| completedToday | No | Show tasks completed today | |
| deferAvailable | No | Show tasks whose defer date has passed (now available) | |
| completedBefore | No | Show tasks completed before this date (ISO format: YYYY-MM-DD) | |
| plannedThisWeek | No | Show tasks planned for this week | |
| completedThisWeek | No | Show tasks completed this week | |
| completedThisMonth | No | Show tasks completed this month |