TriageDesk

> WATCHING SUPPORT@ AND OPS@

<

HOME

>

How it works
Changelog
Pricing
Demo
See the live demo
TriageDesk

> WATCHING SUPPORT@ AND OPS@

<

HOME

>

How it works
Changelog
Pricing
Demo
See the live demo

<

HOME

>

How it works
Changelog
Pricing
Demo
See the live demo
TriageDesk

> WATCHING SUPPORT@ AND OPS@

SCROLL FOR MORE

Open the inbox

Open the inbox

Open the inbox

[to a queue,]
not a backlog.not a backlog.not a backlog.

TriageDesk reads support@ overnight, works out what every message is, and drafts the reply. In the morning you approve, edit or kill each one — and nothing leaves your mailbox until you tap it.

See the live demo
Start free
See the live demo
Start free
See the live demo
Start free

>

READS OVERNIGHT

READS OVERNIGHT

READS OVERNIGHT

//

//

//

DRAFTS THE REPLY

DRAFTS THE REPLY

DRAFTS THE REPLY

//

//

//

YOU APPROVE

YOU APPROVE

YOU APPROVE

<

[n.

01

/

10

]

> Why TriageDesk

[n.

01

/

10

]

> Why TriageDesk

[n.

01

/

10

]

> Why TriageDesk

An agent that answers to you

and can prove what it did

It works in your mailbox, in your voice, and writes down why it decided what it decided. Nothing reaches a customer without a human tapping approve.

An agent that answers to you

and can prove what it did

It works in your mailbox, in your voice, and writes down why it decided what it decided. Nothing reaches a customer without a human tapping approve.

An agent that answers to you

and can prove what it did

It works in your mailbox, in your voice, and writes down why it decided what it decided. Nothing reaches a customer without a human tapping approve.

See the live demo
Icon Line
Icon Pixel

//

001

Your mailbox, not ours

Microsoft 365 or Gmail. Replies go out from your address and thread in the customer's own conversation.

Icon Line
Icon Pixel

//

002

Reads before it writes

Every message is classified and priced for urgency before a single reply is drafted.

Icon Line
Icon Pixel

//

003

A receipt on every action

Each decision carries verbatim spans of the customer's message — evidence you can check.

Icon Line
Icon Pixel

//

001

Your mailbox, not ours

Microsoft 365 or Gmail. Replies go out from your address and thread in the customer's own conversation.

Icon Line
Icon Pixel

//

002

Reads before it writes

Every message is classified and priced for urgency before a single reply is drafted.

Icon Line
Icon Pixel

//

003

A receipt on every action

Each decision carries verbatim spans of the customer's message — evidence you can check.

Icon Line
Icon Pixel

//

001

Your mailbox, not ours

Microsoft 365 or Gmail. Replies go out from your address and thread in the customer's own conversation.

Icon Line
Icon Pixel

//

002

Reads before it writes

Every message is classified and priced for urgency before a single reply is drafted.

Icon Line
Icon Pixel

//

003

A receipt on every action

Each decision carries verbatim spans of the customer's message — evidence you can check.

[n.

02

/

10

]

> Numbers

[n.

02

/

10

]

> Numbers

[n.

02

/

10

]

> Numbers

Every one of these

is a constant in the code, not a claim

Every one of these

is a constant in the code, not a claim

Every one of these

is a constant in the code, not a claim

See the live demo

120 a day

Hard ceiling on replies out of one mailbox. Past it the queue stops draining until tomorrow — nothing is lost.

3 a thread

Past this many agent replies, every further message in that conversation goes to a human and stays there.

3 categories

Complaints, legal threats and cancellations are never drafted at all — a branch in the code, not a threshold.

60 a pass

What one overnight run reads. The watermark means the next run resumes where it stopped, so a backlog is worked down rather than dropped.

// The kill window

120s

Seconds an approved reply is held before it leaves your mailbox. Undo inside it and the customer never saw anything.

// Approve before send

0

Replies this agent can send without a human tapping approve. There is no code path that does it and no setting that adds one.

[n.

03

/

10

]

> Core Features

One agent between the inbox

and the first person who opens it

Microsoft 365 or Gmail, connected by OAuth. It reads what arrived since the last run and sends nothing without your tap.

