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

Feishu Task Sync

LLLLAAAALLLLAAAA37 downloads

Sync projects and Markdown tasks with Feishu, with configurable folders, tags, and two-way completion updates.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates6

English | 简体中文

Download · Report an issue

Sync Obsidian projects and Markdown tasks with Feishu. Complete or reopen a task on either side.

The plugin includes a dedicated panel, settings, commands, and background sync. Install the three release files to use it on Obsidian desktop 1.7.2 or later. The interface currently uses Chinese.

Install and connect

  1. Download main.js, manifest.json, and styles.css from the latest release into .obsidian/plugins/feishu-task-sync/ in your vault. You can also extract Feishu-Task-Sync-1.5.2-Desktop.zip into that directory.
  2. Enable Feishu Task Sync in Obsidian's community plugin settings.
  3. Create a custom enterprise app in the Feishu developer console. Enable these app permissions: task:task:write, task:tasklist:write, task:section:write, and task:custom_field:write. Publish the app version.
  4. Enter the App ID, App Secret, and the receiving user's Open ID in the plugin settings. You can copy the Open ID from the API Explorer for the same app.
  5. Save the settings, open the sync overview, create the vault task list, preview the sync scope, and enable automatic sync.

Click the cloud icon in the ribbon or run 打开飞书任务面板 (Open Feishu task panel). Run 立即同步任务到飞书 (Sync tasks to Feishu now) for an immediate sync. Background sync continues when the panel is closed and stops when the vault closes.

Expand a hierarchy card in the overview to see its names. Click 改名 (Rename) on a row to edit its Feishu display name. The next sync applies the saved name; the note's filename stays the same.

Sync scope

Project mode is the default. Add other sources under Settings → Feishu Task Sync → 同步范围 (Sync scope).

Source Selection Destination in Feishu
Projects Notes tagged project in the project folder Vault task list → Area section → project parent task → action subtasks
Extra folders One vault-relative path per line, including subfolders Checkboxes go directly into the vault task list
Extra note tags Comma-separated tags, such as action, meeting Checkboxes in matching notes go directly into the vault task list
Daily notes Enable 日记行动 in connection settings and set the folder and task-list GUID A separate daily task list

A note is included if it matches an extra folder or tag. Tags can appear in properties or the note body; parent tags match subtags, so action also matches action/next. Excluded folders take precedence over every source. If scopes overlap, project and daily notes keep their existing behavior.

For example, add Meetings as an extra folder or tag a note #action to sync its regular checkboxes. Ordinary task notes do not need frontmatter, status, or area.

Removing a note from the scope stops syncing it. Adding it back reuses its existing task associations. The scope preview shows the project, extra-note, and action totals.

Project mode

The default project folder is 50_Tasks; you can choose another folder. Example project note:

---
tags: [project]
status: doing
area: "[[work]]"
---
## Next actions
- [ ] Draft a proposal
- [ ] Schedule a discussion

Project status accepts todo, doing, done, and canceled. Leave area empty or link one area note. Rename projects, Area sections, and the vault task list from the overview.

The plugin syncs checkbox titles, descriptions, and completion states while retaining parent–child relationships. Project status and action status are independent. Reopening a completed project in Feishu restores its previous todo or doing status. When first sending an individual task, you can set a due time and reminder; times use the Shanghai time zone.

When edits on both sides conflict, the panel lets you compare and choose. If a task's creation result has not been confirmed, association recovery can reconnect the original task.

Upgrade and use across devices

Starting with 1.5.0, the plugin ID and repository name are feishu-task-sync, and the display name is Feishu Task Sync. These rename steps apply to JH Wang's 飞书任务联动 releases 1.3.x–1.4.x.

  1. Close Obsidian.
  2. Rename .obsidian/plugins/feishu-sync/ to .obsidian/plugins/feishu-task-sync/. Keep data.json and replace the three release files with the new ones.
  3. Reopen Obsidian and enable Feishu Task Sync. If you had keyboard shortcuts, reassign them to the new plugin's commands in Hotkeys.

