Gmail logo

Integrate Gmail with your AI CRM

Gmail is Google’s email service, featuring spam protection, search functions, and seamless integration with other G Suite apps for productivity

Explore Triggers and Actions

Email Sent

Triggers when a Gmail message is sent by the authenticated user. It polls the 'SENT' label and emits metadata including sender, recipients, subject, timestamp, and thread ID.

TriggerpollTry it

New Gmail Message Received Trigger

Triggers when a new message is received in Gmail.

TriggerpollTry it

Batch delete Gmail messages

Permanently deletes multiple Gmail messages by ID, bypassing Trash. A successful request does not confirm individual messages existed or were deleted.

ActionTry it

Batch modify Gmail messages

Adds or removes labels on up to 1,000 Gmail messages in one request, supporting operations such as archiving and marking messages read or unread. A successful response confirms request acceptance, not individual message status.

ActionTry it

Create email draft

Creates a Gmail draft with optional recipients, subject, plain or HTML body, attachments, and threading. When a requested thread cannot be fetched, the draft is created without threading; a provided subject is used instead of the thread subject.

ActionTry it

Create Gmail filter

Tool to create a new Gmail filter with specified criteria and actions. Use when the user wants to automatically organize incoming messages based on sender, subject, size, or other criteria. Note: you can only create a maximum of 1,000 filters per account.

ActionTry it

Create label

Creates a Gmail label and returns its label ID. For nested labels, it may create missing parent labels; on a name conflict it attempts to return the existing matching label.

ActionTry it

Delete Draft

Permanently deletes a specific Gmail draft using its ID with no recovery possible; verify the correct `draft_id` and obtain explicit user confirmation before calling. Ensure the draft exists and the user has necessary permissions for the given `user_id`.

ActionTry it

Delete Gmail filter

Tool to permanently delete a Gmail filter by its ID. Use when you need to remove an existing email filtering rule.

ActionTry it

Delete label from account (permanent)

Permanently DELETES a user-created Gmail label from the account (not from a message). WARNING: This action DELETES the label definition itself, removing it from all messages. System labels (INBOX, SENT, UNREAD, etc.) cannot be deleted. To add/remove labels from specific messages, use GMAIL_ADD_LABEL_TO_EMAIL action instead.

ActionTry it

Delete message

Permanently deletes a specific email message by its ID from a Gmail mailbox; for `user_id`, use 'me' for the authenticated user or an email address to which the authenticated user has delegated access.

ActionTry it

Delete thread

Tool to immediately and permanently delete a specified thread and all its messages. This operation cannot be undone. Use threads.trash instead for reversible deletion.

ActionTry it

Fetch emails

Lists Gmail messages with query and label filtering, pagination, and optional message details. Individual detail fetches returning 404, 429, or 503 are skipped, so a page can contain fewer messages than the list result.

ActionTry it

Fetch message by message ID

Fetches a Gmail message by its message ID in the requested format and returns formatted message details. Available fields depend on the format.

ActionTry it

Fetch Message by Thread ID

Retrieves messages from an accessible Gmail thread by thread ID, returning thread details and a messages array. Message order is not guaranteed; use messageTimestamp to identify oldest or newest messages and labelIds to filter drafts.

ActionTry it

Forward email message

Forwards an existing Gmail message to specified recipients, with optional additional text. The tool copies original message parts into a new message, but may alter MIME structure and attachment metadata.

ActionTry it

Get Auto-Forwarding Settings

Tool to get the auto-forwarding setting for the specified account. Use when you need to retrieve the current auto-forwarding configuration including enabled status, forwarding email address, and message disposition.

ActionTry it

Get contacts

Lists saved Google contacts with selectable fields and pagination, optionally including Other Contacts. Other Contacts are fetched on the first page; endpoint failures can result in partial results, and contact records may be sparse.

ActionTry it

Get Draft

Retrieves a single Gmail draft by its ID. Use this to fetch and inspect draft content before sending via GMAIL_SEND_DRAFT. The format parameter controls the level of detail returned.

