project_create
Add a new project to OmniFocus with custom settings for folder, tags, dates, and status.
Instructions
Create a new OmniFocus project. Optionally place it in a folder, assign tags, set completion criterion, status, defer/due dates, estimated minutes, flagged state, and review interval. Safety control: pass idempotency_key to make transport retries safe — identical subsequent calls within the TTL window replay the original envelope with meta.idempotentReplay = true instead of creating a duplicate project. Returns { created: true, id }. Side effects: creates a project in OmniFocus, sets meta.syncPending = true. Call sync_trigger when you need the project to appear on other devices. Example: project_create({ name: "Website Redesign" }) Example: project_create({ name: "Q3 Planning", folderId: "fld123", flagged: true })
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Project name. Required, must be non-empty. | |
| note | No | Plain-text note for the project. | |
| status | No | Initial project status. Default: active. Accepts: 'paused' → on-hold. | |
| tagIds | No | Tag IDs to apply to the project. | |
| dueDate | No | Due date as ISO-8601 with UTC offset. | |
| flagged | No | Flag the project. | |
| folderId | No | Folder ID to place the project in. Omit for root. | |
| deferDate | No | Defer date as ISO-8601 with UTC offset. | |
| dueDateFloating | No | When true, the due time is floating (follows the user across time zones). | |
| idempotency_key | No | Idempotency key for retry-safe creates. Identical subsequent calls within the TTL window replay the original envelope with meta.idempotentReplay = true instead of creating a duplicate project. | |
| estimatedMinutes | No | Estimated total duration in minutes. | |
| deferDateFloating | No | When true, the defer time is floating (follows the user across time zones). | |
| reviewIntervalDays | No | Review interval in days. Omit to use OmniFocus default. | |
| completionCriterion | No | How the project's tasks are completed: parallel (any order), sequential (in order), or singleActions. Accepts: 'in-order' → sequential, 'in order' → sequential, 'any-order' → parallel, 'any order' → parallel. |