Macro is an open-source team workspace that puts email, chat, docs, tasks, calls, a CRM, and AI agents into one interface. Every surface shares one backend, and cross-references between items (a doc and a task, a channel message and an email) are stored as a bidirectional graph, so anything can be @-linked and found from either side. It is built in SolidJS and Rust and runs in the browser, as a desktop app, and on iOS.
Each part is a block with its own design. Email is a keyboard-first, multi-account unified inbox for Google accounts with shared inboxes. Chat collapses long replies into threads to keep technical channels readable. Tasks are lightweight issues created from emails, messages, docs, checklist items, or agent chats and linked back to where they started. Docs are Markdown-native and collaborative through CRDTs, with version history, offline editing, and agents editing as peers in the same collaboration session. The CRM builds company and contact records from email and gives every deal its own channel.
Agents draw on team-level memory that a nightly job synthesises from conversations, DMs, sent and received email, and completed tasks. The memory is stored as Markdown and is available to external agents through MCP or to models from OpenAI, Google, Anthropic, and others through a model picker. The MCP surface covers nearly everything the UI can do, so coding agents such as Claude Code and Codex can read and act on a workspace, and tasks can be handed off to a coding agent with a linked branch and pull request.
Permissions follow channels: anything @-mentioned in a channel is shared with its members. Macro is available as a hosted service and can be self-hosted.
Features
- Unified inbox: emails, channel messages, task assignments, @-mentions, and agent replies in one keyboard-driven list split into signal and noise
- Multi-account email: several Google accounts triaged together, with shared inboxes, tags, and drafting from AI chats
- Team chat: channels and DMs where long replies collapse into threads that can be shared across channels
- Linked tasks: issues created from emails, messages, docs, or agents, linked back to their source and to pull requests
- CRDT docs: Markdown-native collaborative documents with version history, forking, and offline editing
- Agent editing: agents edit open or closed documents as peers in the CRDT session, with conflicts resolved natively
- Canvas: a 2D board with embedded links to tasks, files, and emails
- Calls: recorded and transcribed meetings logged to team memory
- CRM: company and contact records synced from email, deal stages on a kanban board, and a channel per deal
- Team memory: a nightly synthesis of team activity stored as exportable Markdown and shared with agents
- MCP surface: near-complete coverage of UI actions for external agents such as Claude Code and Codex
- Bidirectional links: every @-mention creates a two-way reference between workspace items
