Gmail Integrations
Connect Gmail accounts with Google OAuth so your AI agents can send email from your own address.
Objective
Connect one or more Gmail accounts through Google OAuth so your AI agents can send email from your own address. This page lists connected accounts, lets you connect more, disconnect them, and reconnect when a new permission is required.
Reading incoming mail is handled separately (see Gmail Inbox below); this page manages the outbound send connection.
Access
Sidebar -> Integrations -> Gmail card -> Connect Gmail / Manage.
Route: /app/{tenant}/integrations/gmail
The legacy path /app/{tenant}/settings/email redirects here.
Roles
- owner, admin, agent (the Integrations section is available to these roles).
Prerequisites
- A verified account email. If your account is unverified, a verification modal appears and blocks the connection.
- At least one AI agent with the Email channel enabled, so it can be picked in Assign Agent. Without one, the connect dialog shows Go to Agents instead.
- Available email-account quota on your plan. Reaching the limit opens a plan-limit dialog instead of connecting.
Connect a Gmail account
- Open Integrations -> Gmail and press Connect Gmail (or Connect Another Account if one is already connected).
- In the Connect Gmail Account dialog, choose the agent in Assign Agent (auto-selected when only one agent is eligible).
- Press Continue and complete Google's consent screen.
- On success you return to this page with the account listed.
Fields:
| Field | Mandatory | Format | Example | Note |
|---|---|---|---|---|
| Assign Agent | Yes | selection | Support Agent | Lists agents with the Email channel enabled. The credential is stored for the whole tenant; the agent is linked so it can send from this address. |
Permissions requested during consent:
| Permission | Purpose |
|---|---|
| Send emails on your behalf | Lets agents send outbound email from the account. |
| Manage labels and categories | Applies labels for sync and organization. |
Credentials are encrypted and stored securely.
Connected accounts
Each connected account is shown as a card with these controls:
| Control | Behavior |
|---|---|
| Status badge | Active or Disconnected, based on the stored connection. Access tokens are refreshed automatically, so an active account keeps working without manual action. |
| Go to Inbox | Opens the unified email Inbox. |
| Disconnect (trash icon) | Opens a confirmation dialog. Yes, Disconnect revokes access at Google and removes the stored credentials. |
Disconnecting also unlinks the account from any agent send tools; they are re-linked automatically if you reconnect the same address later.
Reconnect for label sync
Accounts connected before the labels permission was added need to be reconnected once. On the Integrations overview, the Gmail card shows a Reconnect required notice ("Gmail needs the new permission to sync labels and sent mail.") with a Reconnect Gmail or Review accounts action. Reconnecting re-runs the consent flow and grants the new permission.
Gmail Inbox (separate integration)
Reading incoming email uses a separate Gmail Inbox integration that requires Google approval and is being rolled out gradually. If you need inbound Gmail reading, contact support.
Good practices
- Reconnect promptly when you see the Reconnect required notice, so labels and sent mail stay in sync.
- Prefer OAuth over app passwords: it is more secure and access can be revoked at any time from your Google Account.
- Disconnect an account you no longer use to revoke access and remove stored credentials.
Common notes
- Cancelling the Google consent screen returns you to this page without connecting.
- Reaching your plan's email-account limit opens a plan-limit dialog with upgrade options instead of connecting.
- If your account email is unverified, verify it first; the connect button opens a verification modal until then.
- If a connection completes without a long-lived token, it may expire in about an hour and a notification is created. Disconnect and reconnect the account to restore access.
Screenshot
