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.
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 does | Lets an AGNT agent read from and act in Gmail. |
|---|---|
| Connects with | One OAuth sign-in |
| AGNT node | gmail-api |
| Runs when | A new email arrives |
| Typical build time | Two minutes |
| Where data goes | Nowhere 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
Design goal for Gmail: triage and classify incoming mail; draft routine replies for approval; turn attachments into structured records. The template below supplies configurable nodes, not the complete logic for those goals.
Use this Gmail setup template to arrange the schedule, input review and API operation. Configure the account-specific fields and add your own decision and approval controls before activation.
This is a schema-checked starting point, not an end-to-end tested automation. Replace every CONFIGURE_ value, choose the operations you intend, connect credentials and map source outputs into later inputs. An edge orders steps; it does not supply a condition, an approval gate or a field mapping. Add and test those controls explicitly before any write. Cloud APIs and model providers may receive data. Keep the workflow inactive until tested with fixtures.
{
"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": {
"fireOnStart": "No",
"scheduleType": "Interval",
"schedule": "Every 15 Minutes"
},
"description": "Setup template for Timer Trigger. This trigger node fires the workflow at specified intervals or at a specific time. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "ff9afd35-18b0-4362-a7dc-b313981473c0",
"text": "Review source and draft",
"x": 512,
"y": 336,
"isEditing": false,
"type": "agnt-agent",
"icon": "agnt",
"category": "action",
"isSelected": false,
"parameters": {
"agentId": "CONFIGURE_AGENTID",
"message": "Read the Gmail item and decide whether it warrants action. Explain your reasoning.\nSource input: CONFIGURE_SOURCE_INPUT. Produce a reviewable draft only; do not take external actions."
},
"description": "Setup template for Agent Chat. Chat with an AI agent from your agent library. Select an agent and send messages to interact with it within your workflow. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "471bac7b-bf19-4819-a0c0-b10a06e8afc2",
"text": "Configure destination in Gmail",
"x": 512,
"y": 528,
"isEditing": false,
"type": "gmail-api",
"icon": "connect",
"category": "action",
"isSelected": false,
"parameters": {
"operation": "Search and Read Emails",
"searchQuery": "CONFIGURE_SEARCHQUERY",
"maxResults": 1
},
"description": "Setup template for Gmail API. A powerful tool to send, reply, read, organize, and manage attachments in Gmail. Configure credentials, inputs and output mapping before use.",
"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
}
Configure Gmail API
A powerful tool to send, reply, read, organize, and manage attachments in Gmail.
- operation — The Gmail operation to perform. Current example:
Search and Read Emails. - searchQuery — Optional. Gmail search query (e.g., 'from:user is:unread'). If blank, fetches latest emails. Current example:
CONFIGURE_SEARCHQUERY. - maxResults — Maximum number of emails to return. Current example:
1.
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
| Parameter | Type | What 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
- Download AGNT Community Core — free, local-first, no account needed to run.
- Connect with one OAuth sign-in from AGNT’s vault — tokens are stored encrypted on your machine and never leave it.
- 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.