Our own · Agency OpsRunning (our own) · demo on synthetic data

Answer every client from one inbox, whichever channel they wrote on.

Agency Ops is one inbox for a services business. Email, chat and direct messages land in one conversation record, are sorted as they arrive, and carry the pipeline of every client conversation on the same data. OCTYN runs its own client work on it, behind a sign-in only OCTYN can pass. Internal as of 2026-07-06.

For your leadership teamInside: message sorting · one client record · pipeline on the same data

The short version

The inbox, to use.

Running for OCTYN's own client work, behind a sign-in only OCTYN can pass. This desk is a demo of it on synthetic data: every client, person and message is invented. Open a thread, then send, edit or hold the drafted reply.

Unified inbox5 unread · 6 waiting on ussynthetic data
Unmatched · WhatsApp

Following up on the numbers you sent, one line looks off.

Assign to
Client 3Lead · Email
Every channel, one timeline
  1. EmailClient 32 days agoSent the brief over. Let us know what the next step looks like.
Drafted reply

Thanks for sending the brief. Next step is a short call to confirm scope before the build starts.

  • Built from:
  • the brief attached to their last email
  • the standard checklist for a Lead-stage client

Decides · the ownerSends the reply on this thread, holds it for another look, or edits it first.

In shortEvery client's email, WhatsApp, Telegram and direct messages land in one record, sorted by who is waiting on whom, beside the pipeline each client sits in.

  1. The inbox sorts itself by who is waiting on whom.Unread first, then the threads waiting on us. A client's reply moves their thread up.Read how
  2. Every channel is one timeline.Email, WhatsApp, Telegram and direct messages sit in one record per client, each line tagged with its channel.Read how
  3. A reply is drafted, with what it was built from.The sources are named under the draft, so the owner checks them before anything goes.Read how
  4. Nothing sends until the owner decides.Send, edit or hold. The record keeps who closed the step.Read how
  5. The pipeline sits on the same record.Where a client stands and what they last said are one lookup.Read how
The long version

The deep dive.

The same inbox, taken apart: what each region holds, the rules behind it, one message walked end to end, and where a thread does not go straight through.

The situation

Four channels, one record per client.

Clients of a services business write on email, WhatsApp, Telegram and direct messages. Agency Ops puts all four in one conversation record per client and sorts each message as it arrives.

The pipeline sits on the same record as the conversations, so where a client stands and what they last said are one lookup. A conversation that stalls is followed up instead of being quietly lost.

OCTYN runs its own client work on it, behind a sign-in only OCTYN can pass. It is built to be fitted to another services business. The desk on this page is a demo of it: every client, person and message is invented.

Region by region

The inbox, taken apart.

The screen has three columns: the inbox on the left, the open thread in the middle and the pipeline on the right. Here is each part in turn, and what it holds.

The inbox

An inbox, a thread and a pipeline.

On the left, every client's conversations, sorted. In the middle, the open thread: its timeline, the drafted reply and the send gate. On the right, the pipeline the client sits in and the steps a person has closed on them. Every client and message here is synthetic.

Unified inbox5 unread · 6 waiting on ussynthetic data
Unmatched · WhatsApp

Following up on the numbers you sent, one line looks off.

Assign to
Studio 7Onboarding · Email + WhatsApp
Every channel, one timeline

This thread arrived on Email + WhatsApp, merged into one record.

  1. WhatsAppStudio 7yesterdaySent the onboarding form here too, in case email is slower.
  2. EmailStudio 7yesterdayFollowing up on the onboarding form, since nobody replied on WhatsApp yet.
Drafted reply

The onboarding form arrived, thanks. Scheduling the kickoff call for this week.

  • Built from:
  • the onboarding form attached on both channels
  • the open kickoff slot on the calendar

