Gmail
Send, read, and search email.
CommunicationOAuth63 endpoints
Endpoints
| Operation | Method & path | Effect | Latency | Rate | Cost |
|---|---|---|---|---|---|
GMAIL_ADD_LABEL_TO_EMAIL 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). | POST /composio/gmail/gmail_add_label_to_email | external_send | — | — | managed |
GMAIL_BATCH_DELETE_MESSAGES Tool to permanently delete multiple Gmail messages in bulk, bypassing Trash with no recovery possible. Use when you need to efficiently remove large numbers of emails (e.g., retention enforcement, mailbox hygiene). Use GMAIL_MOVE_TO_TRASH instead when reversibility may be needed. Always obtain explicit user confirmation and verify a sample of message IDs before executing. High-volume calls may trigger 429 rateLimitExceeded or 403 userRateLimitExceeded errors; apply exponential backoff. | POST /composio/gmail/gmail_batch_delete_messages | external_send | — | — | managed |
GMAIL_BATCH_MODIFY_MESSAGES Modify labels on multiple Gmail messages in one efficient API call. Supports up to 1,000 messages per request for bulk operations like archiving, marking as read/unread, or applying custom labels. High-volume calls may return 429 rateLimitExceeded or 403 userRateLimitExceeded; apply exponential backoff. | POST /composio/gmail/gmail_batch_modify_messages | external_send | — | — | managed |
GMAIL_CREATE_EMAIL_DRAFT Creates a Gmail email draft. While all fields are optional per the Gmail API, practical validation requires at least one of recipient_email, cc, or bcc and at least one of subject or body. Supports To/Cc/Bcc recipients, subject, plain/HTML body (ensure `is_html=True` for HTML), attachments, and threading. Returns a draft_id that must be used as-is with GMAIL_SEND_DRAFT — synthetic or stale IDs will fail. When creating a draft reply to an existing thread (thread_id provided), leave subject empty to stay in the same thread; setting a subject will create a NEW thread instead. HTTP 429 may occur on rapid creation/send sequences; apply exponential backoff. | POST /composio/gmail/gmail_create_email_draft | external_send | — | — | managed |
GMAIL_CREATE_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. | POST /composio/gmail/gmail_create_filter | external_send | — | — | managed |
GMAIL_CREATE_LABEL Creates a new label with a unique name in the specified user's Gmail account. Returns a labelId (e.g., 'Label_123') required for downstream tools like GMAIL_ADD_LABEL_TO_EMAIL, GMAIL_BATCH_MODIFY_MESSAGES, and GMAIL_MODIFY_THREAD_LABELS — those tools do not accept display names. | POST /composio/gmail/gmail_create_label | external_send | — | — | managed |
GMAIL_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`. | POST /composio/gmail/gmail_delete_draft | external_send | — | — | managed |
GMAIL_DELETE_FILTER Tool to permanently delete a Gmail filter by its ID. Use when you need to remove an existing email filtering rule. | POST /composio/gmail/gmail_delete_filter | external_send | — | — | managed |
GMAIL_DELETE_LABEL 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. | POST /composio/gmail/gmail_delete_label | external_send | — | — | managed |
GMAIL_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. | POST /composio/gmail/gmail_delete_message | external_send | — | — | managed |
GMAIL_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. | POST /composio/gmail/gmail_delete_thread | external_send | — | — | managed |
GMAIL_FETCH_EMAILS Fetches a list of email messages from a Gmail account, supporting filtering, pagination, and optional full content retrieval. Results are NOT sorted by recency; sort by internalDate client-side. The messages field may be absent or empty (valid no-results state); always null-check before accessing messageId or threadId. Null-check subject and header fields before string operations. For large result sets, prefer ids_only=true or metadata-only listing, then hydrate via GMAIL_FETCH_MESSAGE_BY_MESSAGE_ID. | GET /composio/gmail/gmail_fetch_emails | none | — | — | managed |
Showing 12 of 63 Gmail actions. Every action is in the provider catalog, and the CLI and MCP list them with their inputs.