note_append
Append text to a task or project's note in OmniFocus. Adds a newline between existing content and new text. Use idempotency key to prevent duplicates on retries.
Instructions
Append text to the plain-text note on a task or project. Adds a newline between existing content and the new text unless the note is empty. Do not use to replace the note entirely; prefer note_set instead. Pass idempotency_key to coalesce retries — append is not naturally idempotent and replays without a key duplicate the text. Returns { updated: true, id, targetKind, name, note } — name is the parent task/project's display name (captured from the same read that fetched the existing note) so the agent can describe the change without a follow-up read; note is the full content after appending. Side effects: writes to OmniFocus, sets meta.syncPending = true. Call sync_trigger when you need the change to appear on other devices. Example: note_append({ targetKind: "task", id: "abc123", text: "Follow up next week" })
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Persistent ID of the task or project. Get task IDs from task_list; project IDs from project_list. | |
| text | Yes | Text to append. A newline separator is inserted before the text if a note exists. | |
| targetKind | Yes | The kind of OmniFocus item whose note to append to. | |
| idempotency_key | No | Idempotency key for retry-safe appends. `append` is not naturally idempotent — replays without a key multiply the appended text. Identical subsequent calls with the same key within the TTL window replay the original envelope with meta.idempotentReplay = true instead of appending again. See docs/idempotency.md. |