Coming soon · v0.1.0-beta.2

Your team’s shared inbox, inside Filament.

Connect your team’s Gmail, Google Workspace and IMAP mailboxes, assign conversations, leave private notes and reply together. It runs in the Filament panel you already ship, and your mail stays in your own application.

Coming soon See what’s inside
  • Filament 5
  • Laravel 12 & 13
  • PHP 8.3+
  • Self-hosted
The Commonbox inbox in a Filament panel: a mailbox sidebar, a list of conversations and an open conversation with a reply box
The same conversation on a phone
1 line
to register it in your panel provider.
2 min
default mailbox sync, from 1 to 59 minutes.
30 days
of mail imported when you first connect.
0
hosted services. Mail and tokens stay in your app.

The problem

Everyone can see the inbox. No one knows who’s got it.

hello@, support@, partnerships@. One login passed around, or a forwarding rule and hope. So you bolt on a helpdesk, copy customer data into a third tool, add another login, and teach everyone a new place to look.

Commonbox keeps it where your team already works: the admin panel you built.

01

Who’s got this?

Assign any conversation to a mailbox member, or claim it with one click.

02

Did anyone reply?

Unread state, stars and resolution are shared, so the whole team sees the same thing.

03

What’s the context?

Internal notes sit in the thread, visible to the team and invisible to the customer.

What’s inside

Everything a small team needs to share an inbox.

Nine core features, then the smaller things that make a shared inbox usable.

01

Gmail, Workspace & IMAP

Connect as many mailboxes as you need. Gmail and Google Workspace through OAuth; everything else through IMAP and SMTP. No PHP IMAP extension required.

02

One inbox, or many

An All inboxes view plus a view per mailbox, each with its own unread count. People only ever see the mailboxes they belong to.

03

Teams and permissions

Agent and Manager roles per mailbox. Plug it into your own gates with three optional callbacks, or leave it open to your panel users.

04

Conversations that move

Threads, search, assignment, stars and Open, Awaiting reply and Resolved states. A new customer reply puts a waiting or resolved thread back in the Inbox.

05

Internal notes

Leave context for the team right in the thread. Notes are never sent as email.

06

Autosaving drafts

Private drafts per author, stale-save protection if someone else changes the thread, and a warning before you close an unsaved reply.

07

Send from aliases, with a check first

Aliases are discovered from your mail, labelled, restricted to chosen members, and need a verification step before anyone can send from them.

08

Attachments

Attach files to replies, new messages and notes. Incoming files download behind permission checks, never rendered inline. Limits are configurable.

09

Reply-all, CC and BCC

Up to 50 recipients, validated and de-duplicated. Reply-all never copies incoming BCC recipients.

And the small things

  • Send & wait, Send & resolve
  • Full-page mode
  • Light and dark interfaces
  • Responsive down to a phone
  • Per-mailbox connection health
  • Safe, sanitised HTML email
  • Audit-log activity event
  • Filament tenancy support
  • commonbox:doctor install check

Built for Filament

Feels like part of your panel, on any screen.

Commonbox lives in your Filament navigation, follows your panel’s authentication, and ships light and dark interfaces that are responsive down to a phone.

  • Full-page mode fills the browser for focused inbox time, then returns you to the admin layout without losing your draft.
  • Compact controls for the conversation column, with newest or oldest first.
  • Mobile inbox selector so alias inboxes stay reachable on small screens.
A Commonbox conversation open on a phone, with the reply box and Send reply button

Privacy & security

Your mail stays in your app.

Commonbox is a package, not a service. There is no Commonbox cloud sitting between your team and their email.

  • Self-hosted. Each install uses its own Google OAuth client. Mail and tokens are processed by your application.
  • Encrypted credentials. Passwords and tokens are encrypted with your application key.
  • Two Gmail scopes. Only gmail.readonly and gmail.send are requested.
  • Sanitised email. Scripts, forms, embeds, styling and images, tracking pixels included, are stripped from incoming HTML.
  • Your labels stay yours. Commonbox never rewrites Gmail labels or IMAP flags.
  • Auditable. Activity events carry actors and actions, never message bodies, note bodies or credentials.

Installation

A Composer package and a queue worker.

Commonbox is a private Composer package. Once you have repository access, it’s four steps in your app. Gmail mailboxes also need a Google OAuth client; IMAP mailboxes don’t.

01

Require the package

Needs GitHub access to the private repository. Service provider discovery is automatic.

composer config repositories.commonbox vcs \
  https://github.com/dandoingdev/filament-commonbox.git
composer require dandoingdev/filament-commonbox:0.1.0-beta.2

02

Register it in your panel

Open to your panel users by default. Restrict with optional callbacks.

use Dandoingdev\Commonbox\CommonboxPlugin;

