Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

OmniFocus Bridge

Christian ReinhardtChristian Reinhardt35 downloads

Sync OmniFocus 4 Pro projects and tasks into your vault and write changes back.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates5

OmniFocus Bridge logo — a checked task linked by a bridge to a note

OmniFocus Bridge

Bidirectional sync between OmniFocus 4 Pro and Obsidian.


An Obsidian plugin that mirrors your OmniFocus projects, tasks, and tags into your vault as markdown, and writes completions, flags, and dates back to OmniFocus.

Features

  • One-way sync: OmniFocus to Obsidian -- projects, tasks, and tags with full folder hierarchy
  • Write-back: Complete tasks, toggle flags, set due/defer dates directly from Obsidian
  • Quick Add: Create new OmniFocus tasks without leaving Obsidian
  • Side panel: An OmniFocus view with Today, Inbox, Projects, and Dashboard tabs
  • Auto-sync: Configurable interval (1m / 5m / 15m / 30m), plus sync on startup and on file open
  • Incremental sync: Only updates changed projects, keeping syncs fast
  • Dashboard: Auto-generated overview with overdue, due today, due this week, and flagged sections
  • Daily Note integration: Insert a daily task summary at the cursor position
  • Codeblock views: Use omnifocus fenced code blocks for filtered, live task views
  • Rich rendering: Emoji metadata, sorted tasks, frontmatter compatible with Dataview

