Email · Integration
GmailAGNT

AI agents for Gmail

The inbox most operations still start in. AGNT connects to Gmail so agents can read what happens there, reason about it, and act — with a receipt for every run.

Install Inbox Triage → Get AGNT free

Inbox Triage is a ready-made agent that works in Gmail — free, and it runs on your machine.

Gmail and AGNT, in brief

What it doesLets an AGNT agent read from and act in Gmail.
Connects withOne OAuth sign-in
AGNT nodegmail-api
Runs whenA new email arrives
Typical build timeTwo minutes
Where data goesNowhere by default — AGNT runs on your machine and credentials never leave it.

What you can automate

Reacts when…

  • a new email arrives
  • a label is applied
  • a thread goes unanswered

Agents can…

  • send or draft a reply
  • apply labels and archive
  • extract attachments and fields

Teams use it for

  • triage and classify incoming mail
  • draft routine replies for approval
  • turn attachments into structured records

Copy this Gmail workflow

Take the simplest useful version: a new email arrives in Gmail. Instead of a rule firing blindly, an agent reads the item in full, works out whether it matters and what it means, and then decides whether to send or draft a reply. Over a week that turns triage and classify incoming mail from something a person checks into something that reports to a person.

The shape is deliberately small. A trigger watching Gmail, an agent that judges what arrived, and one action taken only when that judgment warrants it. Everything below is the actual definition, not an illustration of one.

Gmail workflow: run on a schedule → read it and decide → act in gmail TRIGGER trigger-timer Run on a schedule Every fifteen minutes. ACTION agnt-agent Read it and decide Judged against your own rules. ACTION gmail-api Act in Gmail Runs Search and Read Emails.
Nothing here calls out to us: AGNT talks to Gmail directly from your machine, and each run leaves a receipt you can read line by line afterwards.
Gmail — read, decide, actpaste into a new workflow
{
  "id": "4bdb4799-d273-4d5e-af6d-fb0dc481ad80",
  "name": "Gmail — read, decide, act",
  "nodes": [
    {
      "id": "61d35246-49eb-4abb-a0ea-43dd54baa3c2",
      "text": "Run on a schedule",
      "x": 512,
      "y": 144,
      "isEditing": false,
      "type": "trigger-timer",
      "icon": "clock",
      "category": "trigger",
      "isSelected": false,
      "parameters": {
        "interval": "15",
        "unit": "minutes"
      },
      "description": "Checks Gmail every fifteen minutes.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "ff9afd35-18b0-4362-a7dc-b313981473c0",
      "text": "Read it and decide",
      "x": 512,
      "y": 336,
      "isEditing": false,
      "type": "agnt-agent",
      "icon": "agnt",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "instructions": "Read the Gmail item and decide whether it warrants action. Explain your reasoning."
      },
      "description": "Judges the Gmail item against criteria you wrote in plain language.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "471bac7b-bf19-4819-a0c0-b10a06e8afc2",
      "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": "Runs Search and Read Emails on your behalf.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    }
  ],
  "edges": [
    {
      "id": "4587835b-ef7d-46c0-a3ad-e51b035158cc",
      "start": {
        "id": "61d35246-49eb-4abb-a0ea-43dd54baa3c2",
        "type": "output"
      },
      "end": {
        "id": "ff9afd35-18b0-4362-a7dc-b313981473c0",
        "type": "input"
      },
      "startX": 800,
      "startY": 168,
      "endX": 512,
      "endY": 360
    },
    {
      "id": "bc54c093-99a4-4261-a1cd-110ee03bc532",
      "start": {
        "id": "ff9afd35-18b0-4362-a7dc-b313981473c0",
        "type": "output"
      },
      "end": {
        "id": "471bac7b-bf19-4819-a0c0-b10a06e8afc2",
        "type": "input"
      },
      "startX": 800,
      "startY": 360,
      "endX": 512,
      "endY": 552
    }
  ],
  "zoomLevel": 1,
  "canvasOffsetX": 0,
  "canvasOffsetY": 0,
  "isTinyNodeMode": false
}

Install Inbox Triage — it runs on Gmail

Inbox Triage is a working agent that uses Gmail. Installing it drops the whole workflow onto your canvas — connected, editable, and yours to change.

Runs on your own machine · See what it does

The inbox is where most operations begin

A surprising amount of business process still arrives as email: invoices, support requests, leads, approvals. That makes Gmail the highest-leverage first integration for most teams, because triaging it well removes a daily tax that everything else queues behind.

Draft-first is the safe default

The pattern worth copying is read, classify, draft, escalate — with sending reserved for categories you have explicitly approved. The agent does the reading and the writing; a human keeps the send button until the receipts justify handing a specific category over.

What the Gmail node actually exposes

A powerful tool to send, reply, read, organize, and manage attachments in Gmail.

What it can do: Search and Read Emails Send Email Reply to Email Read Email Modify Email Get Attachments

Full Gmail API parameter reference
ParameterTypeWhat it does
operationrequired string The Gmail operation to perform.
Search and Read Emails · Send Email · Reply to Email · Read Email · Modify Email · Get Attachments
searchQuery string Optional. Gmail search query (e.g., 'from:user is:unread'). If blank, fetches latest emails.
only when operation is Search and Read Emails
maxResults number Maximum number of emails to return.
only when operation is Search and Read Emails
to string Recipient's email address. e.g. hello@example.com
only when operation is Send Email
subject string Email subject.
only when operation is Send Email
body string Email body. Can be plain text or HTML.
only when operation is Send Email or Reply to Email
attachments string Optional. JSON array of attachment objects: [{ filename: 'file.txt', mimetype: 'text/plain', content: 'base64_string' }]
only when operation is Send Email or Reply to Email
messageId string The ID of the email message to act on.
only when operation is Reply to Email or Read Email or Modify Email or Get Attachments
addLabelIds string Comma-separated list of Label IDs to add (e.g., 'STARRED', 'UNREAD').
only when operation is Modify Email
removeLabelIds string Comma-separated list of Label IDs to remove (e.g., 'INBOX', 'UNREAD').
only when operation is Modify Email

Every parameter above is read from the shipped gmail-api node, so it cannot drift from the product.

Connect Gmail in two minutes

  1. Download AGNT Community Core — free, local-first, no account needed to run.
  2. Connect with one OAuth sign-in from AGNT’s vault — tokens are stored encrypted on your machine and never leave it.
  3. Drop the Gmail node into a workflow or hand it to an agent — the first run produces a receipt you can read line by line.

Gmail + AGNT — common questions

Will an agent send email without approval?

Only where you configure it to. The default is draft-and-review, and most teams keep anything customer-facing that way.

Does my mail get uploaded anywhere?

No. AGNT runs locally and talks to Gmail directly. With a local model, message content never leaves your machine.

Can it work with attachments?

Yes — attachments can be read and their fields extracted into a sheet, database or ledger.

Give AI a job. Get the proof.