Use case
GmailMicrosoft 365SlackAGNT

Email triage, done before you open the inbox

An AGNT agent reads incoming mail, classifies it, drafts replies for the routine cases, and escalates the ones that genuinely need you — all under rules you write.

The short version

The jobAn AGNT agent reads incoming mail, classifies it, drafts replies for the routine cases, and escalates the ones that genuinely need you — all under rules you write.
Tools it needsGmail, Microsoft 365, Slack, Notion
Setup4 steps, about ten minutes
Runs whenSomething happens in Slack
ApprovalYours, per category — nothing is sent on your behalf unless you say so
Where it runsYour own machine. Credentials stay in a local vault.

What the agent actually does

You only see what actually needs you

The agent reads the whole thread, not just the subject line, and sorts it against categories you define — billing, bug report, sales enquiry, noise. Because it is reading rather than pattern-matching, a message that never uses the word "refund" still lands in billing when that is plainly what it is about.

Draft replies, never send blind

For the categories you mark as routine, it composes a reply grounded in your docs and previous answers, and leaves it as a draft. You skim and send. Nothing reaches a customer that a human has not seen, unless you explicitly decide a category is safe to send unattended.

Escalate with context

Anything genuinely needing you arrives with the work already done: what the customer asked, their account state, what was promised previously, and a suggested response. The escalation is a briefing rather than a notification.

The tools this job needs

Gmail

Where the work arrives. The inbox most operations still start in. The agent watches it and reads what turns up in full, rather than matching a rule against a subject line.

Microsoft 365

Context the agent pulls in before deciding. Outlook, Teams and Office — the other half of many stacks. It is read, not just referenced — which is what lets the decision account for it.

Slack

Context the agent pulls in before deciding. Team chat where operations actually surface. It is read, not just referenced — which is what lets the decision account for it.

Notion

Where the result lands. The team wiki agents can actually keep current. Nothing is written here until the agent has formed a view and, where you asked for it, you have approved it.

Get this agent

Inbox Triage

An AGNT agent reads incoming mail, classifies it, drafts replies for the routine cases, and escalates the ones that genuinely need you — all under rules you write.

Runs on your own machine. Asks for Gmail, Slack and nothing else — you approve the connection, and the agent inherits whichever AI model you already use.

You can see exactly what it did

Nothing happens behind your back.

Every run leaves a receipt: what the agent read, which tools it called, what it decided and why, and precisely what it changed. Anything irreversible — sending, paying, publishing, deleting — waits for you to approve it. It runs on your own machine, with your own credentials, and the whole trail is yours to read afterwards. The point is not that you trust it. The point is that you never have to.

Why rules alone never finished the job

Every inbox eventually accumulates a stack of filters, and every stack has the same problem: it matches on surface features. A rule keyed to "invoice" misses the customer who writes about "the charge on my card", and catches the newsletter that mentions invoicing software. An agent classifies on meaning, which is why it handles the long tail that filters were never going to reach.

The judgment you keep

Triage is not one decision but two: what is this, and what should happen next. Agents are reliably good at the first and should be trusted with the second only where you have said so. The practical shape is an agent that classifies everything, drafts for most things, sends for a narrow set you have explicitly approved, and escalates anything it is unsure about — with uncertainty flagged rather than hidden behind a confident guess.

What it looks like after a month

The routine categories stop reaching you at all beyond a quick approval pass. The escalations arrive pre-researched, so handling one takes a minute instead of ten. And the receipts accumulate into evidence about which categories the agent has been consistently right on — which is exactly the basis on which you widen its remit.

Build it in AGNT

  1. Connect Gmail or Microsoft 365 with one sign-in; tokens are stored encrypted on your own machine.
  2. Describe your categories and what should happen to each — in plain language, not a rules DSL.
  3. Point the agent at your docs and past replies so drafts sound like your team rather than a chatbot.
  4. Run it against the last week of mail first, read the receipts, then let it work live.

Copy this workflow

Here is the shape in full rather than in prose: a trigger, a decision, an action. Paste the definition below into a new workflow and it loads exactly as drawn.

Email triage, done before you open the inbox: watch slack → read it and decide → act in gmail TRIGGER receive-slack-message Watch Slack Fires the moment it happens. ACTION agnt-agent Read it and decide Judged against your own rules. ACTION gmail-api Act in Gmail Runs Search and Read Emails.
The whole flow is local. Choosing to take no action counts as an outcome and is recorded like any other.
Email triage, done before you open the inboxpaste into a new workflow
{
  "id": "6089e112-b335-4b9b-ab20-6ab3bc16b69e",
  "name": "Email triage, done before you open the inbox",
  "nodes": [
    {
      "id": "903a6f96-c855-438d-a1af-3663dd464a1a",
      "text": "Watch Slack",
      "x": 512,
      "y": 144,
      "isEditing": false,
      "type": "receive-slack-message",
      "icon": "connect",
      "category": "trigger",
      "isSelected": false,
      "parameters": {},
      "description": "Listen for incoming Slack messages in a specified channel and trigger the workflow when a new message is received.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "2078e8e5-9d9c-4ac8-a058-6ae11552da6c",
      "text": "Read it and decide",
      "x": 512,
      "y": 336,
      "isEditing": false,
      "type": "agnt-agent",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "instructions": "The agent reads the whole thread, not just the subject line, and sorts it against categories you define — billing, bug report, sales enquiry, noise. Because it is reading rather than pattern-matching, a message that never uses the word \"refund\" still lands in billing when that is plainly what it is about."
      },
      "description": "An AGNT agent reads incoming mail, classifies it, drafts replies for the routine cases, and escalates the ones that genuinely need you — all under rules you write.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "b44079e5-db87-46bd-adbf-681e287a256a",
      "text": "Act in Gmail",
      "x": 512,
      "y": 528,
      "isEditing": false,
      "type": "gmail-api",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "action": "Search and Read Emails"
      },
      "description": "A powerful tool to send, reply, read, organize, and manage attachments in Gmail.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    }
  ],
  "edges": [
    {
      "id": "4b6638ce-000b-4a3c-a36a-3ce4e06bd018",
      "start": {
        "id": "903a6f96-c855-438d-a1af-3663dd464a1a",
        "type": "output"
      },
      "end": {
        "id": "2078e8e5-9d9c-4ac8-a058-6ae11552da6c",
        "type": "input"
      },
      "startX": 800,
      "startY": 168,
      "endX": 512,
      "endY": 360
    },
    {
      "id": "bebae4b5-e498-46b9-afed-5ba4df2543c2",
      "start": {
        "id": "2078e8e5-9d9c-4ac8-a058-6ae11552da6c",
        "type": "output"
      },
      "end": {
        "id": "b44079e5-db87-46bd-adbf-681e287a256a",
        "type": "input"
      },
      "startX": 800,
      "startY": 360,
      "endX": 512,
      "endY": 552
    }
  ],
  "zoomLevel": 1,
  "canvasOffsetX": 0,
  "canvasOffsetY": 0,
  "isTinyNodeMode": false
}

Put this agent to work

Free, local, and it asks for Gmail, Microsoft 365, Slack, Notion and nothing else.

Common questions

Will it send email without asking me?

Only if you tell it to, per category. The default is draft-and-review: the agent prepares the reply and a human sends it. Most teams keep it that way for anything customer-facing indefinitely.

Does my email get uploaded anywhere?

Not to us. AGNT runs on your machine and talks to your mail provider directly. If you point it at a local model through Ollama or LM Studio, the message content never leaves your hardware at all.

How is this different from Gmail’s built-in filters and smart reply?

Filters match strings and smart reply offers three generic sentences. This reads the full thread, uses your documentation and history, applies your escalation policy, and leaves a receipt showing why it decided what it did.

Give AI a job. Get the proof.