Requirements

  • macOS (the plugin uses OmniFocus's Automation API via osascript)
  • OmniFocus 4 Pro (the Pro edition is required for JavaScript automation)
  • Obsidian Desktop (v1.13.0 or later)

Installation

OmniFocus Bridge is not yet in the Obsidian Community plugins directory (submission pending), so searching for it inside Obsidian won't find it yet. Install it from a release instead.

Install from a release

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Create a folder called omnifocus-bridge inside your vault's .obsidian/plugins/ directory
  3. Copy the downloaded files into that folder
  4. Restart Obsidian and enable OmniFocus Bridge in Settings > Community plugins (turn off Restricted mode first if it's on)

Build from source

Requires Node.js and git.

git clone https://github.com/XyndoX/omnifocus-sync.git
cd omnifocus-sync
npm install
npm run build

Then copy main.js, manifest.json, and styles.css from the repo root into <vault>/.obsidian/plugins/omnifocus-bridge/ and enable the plugin as above.

Usage

First Sync

  1. Open Settings > OmniFocus Bridge
  2. Click Test Connection to verify OmniFocus is running and accessible
  3. Click Sync now or use Cmd+P and search for OmniFocus Bridge: Sync now

Your OmniFocus projects will appear as markdown files inside the sync folder (default: OmniFocus/).

Commands

Open the command palette (Cmd+P) and search for any of the following:

Command Description
Sync now Pull latest data from OmniFocus and update markdown files
Open sync folder Open the dashboard (or the first note) in the sync folder
Open panel Open the OmniFocus side panel (Today, Inbox, Projects, Dashboard)
Generate dashboard Create or update Dashboard.md with overdue, due today, due this week, and flagged task sections
Quick add task Open a modal to create a new task in OmniFocus (auto-detects project from current file)
Complete/reopen task Toggle the completion state of the task on the current line
Toggle flag Flag or unflag the task on the current line
Set due date Set or clear the due date for the task on the current line
Set defer date Set or clear the defer date for the task on the current line
Open task in OmniFocus Open the task on the current line directly in OmniFocus
Insert daily summary Insert a summary of today's due, overdue, and flagged tasks at the cursor

Codeblock Views

Add an omnifocus fenced code block to any note for a live, filtered task view:

```omnifocus
view: due-today
```

Available Views

View Description
all-active All incomplete tasks (default)
due-today Tasks due today or overdue
due-this-week Tasks due within the next 7 days
flagged Flagged tasks only
project Tasks from a specific project (requires project: parameter)

Options

Option Values Default Description
view see above all-active Which tasks to display
format list, table list Render as checkbox list or HTML table
show comma-separated columns name,dueDate,project,tags Columns to show in table format
project project name -- Filter to a specific project (used with view: project)

Valid columns for show: name, dueDate, deferDate, project, tags, estimate, flagged.

Examples

Flagged tasks as a table:

```omnifocus
view: flagged
format: table
show: name, dueDate, project
```

Tasks from a specific project:

```omnifocus
view: project
project: Home Renovation
```

Settings

Setting Description Default
Sync folder Vault folder where OmniFocus data is stored OmniFocus
Tag prefix Prefix for OmniFocus tags (e.g., #of/TagName) of
Sync interval Auto-sync frequency: Manual, 1m, 5m, 15m, or 30m Manual
Sync on startup Automatically sync when Obsidian starts Off
Show due date Display due dates on task lines On
Show tags Display OmniFocus tags on task lines On
Show time estimate Display estimated time on task lines On
Show OmniFocus link Add a deep link that opens the task in OmniFocus Off

How It Works

The plugin communicates with OmniFocus through its JavaScript for Automation (JXA) API via macOS osascript. It reads projects, tasks, and tags from OmniFocus, then writes them as markdown files with frontmatter metadata into your vault. Checkbox changes in the synced files are detected and written back to OmniFocus automatically.

Each task line includes an invisible HTML comment anchor (<!-- of:taskId -->) that links the markdown checkbox to its OmniFocus counterpart.

Permissions and privacy

  • Runs osascript (Node.js child_process) to talk to OmniFocus on your Mac. That is the only external program it runs. The script is passed over stdin, so nothing is written to disk outside your vault.
  • Inside your vault it only creates and updates notes in the sync folder (default OmniFocus/) and its own plugin data.
  • No network access, no telemetry, no accounts. Everything stays between OmniFocus and Obsidian on your machine.

FAQ

Q: Does this work on Windows, Linux, or mobile? A: No. OmniFocus is macOS/iOS only, and the plugin requires macOS Desktop for its Automation API. On other platforms, the plugin loads but gracefully disables itself with a notice.

Q: Do I need OmniFocus Pro? A: Yes. The free and Standard editions do not support the JavaScript automation API that this plugin uses.

Q: What happens if OmniFocus is not running? A: The plugin will show a clear error message asking you to open OmniFocus. No data is lost.

Q: Is OmniFocus the source of truth? A: Yes. OmniFocus owns the project structure, task creation, and most metadata. The plugin syncs that structure into Obsidian. You can complete tasks, toggle flags, and set dates from Obsidian, and those changes are written back immediately.

Q: Can I use this with Dataview? A: Yes. Every synced file includes frontmatter fields (omnifocus-project-id, omnifocus-status, omnifocus-last-sync) that Dataview can query.

License

MIT

HealthExcellent
ReviewSatisfactory
About
Sync OmniFocus and Obsidian bidirectionally by mirroring projects, tasks, and tags into Markdown and writing completions, flags, and dates back to OmniFocus. Use quick-add and a side panel with Today, Inbox, Projects and Dashboard; enjoy auto/incremental sync, codeblock live views, rich rendering, and automatic daily-note task summaries.
TasksSyncingSidebar
Details
Current version
1.0.4
Last updated
2 weeks ago
Created
9 months ago
Updates
5 releases
Downloads
35
Compatible with
Obsidian 1.13.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
Christian ReinhardtChristian Reinhardtxyndox
GitHubxyndox
  1. Community
  2. Plugins
  3. Tasks
  4. OmniFocus Bridge

Related plugins

Checklist

Consolidate checklists across all files into a single view.

Sidebar Highlights and Tasks

View and manage text highlights, comments on highlights, native comments, and collections for your highlights.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Self-hosted LiveSync

Sync vaults securely to self-hosted servers or WEBRTC.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Tag Wrangler

Rename, merge, toggle, and search tags from the tag pane.

Tasks

Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering. Maintained by Clare Macrae and Ilyas Landikov, created by Martin Schenck.

TaskNotes

Note-based task management with calendar, pomodoro and time-tracking integration.

Vertical Tabs

Offer an alternative view that displays open tabs vertically, allowing users to group and organize tabs for a better navigation experience.

Operon

Task and project management system that unifies inline tasks and file-based tasks in the same workflows with Tables, Filters, Calendars, Kanban boards, Gantt views, Canvas, and time tracking.