ActionTry it

Get Gmail attachment

Retrieves a Gmail message attachment by message and attachment IDs and returns a downloadable file using the supplied filename.

ActionTry it

Get Gmail filter

Tool to retrieve a specific Gmail filter by its ID. Use when you need to inspect the criteria and actions of an existing filter.

ActionTry it

Get IMAP Settings

Retrieves the IMAP settings for a Gmail user account, including whether IMAP is enabled, auto-expunge behavior, expunge behavior, and maximum folder size.

ActionTry it

Get label details

Gets details for a specified Gmail label. Use this to retrieve label information including name, type, visibility settings, message/thread counts, and color.

ActionTry it

Get Language Settings

Tool to retrieve the language settings for a Gmail user. Use when you need to determine the display language preference for the authenticated user or a specific Gmail account.

ActionTry it

Get People

Retrieves a person's details by resource name or lists the authenticated user's Other Contacts, using a field mask to select the information returned. Other Contacts can be paginated and queried using a sync token for changes since a previous sync.

ActionTry it

Get POP settings

Tool to retrieve POP settings for a Gmail account. Use when you need to check the current POP configuration including access window and message disposition.

ActionTry it

Get Profile

Retrieves Gmail profile information (email address, aggregate messagesTotal/threadsTotal, historyId) for a user. messagesTotal counts individual emails; threadsTotal counts conversations; neither is per-label — use GMAIL_FETCH_EMAILS with label filters for label-specific counts. The returned historyId seeds incremental sync via GMAIL_LIST_HISTORY; if historyIdTooOld is returned, rescan with GMAIL_FETCH_EMAILS before resuming. Response may be wrapped under a top-level data field; unwrap before reading fields. A successful call confirms mailbox connectivity but not full mailbox access if granted scopes are narrow. Use the returned email address to dynamically identify the authenticated account rather than hard-coding it.

ActionTry it

Get send-as alias

Tool to retrieve a specific send-as alias configuration for a Gmail user. Use when you need to get details about a send-as email address including display name, signature, SMTP settings, and verification status. Fails with HTTP 404 if the specified address is not a member of the send-as collection.

ActionTry it

Get Vacation Settings

Tool to retrieve vacation responder settings for a Gmail user. Use when you need to check if out-of-office auto-replies are configured and view their content.

ActionTry it

Import message

Tool to import a message into the user's mailbox with standard email delivery scanning and classification. Use when you need to add an existing email to a Gmail account without sending it through SMTP. This method doesn't perform SPF checks, so it might not work for some spam messages.

ActionTry it

Insert message into mailbox

Tool to insert a message into the user's mailbox similar to IMAP APPEND. Use when you need to add an email directly to a mailbox bypassing most scanning and classification. This does not send a message.

ActionTry it

List CSE identities

Lists a page of client-side encrypted identities and their key-pair associations. A response indicating that CSE is not enabled is returned as an empty list.

ActionTry it

List CSE key pairs

Lists a page of client-side encryption key pairs, including public keys and enablement states. A response indicating that CSE is not enabled is returned as an empty list.

ActionTry it

List Drafts

Retrieves a paginated list of email drafts from a user's Gmail account. Use verbose=true to get full draft details including subject, body, sender, and timestamp. Draft ordering is non-guaranteed; iterate using page_token until it is absent to retrieve all drafts. Newly created drafts may not appear immediately. Rapid calls may trigger 403 userRateLimitExceeded or 429 errors; apply exponential backoff (1s, 2s, 4s) before retrying.

ActionTry it

List forwarding addresses

Tool to list all forwarding addresses for the specified Gmail account. Use when you need to retrieve the email addresses that are allowed to be used for forwarding messages.

ActionTry it

List Gmail filters

Tool to list all Gmail filters (rules) in the mailbox. Use for security audits to detect malicious filter rules or before creating new filters to avoid duplicates.

ActionTry it

List Gmail history

