# Gmail

> Connect Gmail so an agent can search, read, and draft mail — and send only with your approval.

The Gmail connector lets an agent work through your inbox: search it, read messages and threads, prepare drafts, and — with your [approval](/docs/work/approvals/) — send.

## When to use it

Gmail is the connector most agents earn their keep with, because inbox work is repetitive and rule-shaped: triage, summarize, find the thing someone asked for last Tuesday, draft the reply you would have written anyway.

## Connect it

<Steps>

1. **Open Connectors** in [Agent Builder](/docs/build/agent-builder/) and choose Gmail.

2. **Sign in with Google and approve access.** Endue receives only what the consent screen lists.

3. **Bind it to the agent** that should use it.

</Steps>

<Aside type="caution" title="Check which Google account you are signing in as">
  If you are signed into both a work and a personal account, Google may pick the
  wrong one. The connection is tied to whichever account approved it.
</Aside>

## What an agent can do

| Operation | Gated |
| --- | --- |
| Search messages, and search threads | No |
| Read a message, or a whole thread in order | No |
| List labels, list drafts | No |
| Write a draft | No |
| **Send** | **Yes** |

Search accepts Gmail's own search syntax — `from:`, `label:`, `is:unread`, `after:`, quoted phrases. Saying *"unread mail from Sarah this week"* is enough; the agent constructs the query.

## Draft, then send

The split between drafting and sending is the shape of every safe email workflow:

- **Draft** is not gated. An agent can prepare ten replies while you are away, and they sit in your Gmail drafts.
- **Send** stops and shows you the recipient, subject, and body. Approve it and exactly that message goes out.

For a [routine](/docs/automate/routines/) that runs while you are asleep, ask for drafts. A send in an unattended run is refused, not queued.

## Getting better results

- **Say what "handled" means.** *"Flag anything asking me a direct question, quote the question, ignore newsletters"* beats *"summarize my inbox"*.
- **Point at labels.** An agent that works from a label you already maintain inherits your triage instead of reinventing it.
- **Keep it to one mailbox.** For two Google accounts, authorize two connections and bind each to the agent that needs it.

## Limits

- One Gmail account per connection.
- An agent can read anything the authorization covers. If that is more of your mail than you are comfortable with, bind Gmail only to agents that need it.
- Attachments are not read.
- Sending always requires approval. There is no setting to allow an agent to send unattended.

## Related

<CardGrid>
  <LinkCard
    title="Google Workspace"
    href="/docs/connect/google-workspace/"
    description="Calendar, Drive, Docs, Sheets, Slides, Tasks, and Contacts."
  />
  <LinkCard
    title="Approvals"
    href="/docs/work/approvals/"
    description="What you see before a message goes out."
  />
  <LinkCard
    title="Routines"
    href="/docs/automate/routines/"
    description="Inbox digests that run before you wake up."
  />
</CardGrid>