A category and an urgency for every message, with the sender's own words quoted back as the reason it decided.

Drafted from the thread and your saved answers and nothing else. Where the answer is in neither, it says so rather than guessing.

  1. 01Read
  2. 02Classify
  3. 03Draft
  4. 04Approve

Microsoft 365 and Gmail, in one morning queue.

Keep the mailbox

TriageDesk connects to Microsoft 365 or Gmail and works inside it — replies go out from your own address, land in your own Sent folder, and thread in the customer's own conversation.

  • Microsoft 365Unread mail since the watermark, and the reply threaded by Graph's createReply.
  • GmailOne scope — gmail.modify. It cannot permanently delete a thread.
  • Approval gateNothing sends until a human taps approve. There is no autonomous path.
  • Receipts and capsEvery action logged with its evidence, and both caps enforced in code.

You approve, edit or kill each card

Approving does not send — it stages the reply behind a 120-second window you can still use.

Never drafted, in code

3 categories it refuses to answer

Complaints, legal threats and cancellations go to a human undrafted. It is a branch in the routing code, not a confidence threshold.

[n.

04

/

10

]

> The loop

[n.

04

/

10

]

> The loop

[n.

04

/

10

]

> The loop

It works overnight.

You approve in the morning.

It works overnight.

You approve in the morning.

It works overnight.

You approve in the morning.

See the live demo

// 01

A cron pass reads everything unread that arrived since the last time it ran — out of the Microsoft 365 or Gmail inbox your team already lives in. No forwarding address, no second system of record, no migration.

Overnight, on your own mailbox

The pass resumes from a watermark rather than polling: it asks the provider only for unread mail received after the newest message it recorded, up to 60 in one run, and advances the watermark only once a message is actually written down — so a pass that dies halfway re-reads instead of skipping.

// 02

What lands is one card per conversation: the drafted reply, what the sender is actually asking for, and the line from their message that decided it. Approve it, edit the wording, or kill it outright.

A morning queue, not a morning inbox

A drafted reply is written to the queue as pending_review, and the only code path that reaches the mail rail runs against rows a human has already approved. There is no autonomous mode to switch on.

// 03

Every read, classification, draft, handoff, approval, kill and send is written to the ledger with the evidence it acted on. Approving stages the reply rather than sending it, so you get a beat to change your mind.

A receipt on every action, and a window to take it back

A 120-second undo window on an approved reply — the dispatcher will not pick a row up before its window has elapsed, undo flips it to cancelled atomically, and the receipt is written BEFORE the mail rail is touched, so a send that could not be logged does not go out. Each tick moves at most 20 due replies, so the queue drains over minutes rather than as one burst out of a real company mailbox.

// 04

When a check does not pass, the agent stops and hands the thread to you. It never proceeds on a maybe, and there is no flag anywhere that makes it proceed anyway.

Gates fail closed

A draft that commits to a refund, a credit, a discount, a guarantee or a date the thread never mentioned is thrown away. 3 categories — complaints, legal threats and cancellations — are never drafted at all. A thread past 3 agent replies goes to a human and stays there, and past 120 replies in a day the queue stops draining until tomorrow.

[n.

05

/

10

]

> The artifact

[n.

05

/

10

]

> The artifact

[n.

05

/

10

]

> The artifact

queue / drafted for your approval
Microsoft 365 · support@northwind.examplePriya Raman · priya@lumenworks.example
Read as a bug report · urgent93% confident
What arrived
Hi — our CSV exports have been failing since Tuesday. It spins for about a minute and then says something went wrong, no error code. We close the month on Friday so this is blocking us. Anything you can tell me would help.
The line that decided it
We close the month on Friday so this is blocking us
Drafted reply

Thanks for the detail — the spin-then-fail on CSV export is something we can see on our side too, and it is not something you have configured wrong. I have put this in front of the team with your account attached and flagged that you close on Friday. I do not want to give you a fix time I cannot stand behind, so I will come back to you as soon as I have one either way. If you need the data before then, tell me which date range and I will get it to you directly.

Waiting on youDrafted, nothing sent — approve, edit or kill

This is the thing

you actually get.

Not a dashboard tour — one card out of the morning queue, exactly as the agent writes it. What arrived, what the agent took it to be, the line from the sender's own message that decided it, the reply it drafted, and why that reply is or is not on its way.

