Skip to main content
Glama

Add task

add_omnifocus_task

Add a task to OmniFocus with details like notes, tags, due dates, project, and parent. Prevents duplicates by first finding similar existing tasks and reusing their IDs.

Instructions

Add a new task to OmniFocus. Before creating a task that may already exist, call find_similar_tasks with the same name and reuse the returned id instead if a strong match comes back.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the task
noteNoAdditional notes for the task
tagsNoTags to assign to the task
tagIdsNoExact tag IDs; combine with names/paths in tags. Unknown IDs fail before any write.
dueDateNoThe due date. Bare 'YYYY-MM-DD' is interpreted as LOCAL midnight on that calendar day; add a time and offset (e.g. 2026-03-05T09:00:00-06:00) to pin an exact moment.
flaggedNoWhether the task is flagged or not
deferDateNoThe defer date. Bare 'YYYY-MM-DD' is interpreted as LOCAL midnight on that calendar day; add a time and offset (e.g. 2026-03-05T09:00:00-06:00) to pin an exact moment.
plannedDateNoThe planned date. Bare 'YYYY-MM-DD' is interpreted as LOCAL midnight on that calendar day; add a time and offset (e.g. 2026-03-05T09:00:00-06:00) to pin an exact moment.
projectNameNoThe name of the project to add the task to (will add to inbox if not specified)
parentTaskIdNoThe ID of the parent task to create this task as a subtask
idempotencyKeyNoStable request key for this create. Reuse identical arguments to replay its result across clients; an uncertain earlier attempt is never repeated.
parentTaskNameNoThe name of the parent task to create this task as a subtask (alternative to parentTaskId)
estimatedMinutesNoEstimated time to complete the task, in minutes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
metaNo
toolYes
successYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.7.0

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (which only establish this as a non-read-only, non-destructive write), the description discloses a genuine behavioral trait: the tool performs no duplicate detection, so creating a task with an existing similar name can produce a duplicate unless the agent runs the pre-check. This meaningfully exceeds annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero filler. The primary action is front-loaded, and the conditional dedup instruction earns its place as the single most important operational caveat. Every word carries signal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-parameter, 1-required write tool, the combination of a fully self-documenting schema, annotations, an output schema, and the dedup guidance leaves nothing needed to invoke the tool correctly unexplained. The only marginal gap is explicit routing to batch_add_items for bulk creation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — all 13 parameters (name, note, tags, tagIds, dates, idempotencyKey, parentTaskId, etc.) are individually documented. Per the baseline, the description need not add parameter detail. Its dedup note relates to the name parameter but supplies workflow guidance rather than new semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action with a clear verb and resource: 'Add a new task to OmniFocus.' This distinguishes it from sibling tools like add_project, edit_item, or batch_add_items, and the duplicate-check instruction signals this is the single-task creation entry point.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit precondition: before creating a possibly-duplicate task, call find_similar_tasks with the same name and reuse the returned id on a strong match. This is clear when-to-use guidance, but it does not name exclusions or alternatives such as batch_add_items for bulk creation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.