Lists Gmail mailbox change history since a known history ID for incremental sync, with optional label and history-type filters and pagination. An empty history list means no records matched the request, not necessarily that no mailbox changes occurred.

ActionTry it

List Gmail labels

Retrieves all system and user-created labels for a Gmail account in a single unpaginated response. Primary use: obtain internal label IDs (e.g., 'Label_123') required by other Gmail tools — display names cannot be used as label identifiers and cause silent failures or errors. System labels (INBOX, UNREAD, SPAM, TRASH, etc.) are case-sensitive and must be used exactly as returned; INBOX, SPAM, and TRASH are read-only and cannot be added/removed via label modification tools. The Gmail search 'label:' operator accepts display names, but label_ids parameters in tools like GMAIL_FETCH_EMAILS require internal IDs from this tool — mixing conventions yields zero results silently. Do not hardcode label IDs across sessions; refresh via this tool on conflict errors.

ActionTry it

List Gmail messages (Deprecated)

DEPRECATED: Use GMAIL_FETCH_EMAILS instead. Lists the messages in the user's mailbox. Use when you need to retrieve a list of email messages with optional filtering by labels or search query.

ActionTry it

List S/MIME configs

Lists S/MIME certificate configurations for a specified Gmail send-as alias. If Gmail reports that the feature is not enabled, returns an empty list with S/MIME marked disabled.

ActionTry it

List send-as aliases

Lists the send-as aliases for a Gmail account, including the primary address and custom 'from' aliases. Use when you need to retrieve available sending addresses for composing emails.

ActionTry it

List threads

Retrieves a list of email threads from a Gmail account, identified by `user_id` (email address or 'me'), supporting filtering and pagination. Spam and trash are excluded by default unless explicitly targeted via `label:spam` or `label:trash` in the query.

ActionTry it

Modify email labels

Adds and/or removes specified Gmail labels for a message; ensure `message_id` and all `label_ids` are valid (use 'listLabels' for custom label IDs).

ActionTry it

Modify thread labels

Adds or removes specified existing label IDs from a Gmail thread, affecting all its messages; ensure the thread ID is valid. To modify a single message only, use a message-level tool instead.

ActionTry it

Move to Trash

Moves an existing, non-deleted email message to the trash for the specified user. Trashed messages are recoverable and still count toward storage quota until purged. Prefer this over GMAIL_BATCH_DELETE_MESSAGES when recovery may be needed. For bulk operations, use GMAIL_BATCH_MODIFY_MESSAGES or GMAIL_BATCH_DELETE_MESSAGES instead of repeated calls to this tool.

ActionTry it

Patch Label

Patches the specified user-created label. System labels (e.g., INBOX, SENT, SPAM) cannot be modified and will be rejected.

ActionTry it

Patch send-as alias

Patches a Gmail send-as alias, including its display name, reply-to address, signature, default status, or SMTP configuration. This tool declares support for service-account OAuth, not standard OAuth.

ActionTry it

Remove label (Deprecated)

Permanently deletes an existing user-created Gmail label by ID and removes it from messages and threads where it is applied. This action is deprecated.

ActionTry it

Reply to email thread

Sends a reply to a Gmail thread using its original subject and quoting the last returned message. Requires a thread ID and at least one recipient, and supports optional file attachments.

ActionTry it

Search People

Searches saved contacts and optionally Other Contacts by query, returning matching person records. When both sources are requested, results may be partial if one search fails.

ActionTry it

Send Draft

Sends an existing Gmail draft immediately to the recipients already in its To, Cc, and Bcc headers. The draft's recipients and content cannot be changed by this action; confirm them before sending.

ActionTry it

Send Email

Sends an email immediately through Gmail to specified To, Cc, or Bcc recipients, with a subject or body and optional attachments. Supports plain text or HTML and may append the configured Gmail signature; attachments are limited to 20 MiB in total before encoding.

ActionTry it

Stop watch notifications

Tool to stop receiving push notifications for a Gmail mailbox. Use when you need to disable watch notifications previously set up via the watch endpoint.