return $panel
    // Your existing panel configuration...
    ->plugin(CommonboxPlugin::make());

// Optional: restrict who can use it
CommonboxPlugin::make()
    ->authorizeAccess(fn ($user): bool => $user->can('use-commonbox'));

03

Migrate and configure

Commonbox creates its own commonbox_* tables.

php artisan migrate
php artisan vendor:publish --tag=commonbox-config

# Gmail only: add your Google OAuth client
COMMONBOX_GOOGLE_CLIENT_ID=your-client-id
COMMONBOX_GOOGLE_CLIENT_SECRET=your-client-secret

04

Start the worker, check, connect

The sync schedule registers itself. Then open Mailboxes and connect your first inbox.

php artisan queue:work --queue=default --timeout=900 --tries=3
php artisan commonbox:doctor

What you need

  • PHP 8.3 or later, Laravel 12 or 13 and Filament 5
  • An existing Filament panel with authentication configured
  • Access to the private package repository, using a GitHub account that Composer can authenticate with
  • An asynchronous queue with a worker, and the Laravel scheduler
  • A cache store with atomic locks, shared between workers on multiple servers
  • A Google OAuth client for Gmail, or IMAP and SMTP credentials for anything else

Where it is today

Coming soon, and honest about it.

The product is built and under test. Packaging and licensing are next. Here’s what you’ll get when it ships, and what is still unfinished.

Here now

  • Gmail, Workspace and IMAP/SMTP mailboxes
  • Assignment, stars, notes and shared state
  • Aliases with a verification step before sending
  • Drafts, attachments, reply-all, CC and BCC
  • Connection health and diagnostics

Not yet

  • Rich-text composition
  • Forwarding, signatures and snooze
  • Syncing provider labels, deletions, moves or read status
  • Copying SMTP replies to the IMAP Sent folder
  • Paging for very long threads: every message in a conversation loads at once

Still being tested

Reading, assignment and the workflow are covered by automated tests against fake Gmail and IMAP transports. Live outgoing mail, whether your provider keeps an alias’s From header, and real IMAP/SMTP accounts still need acceptance testing. Sending is the part your own mailbox has to confirm, so try it on a non-critical address first.

Get Commonbox

Give your team one inbox.

Commonbox is coming soon. Licensing and checkout are still being finished. If you want to hear when it ships, get in touch and tell me a little about your setup: your mail provider, your team size and your Filament version.

Questions first? Ask me anything.

FAQ

Good questions.

Can’t see yours? Send it over.

Which versions does it support?

Commonbox needs PHP 8.3 or later, Laravel 12 or 13 and Filament 5, with an existing Filament panel that already has authentication configured. It does not support Filament 3 or 4.

Does my email pass through your servers?

No. Each installation uses its own Google OAuth client and its own mailbox credentials. Mail and tokens are processed by your application, not by a Commonbox-hosted service, and credentials are encrypted with your application key.

Will it change my Gmail labels or mark things as read?

No. Unread status, stars, assignments and resolution are shared team state inside Commonbox. They do not change Gmail labels or IMAP flags, and fetching messages over IMAP does not mark them as read at your provider.

What do I need to run alongside it?

An asynchronous queue with a running worker, the Laravel scheduler, and a cache store that supports atomic locks. Set your queue retry_after above 960 seconds (1200 is recommended). The commonbox:doctor command checks your migrations and queue and cache configuration, and Laravel Cloud setup is documented.

Does it work with Filament tenancy?

Yes. With tenancy enabled, mailboxes are scoped to the current panel and tenant, and a user added to a tenant mailbox must also be able to access that tenant.

Can I send from a Gmail alias or a shared address?

Yes, once the address passes a verification step. For Gmail you approve it in Send mail as, then verify it in Commonbox. For IMAP and SMTP, Commonbox sends a test email from the alias; SMTP acceptance enables the address but does not prove delivery or that your provider kept the From header, so check the delivered test before relying on it. Alias permissions also control who may send from that address.

Is it ready for production?

Not yet. Commonbox is coming soon (0.1.0-beta.2). The workflow is built and covered by automated tests, but packaging, licensing and live mailbox acceptance testing still need to land before it ships.

How is it licensed?

Commonbox is proprietary software. Commercial licence terms are supplied with the released product, and access to the repository does not grant redistribution rights.

Portrait of Dan Millwright-Hughes

Built by

Dan Millwright-Hughes

I’m a founder and fractional CTO, and I ship products through Cordage & Co Ltd, including apps live on the App Store and Google Play. Commonbox is built by me, so questions and feedback go straight to the person who wrote the code.

More about me · Get in touch

Commonbox for Filament

Stop asking “who’s replying to this?”

Connect a mailbox, add your team, and answer email together from the panel you already have.

Coming soon Ask a question

Commonbox Coming soon · Filament 5

Coming soon