Decides · the ownerSends the reply on this thread, holds it for another look, or edits it first.

  1. The inbox

    An inbox, a thread and a pipeline.

    On the left, every client's conversations, sorted. In the middle, the open thread: its timeline, the drafted reply and the send gate. On the right, the pipeline the client sits in and the steps a person has closed on them. Every client and message here is synthetic.

  2. Left · The inbox

    One row per client, in the order they need us.

    Each row shows the client, their stage, the channels they have written on and whether the next move is ours or theirs. A dot marks unread. The filter shows all threads, only those waiting on us, or only those waiting on them.

    Unified inbox5 unread · 6 waiting on ussynthetic data
    Unmatched · WhatsApp

    Following up on the numbers you sent, one line looks off.

    Assign to
    Studio 7Onboarding · Email + WhatsApp
    Every channel, one timeline

    This thread arrived on Email + WhatsApp, merged into one record.

    1. WhatsAppStudio 7yesterdaySent the onboarding form here too, in case email is slower.
    2. EmailStudio 7yesterdayFollowing up on the onboarding form, since nobody replied on WhatsApp yet.
    Drafted reply

    The onboarding form arrived, thanks. Scheduling the kickoff call for this week.

    • Built from:
    • the onboarding form attached on both channels
    • the open kickoff slot on the calendar

    Decides · the ownerSends the reply on this thread, holds it for another look, or edits it first.

  3. Left, top · Unmatched

    A message with no client waits for a person.

    When a message arrives that the desk cannot match to any client, it sits above the inbox with the channel it came in on. It names the clients it might belong to. A person picks one, and the message joins that client's thread.

    Unified inbox5 unread · 6 waiting on ussynthetic data
    Unmatched · WhatsApp

    Following up on the numbers you sent, one line looks off.

    Assign to
    Studio 7Onboarding · Email + WhatsApp
    Every channel, one timeline

    This thread arrived on Email + WhatsApp, merged into one record.

    1. WhatsAppStudio 7yesterdaySent the onboarding form here too, in case email is slower.
    2. EmailStudio 7yesterdayFollowing up on the onboarding form, since nobody replied on WhatsApp yet.
    Drafted reply

    The onboarding form arrived, thanks. Scheduling the kickoff call for this week.

    • Built from:
    • the onboarding form attached on both channels
    • the open kickoff slot on the calendar

    Decides · the ownerSends the reply on this thread, holds it for another look, or edits it first.

  4. Middle · One timeline

    Every channel, one timeline.

    Each message is tagged with its channel, who wrote it and when, so the thread reads in one place. A client who wrote on two channels has one record, with a note under the label saying it was merged.

    Unified inbox5 unread · 6 waiting on ussynthetic data
    Unmatched · WhatsApp

    Following up on the numbers you sent, one line looks off.

    Assign to
    Studio 7Onboarding · Email + WhatsApp
    Every channel, one timeline

    This thread arrived on Email + WhatsApp, merged into one record.

    1. WhatsAppStudio 7yesterdaySent the onboarding form here too, in case email is slower.
    2. EmailStudio 7yesterdayFollowing up on the onboarding form, since nobody replied on WhatsApp yet.
    Drafted reply

    The onboarding form arrived, thanks. Scheduling the kickoff call for this week.

    • Built from:
    • the onboarding form attached on both channels
    • the open kickoff slot on the calendar

    Decides · the ownerSends the reply on this thread, holds it for another look, or edits it first.

  5. Middle · The drafted reply

    A reply, and the sources it was built from.

    When a thread is waiting on us, a reply is already drafted. Under it, a short list says what the draft was built from: the client's own message, the form they attached, the open slot on the calendar. The owner reads the sources, not just the sentence.

    Unified inbox5 unread · 6 waiting on ussynthetic data
    Unmatched · WhatsApp

    Following up on the numbers you sent, one line looks off.

    Assign to
    Studio 7Onboarding · Email + WhatsApp
    Every channel, one timeline

    This thread arrived on Email + WhatsApp, merged into one record.

    1. WhatsAppStudio 7yesterdaySent the onboarding form here too, in case email is slower.
    2. EmailStudio 7yesterdayFollowing up on the onboarding form, since nobody replied on WhatsApp yet.
    Drafted reply

    The onboarding form arrived, thanks. Scheduling the kickoff call for this week.

    • Built from:
    • the onboarding form attached on both channels
    • the open kickoff slot on the calendar

    Decides · the ownerSends the reply on this thread, holds it for another look, or edits it first.

  6. Middle · The send gate

    Send, edit or hold.

    The gate is where a person decides. Send sends the reply as drafted. Edit opens it in a field first. Hold keeps it for another look, and Draft again brings it back. Nothing leaves the desk on its own.

    Unified inbox5 unread · 6 waiting on ussynthetic data
    Unmatched · WhatsApp

    Following up on the numbers you sent, one line looks off.

    Assign to
    Studio 7Onboarding · Email + WhatsApp
    Every channel, one timeline

    This thread arrived on Email + WhatsApp, merged into one record.

    1. WhatsAppStudio 7yesterdaySent the onboarding form here too, in case email is slower.
    2. EmailStudio 7yesterdayFollowing up on the onboarding form, since nobody replied on WhatsApp yet.
    Drafted reply

    The onboarding form arrived, thanks. Scheduling the kickoff call for this week.

    • Built from:
    • the onboarding form attached on both channels
    • the open kickoff slot on the calendar

    Decides · the ownerSends the reply on this thread, holds it for another look, or edits it first.

  7. Right · The pipeline

    Five stages, kept on the same data.

    Lead, Onboarding, Build, Live and Renewal, each with a count and the clients in it. The open client's stage is marked, with a button to move them one stage on. The pipeline reads from the same record as the conversations, so the two cannot disagree.

    Unified inbox5 unread · 6 waiting on ussynthetic data
    Unmatched · WhatsApp

    Following up on the numbers you sent, one line looks off.

    Assign to
    Studio 7Onboarding · Email + WhatsApp
    Every channel, one timeline

    This thread arrived on Email + WhatsApp, merged into one record.

    1. WhatsAppStudio 7yesterdaySent the onboarding form here too, in case email is slower.
    2. EmailStudio 7yesterdayFollowing up on the onboarding form, since nobody replied on WhatsApp yet.
    Drafted reply

    The onboarding form arrived, thanks. Scheduling the kickoff call for this week.

    • Built from:
    • the onboarding form attached on both channels
    • the open kickoff slot on the calendar

    Decides · the ownerSends the reply on this thread, holds it for another look, or edits it first.

  8. Right, lower · On this client

    Every closed step, with who closed it.

    Under the pipeline, a short log of what has been done on this client: replies sent, threads merged, stages moved. Each line ends with the person who closed it, so the desk always answers who did what.

    Unified inbox5 unread · 5 waiting on ussynthetic data
    Unmatched · WhatsApp

    Following up on the numbers you sent, one line looks off.

    Assign to
    Workshop 4Build · Telegram
    Every channel, one timeline
    1. TelegramAccount lead 1just nowNumbers are updated in the section flagged. Ready for another look when convenient.
    2. TelegramWorkshop 42 days agoLooks close. One section still needs the numbers updated.
    3. TelegramAccount lead 13 days agoFirst draft of the build is ready for a look.

    Waiting on Workshop 4 to reply.

