Hi Ben,
This maps to what we were looking at. Could you send over a proposal for ~30 seats? Want to bring it to my CFO this week.
— Maya
Stop bouncing between Gmail and Outlook tabs to triage eight mailboxes. Every conversation lands here, classified on arrival, assignable to a teammate, with the matching auto-action already fired.
Hi Ben,
This maps to what we were looking at. Could you send over a proposal for ~30 seats? Want to bring it to my CFO this week.
— Maya
Illustrative. The real unibox mirrors this layout: scope rail, conversation list, thread view, and a contact panel.
Run cold outreach from a handful of mailboxes and the replies scatter across that many provider inboxes. A positive lands in one tab, a bounce in another, an out-of-office in a third, and the sequence keeps sending while you go looking. The unibox pulls every one of those threads into a single console and decides what it is before you open it.
Every reply is classified before a human sees it, and each class fires its own deterministic action: pause the sequence, suppress the contact, re-queue after the out-of-office window, or surface it to the assignee. Nothing waits on someone opening the thread first.
Classifications you override train a workspace-scoped model. The defaults stay rule-driven for transparency.
Every scope down the left of the unibox is a live filter, and the counts update as mail arrives. Slice by mailbox, by classification, by label, or by where the conversation stands. Each view serialises to the URL, so a saved filter is just a link you can share or pin.
The prospect spoke last and the clock is on you. The header counts it live.
Pushed to a later date. It resurfaces at the top the moment the timer fires.
Replies queued to go out later, held to the mailbox send window and pacing.
Narrow to one connected inbox. Per-mailbox counts stay current in the rail.
Workspace categories you toggle on a thread. Create a new one inline.
Positive, negative, OOO, bounce. The class is set on arrival, before you look.
A positive reply does not just light up the inbox. The classifier emits one event, and the sequence pause, the assignment, the Slack ping, the CRM stage move, the realtime browser push, and the webhook all fire off it. By the time the assignee opens the thread, every other surface already agrees.
"This maps to what we were looking at. Could you send a proposal for ~30 seats?"
This is the positive path. Each of the other five classes has its own fan-out: a negative or unsubscribe suppresses workspace-wide, an OOO re-queues after the parsed date, a bounce retries or suppresses.
Open a thread and the contact panel comes with it: which campaigns the person is in, how they have engaged so far, their subscription state, and any CRM deal or task attached to them. You answer the reply with the whole history in view, not a cold message out of nowhere.
The unibox does not replace Gmail or Outlook. Threads still live in the underlying mailbox, and the console polls each one about once a minute to stay in step. Gmail goes through its History API, so a pass only pulls what changed, while everything else syncs over IMAP. Replies you send from here go out through the mailbox's own provider.
Gmail syncs through the Gmail History API, polled about once a minute. The history cursor means each pass only pulls what changed since the last one.
Outlook connects over IMAP and is polled about once a minute per mailbox.
Any other provider sends over SMTP and syncs over IMAP, on the same one-minute poll.
A reply you send from the unibox goes out through the mailbox's own provider, the Gmail API or SMTP, so it threads correctly in the real mailbox.
Positive · Negative · Referral · OOO · Unsubscribe · Bounce. Decided on arrival, before the human sees the thread.
Threads route to teammates by domain, round-robin, or manual pick. Reassign with a single click.
Push a thread to next week. A reminder fires if the recipient goes quiet for the window you set.
One search across every connected mailbox. Threads stay tied to their campaign and sequence step.
Mailbox, classification, assignee, label, awaiting-reply, snoozed, scheduled. Every filter serialises to the URL.
WebSocket push for replies, bounces, and complaints. Opt-in browser notifications. Nothing on opens.
The classifier is a rule plus small-model hybrid. Quoted text is stripped, signature blocks are ignored, and OOO and unsubscribe are detected before sentiment. A misclassification shows a "review needed" tag, and correcting one trains the workspace-scoped classifier.
No. Threads still live in the underlying mailbox. The unified inbox is a read and reply surface on top of them, kept in sync with provider state over the Gmail History API and IMAP.
Positive replies and quarantine transitions by default. It is configurable per workspace: every classification, just positives, or off. Webhooks carry the full classified payload.
Sync runs about once a minute per mailbox. Gmail uses the Gmail History API, so each pass only pulls what changed, while Outlook and any other provider sync over IMAP. A reply you send from the unibox goes out through the mailbox's own provider, the Gmail API or SMTP.
Connect your mailboxes, and watch every reply land here classified, assigned, and acted on.