[n.

06

/

10

]

> What you get

[n.

06

/

10

]

> What you get

[n.

06

/

10

]

> What you get

Everything a morning needs,

done before you get there

Everything a morning needs,

done before you get there

Everything a morning needs,

done before you get there

Start free

From the first unread message to the reply that goes out, TriageDesk runs the sorting on your own mailbox — you only approve.

Reads everything unread since the last run, and writes down what each one is.

The overnight pass

//

001

Connect Microsoft 365 or Gmail — nothing to migrate and no new place for customers to write to.

Start free

Reads everything unread since the last run, and writes down what each one is.

The overnight pass

//

001

Connect Microsoft 365 or Gmail — nothing to migrate and no new place for customers to write to.

Start free

Reads everything unread since the last run, and writes down what each one is.

The overnight pass

//

001

Connect Microsoft 365 or Gmail — nothing to migrate and no new place for customers to write to.

Start free

One card per conversation, with the reply already written.

The morning queue

//

002

Approve, edit or kill. The card carries the ask, the category, and the line that decided it.

Start free

One card per conversation, with the reply already written.

The morning queue

//

002

Approve, edit or kill. The card carries the ask, the category, and the line that decided it.

Start free

One card per conversation, with the reply already written.

The morning queue

//

002

Approve, edit or kill. The card carries the ask, the category, and the line that decided it.

Start free

[n.

07

/

10

]

> Pricing

Priced per inbox, not per person who reads it.

FREE

Watch it read and sort your inbox. It never drafts and never sends.

Free

Start free

Includes:

Overnight pass over your own mailbox

Every message classified and prioritised

The full ledger, with its evidence

No credit card required

Not in this tier — Drafted replies in a morning queue

Not in this tier — Approve, edit and kill

Not in this tier — Sending from your own mailbox

DESK

The whole loop on one shared inbox. Unlimited people reading it.

$39

/month

Start free

Includes:

Everything in Free

A drafted reply per conversation

Approve, edit or kill each one

Sends from your own mailbox, in-thread

The 120-second window on every approved send

Unlimited people on the inbox

Not in this tier — More than one shared inbox

TEAM

For a team running support@, ops@ and billing@ side by side.

$99

/month

Start free

Includes:

Everything in Desk

Several shared inboxes, one queue

Per-inbox voice and saved answers

Per-inbox send caps

Microsoft 365 and Gmail side by side

Full ledger export

Same approve-every-send control

[n.

08

/

10

]

> Changelog

[n.

08

/

10

]

> Changelog

[n.

08

/

10

]

> Changelog

What shipped, and when.

What shipped, and when.

What shipped, and when.

Read the changelog »

Aug 14, 2026

The overnight pass, the queue and the undo window

Aug 14, 2026

The loop shipped: a cron pass reads unread mail since its watermark, classifies it, and writes one drafted reply per conversation into a morning queue.

Aug 14, 2026

Receipts you can actually check

Aug 14, 2026

Every action writes a ledger row carrying the evidence it acted on — and the evidence is verbatim spans of the customer's own message.

Aug 14, 2026

Both caps, and the categories it refuses

Aug 14, 2026

A per-thread reply cap and a per-day send cap now bound the loop, and neither can be waived.

[n.

10

/

10

]

> FAQ

The things a small team asks first.

How the overnight pass works, what it connects to, what it refuses to do, and what you can check afterwards.

//

001

It reads every message that arrived in your shared inbox since the last time it ran, works out what each one is — a bug, a billing question, a cancellation, a bounce — and writes one drafted reply per thread. In the morning you get a queue of cards instead of a wall of unread mail. Nothing has been sent.

//

002

No, and there is no setting that turns that on. Every draft is written to a review queue, and the only code path that reaches the mail rail is the one that runs against replies a human already approved. Approving does not send either — it stages the reply behind a kill window you can use.

//

003

No. Your system of record stays Microsoft 365 or Gmail. Replies go out from your own address, land in your own Sent folder, and thread inside the customer's own conversation. If you turned TriageDesk off tomorrow your inbox would be exactly where you left it.

//

004

