Skip to content
Butterfly logo

Butterfly Integrations

🔌 Bring Butterfly documents into the tools you already use 🔌

GitHub License GitHub Repo stars

ButterflyDownloadsMatrixDiscordLinwoodContribute


Butterfly Integrations connects Butterfly to other applications while keeping your .bfly documents in the host you already use. Integrations share a small, typed embed protocol package but are built, versioned, and released independently.

Integrations

☁️ Nextcloud

Open, create, edit, and save Butterfly documents directly from Nextcloud Files. The integration protects saves with ETags, supports custom or self-hosted Butterfly web builds, and validates every iframe message against its expected window and origin.

Learn more · Download stable .tar.gz · Download stable .zip

📝 Joplin

Planned. The directory is reserved, but the integration is not implemented or built yet.

💎 Obsidian

Planned. The directory is reserved, but the integration is not implemented or built yet.


Repository

integrations/
  nextcloud/   # implemented and built in CI
  joplin/      # reserved; not built
  obsidian/    # reserved; not built
packages/
  shared/      # framework-neutral TypeScript helpers

The shared package contains the Butterfly embed message types, trusted event validation, document conversion helpers, and version.json validation used by browser-facing integrations.

Development

Install Node.js 24 and pnpm 11, then run:

corepack enable
pnpm install --frozen-lockfile
pnpm check

See the Nextcloud integration guide for PHP, Composer, and Docker setup. Joplin and Obsidian are intentionally excluded from the workspace until their implementations exist.

Releases

Each integration has its own version namespace. For Nextcloud:

  • nextcloud/v1.0.0 is an immutable version release.
  • nextcloud/stable moves to the newest stable version and keeps persistent asset URLs.
  • Prereleases create a versioned release without changing nextcloud/stable.
  • The matching integration changelog entry becomes the GitHub release body.

Versions, tag prefixes, and changelog locations are declared in each implemented integration's integration.json.


Contributing

We are happy to see that you are interested in improving Butterfly's integrations. To get started, visit the contributing guide.

Please report security issues privately according to the security policy.

License

The code is open source and licensed under the Apache-2.0 license.

About

Official integrations for the Butterfly note taking app

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages