MailInboxes that teams share
- Personal and shared inboxes across multiple domains
- Delivery status for bounces, deferrals and complaints
- Previews for PDF, images and Office files, converted to PDF
- Realtime updates and PWA push notifications
Open source · Self-hosted · Cloudflare-native
OpenWorkspace is an open-source workspace for teams. It starts with team mail, passkey sign-in and single sign-on — and deploys to Workers, D1, Durable Objects and R2 that you own.
bun create @open-workspace
01 — Ownership
There is no OpenWorkspace cloud. You deploy the workspace into your own account, and every message, attachment and identity record stays in storage you control.
02 — Features
all@ current@open-workspace/email03 — How it works
bun create @open-workspace scaffolds a tiny project. The workspace itself comes from npm, so updates are a version bump.
import { createWorkspace } from "@open-workspace/core";
import { email } from "@open-workspace/email";
export { MailboxDO, OfficePreviewContainer } from "@open-workspace/email";
export default createWorkspace({
domains: ["example.com"],
modules: [email()],
});
import { OpenWorkspace } from "@open-workspace/core/alchemy";
import { Email } from "@open-workspace/email/alchemy";
export default Alchemy.Stack("Workspace", { providers, state },
OpenWorkspace({
name: "acme-workspace",
main: "./src/worker.ts",
domain: "mail.example.com",
modules: [Email({ domains: ["example.com"] })],
}));
$ bun run deploy
D1, R2, Queues, Durable Objects…
✓ https://mail.example.com
04 — Roadmap
OpenWorkspace is built as modules on a shared core — people, teams, roles and SSO. More modules are coming, starting with git hosting.
@open-workspace/emailAvailablegitComing…and morePlanned