Batch add items
batch_add_itemsAdd multiple tasks and projects to OmniFocus in a single operation, with parent-child hierarchy, dry-run preview, and atomic rollback to prevent partial data.
Instructions
Add multiple tasks or projects to OmniFocus in a single operation. Supports tempId/parentTempId hierarchy wiring, dryRun preview, stopOnError, and atomic rollback. Before adding tasks that may already exist, call find_similar_tasks for each name and drop or replace any item with a strong match — batch creation multiplies duplicates.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Array of items (tasks or projects) to add | |
| atomic | No | All-or-nothing: if ANY item fails, every object already created by this batch is deleted again in the same script and the result reports rolledBack: true. Implies stopOnError; passing atomic: true with stopOnError: false is rejected. | |
| dryRun | No | Resolve every project/folder/parent/tag lookup and report exactly what WOULD be created, without writing anything. Default false. | |
| stopOnError | No | Stop at the first failed item instead of continuing; the remaining items are reported as skipped. Default false (continue on error). Implied by atomic. | |
| idempotencyKey | No | Stable request key for this create. Reuse identical arguments to replay its result across clients; an uncertain earlier attempt is never repeated. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| meta | No | ||
| tool | Yes | ||
| success | Yes |