Inside each region · running

How each region is built to work.

The system runs for OCTYN's own client work. These figures play the rules the demo above runs on, one region at a time, on synthetic data. Each state comes from the desk's own code.

Running (our own) · the inboxeight threads

How the inbox puts the next reply first.

  1. Client 3LeadEmailWaiting on us
  2. Studio 7OnboardingEmail + WhatsAppWaiting on us
  3. Workshop 4BuildTelegramWaiting on us
  4. Practice 2BuildDirect messageWaiting on us
  5. Client 9LiveWhatsAppWaiting on them
  6. Studio 5LiveEmailWaiting on us
  7. Client 6LiveTelegramQuiet since 12 days ago
  8. Workshop 11RenewalDirect messageWaiting on us

Eight threads, as they came in.

The order is one rule: unread threads first, then the threads waiting on us, otherwise as they came. It is the same rule the desk above runs. When a client replies, their thread flips to waiting on us and takes its place.
Running (our own) · one timelineStudio 7 · Email + WhatsApp

How two channels become one record.

WhatsApp · yesterdaySent the onboarding form here too, in case email is slower.
Email · yesterdayFollowing up on the onboarding form, since nobody replied on WhatsApp yet.
Studio 7 · Onboarding
  1. WhatsAppSent the onboarding form here too, in case email is slower.
  2. EmailFollowing up on the onboarding form, since nobody replied on WhatsApp yet.

This thread arrived on Email + WhatsApp, merged into one record.

Studio 7 wrote on WhatsApp and on email. The desk keeps one record for the client, whichever channel a message came in on. Each line keeps its channel tag, and the thread says it was merged.
Running (our own) · the drafted replythree threads, in turn

How a reply is drafted from named sources.

The client wroteStudio 5Quick question about the renewal date on the contract.today
Built from
  • the renewal date on file
  • the contract summary sent at kickoff
Drafted replyRenewal date is the same as the anniversary of the build going live, noted on the contract summary.
A thread waiting on us gets a reply drafted from what is on the record: the client's own message, the file they sent, the open slot on the calendar. The sources are written under the draft, so the owner can check the sentence against them.
Running (our own) · the send gatePractice 2 · the ops lead

How a reply waits for the owner.

Drafted reply

The review call is moved to tomorrow, same time.

Decides · the owner

Sends the reply on this thread, holds it for another look, or edits it first.

SendEditHold
What the record says
In the inboxWaiting on us
On this client, by whomNo steps closed yet.

Drafted. Nothing has gone.

A drafted reply goes nowhere until a person closes it. Send, Edit and Hold each leave a line in the client's log naming who closed the step. The loop plays each in turn: send as drafted, edit then send, hold.
Running (our own) · the pipelineWorkshop 4 · Account lead 1

How a client moves down the pipeline.

  1. 01Lead1
  2. 02Onboarding1
  3. 03Build2
  4. 04Live3
  5. 05Renewal1
Workshop 4
On this client, by whom
  1. Moved to Renewal · closed by Account lead 1
  2. Moved to Live · closed by Account lead 1
  3. Moved to Build · closed by Account lead 1
A stage is a step a person closes. The client's owner moves them one stage on, the counts change on the same record, and the log keeps who did it. The pipeline is never kept in a second place.
One message, end to end

