All guides

Guide

Gmail AI Agent: Triage, Draft, and Send From Chat

Gmail is the most connected app on OpenClaw Launch by a wide margin. Here is what connecting it actually does, the commands your agent runs underneath, and where the limits sit.

Gmail is a tool, not a channel

This distinction trips people up, so it is worth being blunt about it. A channel is where you talk to the agent — Telegram, WhatsApp, Discord, the web chat. Gmail is not that. Gmail is an action target: a set of capabilities the agent can reach for while you talk to it somewhere else. You message the agent on Telegram, and the mail lands in Gmail.

If what you actually want is for people to email your bot and have it reply, that is a different setup — see the IMAP email channel guide. Most people asking for “a Gmail AI agent” want this page: an assistant that can work your mailbox on command.

Connect it in three steps

  1. Open openclawlaunch.com/integrations while signed in.
  2. Find Gmail and click Connect. Google's consent screen opens; approve the account you want the agent to work with.
  3. Go back to chat and ask for something. No config file edit, no restart, no token to paste.
The connection is tied to your OpenClaw Launch account, not to one container. Connect Gmail once and every instance you own — OpenClaw or Hermes, now or later — can use it.

What the agent actually runs

Connecting installs a composio skill in your instance. It is a plain command-line tool, which means you can reason about exactly what happened after the fact. The agent discovers the right action first, then executes it:

# what is connected right now
composio connections

# find the action and its parameters
composio search gmail send email

# do the thing
composio execute GMAIL_SEND_EMAIL '{"to":"[email protected]","subject":"Q3 numbers","body":"Attached below."}'

The Gmail actions you will see most often:

  • GMAIL_FETCH_EMAILS — search and list messages, the backbone of any triage request
  • GMAIL_FETCH_MESSAGE_BY_MESSAGE_ID — pull one full message when the agent needs the whole thread
  • GMAIL_CREATE_EMAIL_DRAFT — write it into Drafts without sending, which is the safer default
  • GMAIL_SEND_EMAIL — send it

Draft first, send second

A recommendation from watching how people actually use this: tell your agent, once, in its instructions, to draft rather than send unless you say “send it”. An agent that writes to GMAIL_CREATE_EMAIL_DRAFT gives you a review step in the Gmail UI you already have open. An agent that defaults to GMAIL_SEND_EMAIL gives you a sent message and a feeling. The capability is the same either way; the difference is one line in your agent instructions.

Things worth asking for

  • “Anything in my inbox from the last two days that actually needs a reply? Skip newsletters.”
  • “Draft a polite decline to the recruiter email from Tuesday.”
  • “Find the invoice from Hetzner this month and tell me the amount.”
  • “Summarize the thread with Maria about the contract, then draft a reply agreeing to Friday.”
  • “Email the meeting notes we just wrote to the team.”

The last one is the real payoff of having Gmail as a tool rather than a channel: it composes with everything else. Notes written in chat, a file pulled from Google Drive, an event read off Google Calendar — all of it can end up in one email without you switching apps.

Limits, keys, and revoking access

Executed actions are metered daily: 100 for free trial and Lite, 1,000 for Pro. Discovery calls — connections and search — do not count, so an agent hunting for the right action is not burning your quota. If you hit the ceiling regularly, adding your own Composio API key on the integrations page removes the cap entirely and routes the calls through your own Composio project.

Revocation is one click on the same page, and it is immediate: the agent's next Gmail call fails with a clear “not connected” rather than silently using a stale token.

Frequently asked questions

Does the agent read my inbox on its own?

No. Nothing runs on a schedule unless you build a schedule. The Gmail actions fire when you ask for them in chat — the agent calls GMAIL_FETCH_EMAILS, gets a result, and answers you. If you want a recurring 8am digest you have to set that up deliberately with a scheduled task.

Do you store my Gmail password?

There is no password involved. The connection is Google OAuth, and the resulting token is held by Composio, the integration broker — not in your instance and not in our database. You revoke it from the integrations page, or from Google's own third-party access screen, and the agent immediately loses Gmail.

How many Gmail actions can I run per day?

Free trial and Lite get 100 write-style calls a day; Pro gets 1,000. Searching for an action and listing your connections are free — only the calls that actually do something count. If you paste your own Composio API key on the integrations page, the daily cap stops applying and the usage bills to your own Composio project instead.

Does this work on Hermes as well as OpenClaw?

Yes, identically. Both frameworks get the same composio command and the same Gmail actions; the difference is only in where the skill files land inside the container. One Gmail connection covers every instance on your account.

Related guides

Connect Gmail to your agent

Sign in, click Connect on Gmail, approve the Google consent screen. The agent picks it up on the next message.

Open Integrations