note_set_html
Replace the HTML note on an OmniFocus task or project with provided rich text. Supports bold, italic, links, lists. Use null to clear the note.
Instructions
Replace the HTML fragment note on a task or project. Overwrites the existing note entirely with the provided HTML. OmniFocus preserves its supported HTML subset (bold, italic, links, lists, inline images); unsupported elements may be stripped. Pass noteHtml: null to clear the note. Known limitation: OmniFocus 4.x's automation bridge rejects HTML note writes, so this tool fails there with OF_UNSUPPORTED — use note_set (plain text) instead. For plain-text writes use note_set instead. Returns { updated: true, id, targetKind, name, noteHtml } — name is the parent task/project's display name (pre-fetched so the response describes the change without a follow-up read); noteHtml echoes back the requested HTML (or null if cleared). Side effects: writes to OmniFocus, sets meta.syncPending = true. Call sync_trigger when you need the change to appear on other devices. Example: note_set_html({ targetKind: "task", id: "abc123", noteHtml: "Priority: high" })
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. | |
| noteHtml | Yes | HTML fragment to set as the note. Pass null to clear the note entirely. | |
| targetKind | Yes | The kind of OmniFocus item whose HTML note to set. |