Studio 5's question, from arrival to sent.

One message through every region. It arrives, is sorted, gets a drafted reply, waits for the owner and goes out. Each step is the desk's own rule, applied to Studio 5's thread.

01 / 5

Studio 5 asks about the renewal date.

A quick question about the renewal date on the contract arrives by email today. It lands on Studio 5's record with the channel on the line.

Unified inbox5 unread · 6 waiting on ussynthetic data
Unmatched · WhatsApp

Following up on the numbers you sent, one line looks off.

Assign to
Studio 5Live · Email
Every channel, one timeline
  1. EmailStudio 5todayQuick question about the renewal date on the contract.
Drafted reply

Renewal date is the same as the anniversary of the build going live, noted on the contract summary.

  • Built from:
  • the renewal date on file
  • the contract summary sent at kickoff

Decides · the ownerSends the reply on this thread, holds it for another look, or edits it first.

Edge cases

When a thread does not go straight through.

  1. Unified inbox5 unread · 6 waiting on ussynthetic data
    Unmatched · WhatsApp

    Following up on the numbers you sent, one line looks off.

    Assign to
    Studio 7Onboarding · Email + WhatsApp
    Every channel, one timeline

    This thread arrived on Email + WhatsApp, merged into one record.

    1. WhatsAppStudio 7yesterdaySent the onboarding form here too, in case email is slower.
    2. EmailStudio 7yesterdayFollowing up on the onboarding form, since nobody replied on WhatsApp yet.
    Drafted reply

    The onboarding form arrived, thanks. Scheduling the kickoff call for this week.

    • Built from:
    • the onboarding form attached on both channels
    • the open kickoff slot on the calendar

    Decides · the ownerSends the reply on this thread, holds it for another look, or edits it first.

    One client on two channels.

    Studio 7 sent its onboarding form on WhatsApp and again on email. The thread says it arrived on Email + WhatsApp, merged into one record, and the client's log records who merged it. There is one client and one timeline.

  2. Unified inbox5 unread · 6 waiting on ussynthetic data
    Unmatched · WhatsApp

    Following up on the numbers you sent, one line looks off.

    Assign to
    Client 6Live · Telegram
    Every channel, one timeline

    Quiet since 12 days ago. The follow-up date passed 6 days ago.

    1. TelegramOps lead12 days agoChecking in ahead of the renewal window, let us know if timing still works.

    Waiting on Client 6 to reply.

    A thread gone quiet.

    Client 6 has not answered in 12 days. The follow-up date passed 6 days ago. The row reads Quiet since 12 days ago, and the thread carries both dates, so a stalled conversation is seen rather than lost.

  3. Unified inbox5 unread · 6 waiting on ussynthetic data
    Unmatched · WhatsApp

    Following up on the numbers you sent, one line looks off.

    Assign to
    Practice 2Build · Direct message
    Every channel, one timeline
    1. Direct messagePractice 2todayCan we push the review call by a day.
    Drafted reply

    The review call is moved to tomorrow, same time.

    • Built from:
    • the client's message asking to push the call
    • the open slot on tomorrow's calendar

    Decides · the ownerSends the reply on this thread, holds it for another look, or edits it first.

    A message with no client.

    A WhatsApp message about "the numbers you sent" could belong to Workshop 4 or Practice 2. The desk does not guess. It lists the candidates, the ops lead assigns it, and the message joins that thread.

What a person always decides
  1. Send, edit or hold a replythe client's ownerA drafted reply goes nowhere until a person closes it. The log keeps who did.
  2. Move a client one stage onthe client's ownerA stage is a step a person closes, so the pipeline never moves on its own.
  3. Assign an unmatched messagethe ops leadThe desk lists the clients a message might belong to. A person picks.
  4. Merge two channels into one recordthe ops leadThe log on a merged thread reads closed by the ops lead.
What the design settles

What this design decides.

  1. 01ArriveEmail, chat and direct messages from every channel land in one conversation record.
  2. 02SortEach message is classified as it arrives: which client, which conversation, what it needs.
  3. 03PipelineWhere each client stands is kept on the same record as what they last said.
  4. 04ReplyA reply is prepared on the conversation, whichever channel it came in on.
The boundary · one recordNo conversation lives outside the one record, whichever channel it came in on.
The line it holds
No conversation lives outside the one record, whichever channel it came in on.
Where it runs
For OCTYN’s own client work, behind a sign-in only OCTYN can pass. Internal as of 6 July 2026.
On the record
Four channels in one conversation store, 6 July 2026.
For another business
It is built to be fitted to another services business.
Left out
No real client, roster or inbox appears on this page. Every client, person and message on the desk is synthetic.

Try the inbox

Something like this, for your company?

The first conversation is with the people who would build it. If there is a fit, the Consult comes next.

Map something similar