Nothing gets drafted. Complaints, legal threats and cancellations are routed to a human undrafted — that is a branch in the code, not a confidence threshold, so it cannot be tuned away by a model having a good day.

//

005

Every classification and every draft writes a ledger row carrying the evidence it acted on, and the evidence is verbatim spans of the customer's own message. A quote the message does not literally contain is dropped before it is ever shown, so a receipt in the ledger is something you can check without opening the original.

//

006

It is not allowed to. A drafted reply may only commit to something already present in the thread or in the answers your team has saved — a refund, a credit, a discount, a guarantee or a date that appears in neither is rejected outright and the thread goes to a human instead.

//

007

Two things per message: what it is — a bug, a billing question, a sales enquiry, an onboarding request, a feature ask, a complaint, a legal matter, a cancellation, an auto-reply or a cold pitch — and how urgent it is. Everything after that follows from those two answers.

//

008

Urgent means production is down, money is moving wrongly, a deadline is today, or the sender is escalating. It is a judgement on the message rather than on the sender, so a polite customer with a real outage outranks an impatient one asking about an invoice.

//

009

One prepared reply per conversation, using your team's name, your sign-off and the tone you set. Where the answer is not in the thread or in your saved answers it says plainly that it is checking and will come back — it is instructed never to fill the gap with a guess.

//

010

Three things catch it before you ever see it, and a fourth after. A draft carrying a bracketed placeholder is thrown away. A draft that commits to something the thread never mentioned is thrown away. A draft it cannot parse at all is thrown away. And the one that survives is still just a card in a queue with a Kill button on it.

//

011

Up to a cap, and then it stops for good. A thread the agent has already answered 3 times is, by definition, not a thread it is solving — every further message in it goes to a human and stays with them.

//

012

Records them and stops. They are classified like everything else so your counts stay honest, and then they are done — no card, no draft, no notification. A morning queue full of postmaster notices is not a queue.

//

013

Microsoft 365 and Gmail. Both connect by OAuth against your own account; there is no forwarding address, no IMAP password, and no copy of your inbox living somewhere else as the system of record.

//

014

On Microsoft 365, Mail.ReadWrite and Mail.Send — write access because an approved reply goes out through Graph's createReply, which threads it inside the customer's own conversation. On Gmail, one scope: gmail.modify, which covers reading, sending and marking read, and cannot permanently delete a thread.

//

015

It is built not to. The overnight pass resumes from a watermark and asks the provider once for a bounded window of unread mail rather than polling, the dispatcher moves at most 20 due replies per tick so the queue drains over minutes rather than as one burst, and the daily send cap sits far below the ceilings Microsoft and Google publish for a single mailbox. Those published ceilings are on this page, with their sources.

//

016

Your address. They go out as the connected mailbox, land in your own Sent folder, and thread inside the conversation the customer started — so a reply looks like a reply, not like a ticket notification from a third party.

//

017

Reading and sending stop immediately, and the loop reports that the mailbox is gone rather than failing quietly. Your inbox is untouched: every message it read is still exactly where it was, because it was never moved anywhere.

//

018

The tokens are encrypted at rest and never reach a browser — the integrations row is read server-side and only the account label and its connection state are sent to the page. The message bodies are stored so the queue can show you what you are replying to, and they are readable only by your own account.

Questions

Need help with something? We are a small team too. Write to us and a person answers.

Email us »
  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

Open the inbox to a queue, not a backlog.

The demo is live — a real morning on a support inbox, with the queue already drafted. Free, no card.

See the live demo
  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

Open the inbox to a queue, not a backlog.

The demo is live — a real morning on a support inbox, with the queue already drafted. Free, no card.

See the live demo
  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

Open the inbox to a queue, not a backlog.

The demo is live — a real morning on a support inbox, with the queue already drafted. Free, no card.

See the live demo
  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

  • //

    [#drafts-the-reply]

    &

    [#you-approve]

TriageDesk

The overnight triage agent for a shared inbox. Open it to a queue, not a backlog.

PAGES

  • Home
  • How it works
  • Changelog
  • Pricing
  • Demo

GET IN TOUCH

  • hello@kynth.studio

© 2026 TriageDesk. A Kynth Studios product.

Privacy Policy/Terms of Use/Cookie Policy
Built by Kynth Studios