When installing from source, the install script below migrates the directory, enabled state, UI preferences, and shortcuts, and backs up the old plugin. Connection settings, automatic sync, vault identity, sections, and Feishu task GUIDs carry over.

For later updates, replace the three release files in the new directory and reload the plugin.

To switch devices, disable automatic sync on the original device and export a transfer package. Import it on the new device, enter the App Secret, check associations, and enable automatic sync. The package includes the sync scope and task associations. Use a fresh package for each switch and run automatic sync for a vault on one device at a time.

Existing Components dashboards can call the plugin as optional entry points. The plugin installs and runs independently of Components.

Connection and storage

The plugin requires a Feishu account and a custom enterprise app. It calls https://open.feishu.cn/open-apis to sync task titles, descriptions, times, states, and association identifiers from the selected notes.

To retain existing device settings, local data stays outside the vault at its original path:

~/.config/obsidian-feishu-sync/<first 24 hex characters of the vault absolute path's SHA-256>/
  config.json
  records.json
  backups/

The App Secret uses system encryption and is excluded from transfer packages. The plugin directory's data.json stores UI preferences. If you move a vault to another path, restore its identity and associations with a transfer package. The plugin collects no telemetry.

Development and releases

Requires Node.js 22 or later.

npm ci
npm test
npm run check-release
npm run package
npm run install-vault -- "/absolute/path/to/vault"

Close Obsidian before running the install script, then reopen it. The script backs up the previous plugin and preserves UI preferences. If it finds this project's old ID, it also migrates enabled state and shortcuts. Pass a custom Obsidian configuration directory as the second argument. Use npm run dev during development; after updating a build under the same ID, run obsidian plugin:reload id=feishu-task-sync.

  • src/: plugin lifecycle, panel, and settings.
  • lib/: scope selection, task parsing, Feishu API, sync, scheduling, and device transfer.
  • tests/: sync regressions, installation, and lifecycle tests.
  • scripts/: build, install, packaging, and release checks.

Optional dashboards access app.plugins.plugins['feishu-task-sync']. The service, openPanel, syncNow, and getAutoStatus interfaces remain available after the rename.

GitHub Actions runs tests on all three desktop platforms. Pushing a tag that matches the manifest version publishes the plugin files, ZIP, and checksums. See the publishing guide for the first community directory submission.

Documentation

Changelog · Current release notes · Validation

License

MIT. The interface uses React, React DOM, and Scheduler; their MIT license notices are included in the release bundle.

HealthExcellent
ReviewSatisfactory
About
Sync Obsidian projects and Markdown tasks with Feishu in both directions, keeping completion status and task hierarchy updated on either side. Open the dedicated Feishu panel to manage sync, run immediate syncs, and let background syncing keep tasks current.
TasksIntegrationsSyncing
Details
Current version
1.5.2
Last updated
2 weeks ago
Created
2 weeks ago
Updates
6 releases
Downloads
37
Compatible with
Obsidian 1.7.2+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
LLLLAAAALLLLAAAAllllaaaa2333
GitHubllllaaaa2333
  1. Community
  2. Plugins
  3. Tasks
  4. Feishu Task Sync

Related plugins

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.

Google Drive Sync

Syncs a vault into Google Drive for cross-platform use (works for iOS).

Sync Engine

The extensible vault synchronization engine: Fast · Free · Reliable. Supports WebDAV, S3, Google Drive, and Dropbox.

TickTickSync

Sync TickTick tasks.

OneDrive Sync

Sync your Obsidian vault with OneDrive Personal/Consumer

Nextcloud Sync

Bidirectional sync between Obsidian and Nextcloud using hash-based change detection.

Reminder

Manage Markdown TODOs with reminder.

Todoist Sync

Materialize Todoist tasks within your notes.

Things3 Sync

Sync between Obsidian and Things3. Supports multi-language, tags and dates.