Every company I've worked at has the same pattern.
There's a shared email account — legal@, hr@, support@, finance@ — and a Google Group or a forwarding rule gets the mail into the right people's regular inbox. It mostly works. But a few things always go sideways:
- The inbox becomes everyone's and no one's. Messages get skipped because "I thought Sarah had it".
- Replying from the shared address requires extra setup most people never do, so replies come from personal accounts and the conversation fragments.
- Archiving and organising is a free-for-all because Gmail wasn't designed for shared access.
- Adding a new team member means an IT request, a new group membership, and a Slack nudge when they forget.
I wanted to fix all of that without making our customers adopt a whole new email platform.
What we built
Team Inboxes inside Monospace. Each one is a real email address on your custom domain (the same domain you already connected for tickets — no extra DNS setup), sitting inside a specific project, with its own access control list, folders, drafts, and signatures.
You open Project Settings → Inboxes, click New inbox, type legal for the local-part, and you now have legal@yourcompany.com receiving mail.
Then you pick who has access. You can grant individual users or entire org roles — the same roles system Monospace uses for project permissions. Add your Legal Team role and everyone in that role gets the inbox. Rotating members later? Just update the role; the inbox access follows.
Plan gate — Corporate and Enterprise only
This one is a top-tier feature. It's included on Corporate and Enterprise plans and isn't available on anything below. That's intentional: running a hosted email client is expensive (Resend fees, storage, attachments) and the companies who need shared inboxes at scale also tend to be on our top plans. Smaller teams can still use the existing ticket system for customer-facing support email.
The privacy thing — owner bypass toggle
Here's a subtle one. Shared inboxes in legal, HR, and finance contexts often contain things org owners shouldn't casually be able to read — contracts, performance reviews, disciplinary records, disputes. But owners also need to manage the inbox — change who has access, set the signature, delete it if needed.
So we split the two. By default, org owners and admins have manage access (they can configure, rotate access, delete) but not read access. Each inbox has an Allow org owners & admins to read toggle — off by default — that you can flip on for inboxes where open-book access is fine.
It's a small toggle that does a lot. It means an HR inbox stays private to HR even from the CEO, while the org owner can still step in to recover admin control if needed.
The client itself
On desktop it's a three-pane layout you've used a thousand times — folders on the left, thread list in the middle, the open message on the right. Inbox, Starred, Sent, Drafts, Archive, Trash.
On mobile the folder list becomes a horizontal chip row at the top, saving vertical space. Tap a chip, switch folders.
At the top of every inbox view is a dropdown showing every other inbox you have access to, each with its unread count. Switching between legal@ and support@ is one click. The sidebar also gets a single accent-colored badge aggregating unread across all your inboxes — same pattern as the tickets badge, so it feels native.
Compose opens in a modal with a rich-text editor (bold, italic, underline, lists, links). Reply, Reply-all, and Forward are there too; they preserve the RFC822 In-Reply-To and References headers so threads stay threaded — replies don't split into separate conversations the way they do with naive subject-based threading.
Drafts, signatures, attachments
Three things everyone expects and all three are here.
Drafts auto-save as you type (1.2s debounce). They live in a dedicated Drafts folder with a count badge, and they're private — your draft in a shared inbox is only visible to your account. You don't have to worry about a half-finished message being visible to the whole team.
Signatures work at two levels. The inbox has a default signature that applies to everyone. Anyone who wants their own sign-off can set a per-user signature that overrides the default when they send. Useful for a shared support inbox where Alice wants to sign off differently from Bob.
Attachments work both ways. Inbound attachments show up in the message view as download links. Outbound attachments upload to Monospace storage, then get base64-encoded and forwarded to Resend when you hit send. No file-size hoops beyond what Resend itself accepts.
Threading that actually works
Side note for the email nerds: we generate our own Message-ID header on every outbound email. That means when the recipient replies, their mail client's In-Reply-To header points at our ID, and we can match the reply back to the sent thread.
Most DIY email clients skip this step and rely on subject-matching ("Re: …" + same participants), which works until someone changes the subject mid-thread or two unrelated threads share a generic subject. Custom Message-IDs are the one clean way to do it and they're worth the extra complexity.
The collision case
If you already have support@yourcompany.com configured as a tickets inbox and then create an Inbox at the same address, the Inbox wins — incoming mail goes there and stops creating tickets. We warn you about this when you create the inbox, so it isn't a surprise. If you need both behaviors (tickets for one channel, shared inbox for another), use different local-parts — tickets@ vs team@, for example.
Encryption
Same pipeline as notes and project descriptions. Message body (plain text + HTML) is AES-256-GCM encrypted at rest. Subjects, participants, and snippets are stored in plaintext so the thread list can render without decrypting every row — that's a deliberate tradeoff to keep the inbox snappy.
This is the feature I've wanted for a long time. Shared email, done inside the tool you're already using, with permissions that match how your team is actually structured. Available now on Corporate and Enterprise.
If you're on a lower plan and want this, let me know what you'd use it for — I'm always interested in how teams actually use their tools.
— Cam