ActionTry it

Trash thread

Moves the specified thread to the trash. Any messages that belong to the thread are also moved to the trash.

ActionTry it

Untrash Message

Tool to remove a message from trash in Gmail. Use when you need to restore a previously trashed email message.

ActionTry it

Untrash thread

Tool to remove a thread from trash in Gmail. Use when you need to restore a deleted thread and its messages.

ActionTry it

Update draft

Updates a Gmail draft by ID by replacing its message. The tool reads the existing draft to preserve omitted recipients, subject and body where applicable, but existing attachments are not preserved unless supplied again.

ActionTry it

Update Google Contact

Replace selected fields on an existing saved Google contact.

ActionTry it

Update IMAP settings

Tool to update IMAP settings for a Gmail account. Use when you need to modify IMAP configuration such as enabling/disabling IMAP, setting auto-expunge behavior, or configuring folder size limits.

ActionTry it

Update Label

Updates an existing Gmail label's name, visibility settings, or color to help organize the mailbox. Color is available for user labels and requires both a background and text color from Gmail's supported palette.

ActionTry it

Update Language Settings

Tool to update the language settings for a Gmail user. Use when you need to change the display language preference for the authenticated user or a specific Gmail account. The returned displayLanguage may differ from the requested value if Gmail selects a close variant.

ActionTry it

Update POP settings

Tool to update POP settings for a Gmail account. Use when you need to configure POP access window or message disposition behavior.

ActionTry it

Update send-as alias

Updates a Gmail send-as alias, including its display name, signature, reply-to address, or SMTP settings; Gmail sanitizes HTML signatures before saving. The tool declares support for service-account OAuth, not standard OAuth; non-primary addresses require domain-wide delegation.

ActionTry it

Update Vacation Settings

Tool to update vacation responder settings for a Gmail user. Use when you need to configure out-of-office auto-replies.

ActionTry it

Who Am I

Return the identity (email, name) of the connected Gmail account.

ActionTry it

How the Gmail integration works

The Gmail integration connects your Dench AI CRM directly to Gmail, so agents can read and act on your Gmail data as part of everyday work — answering questions in chat, keeping your CRM in sync, and running automations without anyone copying data between tools.

63 actions are available for agents to invoke on your behalf, and 2 triggers can start a Dench automation the moment something changes in Gmail. Every call runs through Gmail's own authorization, scoped to the account you connect.

Set up Gmail in Dench

  1. 1

    Sign in to your Dench workspace and open Integrations.

  2. 2

    Find Gmail and click Connect — you'll authorize access through Gmail's own sign-in flow. No API keys or code required.

  3. 3

    Ask an agent to use Gmail in chat, or wire a Gmail trigger into an automation.

  4. 4

    Manage or disconnect the connection any time from workspace settings.

Frequently asked questions

How does the Gmail integration work with Dench?

The Dench Gmail integration connects your AI CRM to Gmail, so AI agents can work with your Gmail data as part of chats, automations, and CRM workflows. You connect your account once, and every agent in your workspace can use it — governed by your workspace permissions.

What actions can AI agents perform with Gmail via Dench?

The Gmail integration currently exposes 63 actions, including Batch delete Gmail messages, Batch modify Gmail messages, Create email draft, Create Gmail filter, Create label, and Delete Draft. Agents invoke them on your behalf from chat or from automations.

Can Dench react to events in Gmail automatically?

Yes. The Gmail integration provides 2 triggers — such as Email Sent, and New Gmail Message Received Trigger — that can start a Dench automation the moment something happens in Gmail.

Do I need to write code to connect Gmail to Dench?

No. You connect Gmail from your Dench workspace using Gmail's own sign-in and authorization flow — no API keys to copy, no glue code to maintain.

Is the Gmail integration secure?

Connections are authorized through Gmail's own authentication flow, and Dench stores only the authorization needed to act on your behalf. You can review and disconnect the Gmail connection from your workspace settings at any time.

Gmail | Dench AI CRM