← Back to all apps

Gmail

Productivityby OpenAI

Review your Gmail conversations to prepare replies, recap recent exchanges, gather talking points for meetings, or highlight action items. Use past threads with a colleague or customer to quickly reorient yourself, understand what still needs attention, and write more confident, well-informed responses.

25ChatGPT Tools
OpenAIDeveloper
ProductivityCategory

Available Tools

Apply Labels To Emails

apply_labels_to_emails
Full Description

Apply labels to Gmail messages using label names rather than Gmail label IDs. This is the preferred labeling action for models because it avoids a separate label-id lookup step.

Parameters (1 required, 3 optional)
Required
message_idsarray
Optional
add_label_namesarray
Default: null
create_missing_labelsboolean
Default: False
remove_label_namesarray
Default: null

Archive Emails

archive_emails
Full Description

Archive one or more existing Gmail messages by removing Gmail's INBOX label. The messages remain in Gmail and can still be found later.

Parameters (1 required)
Required
message_idsarray

Batch Modify Email

batch_modify_email
Full Description

Add or remove Gmail labels on a batch of messages.

Parameters (1 required, 2 optional)
Required
message_idsarray
Optional
add_labelsarray
Default: null
remove_labelsarray
Default: null

Batch Read Email

batch_read_email
Full Description

Read multiple Gmail messages in a single call. Each successful result includes the message body plus metadata such as sender/recipient fields, subject, snippet, labels, timestamp, and attachment metadata.

Parameters (1 required)
Required
message_idsarray

Batch Read Email Personalization

batch_read_email_personalization
Full Description

Read Gmail emails with personalization parsing.

Parameters (1 required)
Required
message_idsarray

Batch Read Email Threads

batch_read_email_threads
Full Description

Fetch multiple Gmail conversation threads in one call. Pass message ids by default, or pass id_type='thread' when the provided ids are thread ids. Responses are deduplicated by resolved thread_id, preserving the first occurrence, and exact duplicate input ids are coalesced before fetching.

Parameters (1 required, 2 optional)
Required
idsarray
Optional
id_typestring
Default: message
max_messagesinteger
Default: 20

Bulk Label Matching Emails

bulk_label_matching_emails
Full Description

Apply a label to every Gmail message matching a Gmail search query. This action performs the search and label batching server-side, so it is suitable for very large backfills without sending message IDs through the model context.

Parameters (2 required, 2 optional)
Required
label_namestring
querystring
Optional
archiveboolean
Default: False
create_label_if_missingboolean
Default: True

Create Draft

create_draft
Full Description

Create a Gmail draft without sending it. Use this when the user wants to review or manually send the message later in Gmail.

Parameters (3 required, 3 optional)
Required
bodystring
subjectstring
tostring
Optional
bccstring
ccstring
reply_message_idstring
Default: null

Create Label

create_label
Full Description

Create a Gmail label. If the label already exists, the existing label is returned instead of creating a duplicate.

Parameters (1 required, 2 optional)
Required
namestring
Optional
label_list_visibilitystring
Default: labelShow
message_list_visibilitystring
Default: show

Delete Emails

delete_emails
Full Description

Move one or more existing Gmail messages to Trash. This matches Gmail's delete behavior and does not permanently delete the messages.

Parameters (1 required)
Required
message_idsarray

Forward Emails

forward_emails
Full Description

Forward one or more existing Gmail messages. Each source message is sent as a separate forwarded email, with the original message inlined below any optional note in the forwarded body and the original attachments preserved on the new outbound email. The note is rendered from Markdown and inserted at the top of each forwarded message. When Gmail thread metadata is available, the sent forward is also kept associated with the original conversation in the sender's mailbox.

Parameters (2 required, 3 optional)
Required
message_idsarray
tostring
Optional
bccstring
ccstring
notestring

Optional note to place at the top of each forwarded email body. Supports Markdown formatting.

Get Profile

get_profile
Full Description

Return the current Gmail user's profile information.

Get Recent Emails

get_recent_emails
Full Description

Return the most recently received Gmail messages.

Parameters (0 required, 2 optional)
Optional
tagsarray
Default: null
top_kinteger
Default: 5

List Drafts

list_drafts
Full Description

List Gmail drafts with summarized metadata so they can be reviewed or selected.

Parameters (0 required, 2 optional)
Optional
max_resultsinteger
Default: 10
next_page_tokenstring

List Labels

list_labels
Full Description

List Gmail labels with per-label counts. Use this for questions like how many emails are in the inbox or unread, because Gmail exposes those totals directly on labels without paging through messages.

Parameters (0 required, 1 optional)
Optional
label_namesarray
Default: null

Read Attachment

read_attachment
Full Description

Read a Gmail attachment by attachment ID or filename.

Parameters (1 required, 2 optional)
Required
message_idstring
Optional
attachment_idstring
filenamestring

Read Attachment Personalization

read_attachment_personalization
Full Description

Read a Gmail attachment using personalization behavior.

Parameters (2 required)
Required
filenamestring
message_idstring

Read Email

read_email
Full Description

Fetch a single Gmail message including its body.

Parameters (1 required)
Required
message_idstring

Read Email Thread

read_email_thread
Full Description

Fetch an entire Gmail conversation thread. Pass a message id by default, or pass id_type='thread' when you already have a thread id. If max_messages is provided, return the N most recent messages in the thread; it defaults to 20.

Parameters (1 required, 2 optional)
Required
idstring
Optional
id_typestring
Default: message
max_messagesinteger
Default: 20

Search Email Ids

search_email_ids
Full Description

Retrieve Gmail message IDs that match a search. Prefer list_labels for label counts.

Parameters (0 required, 4 optional)
Optional
max_resultsinteger
Default: 10
next_page_tokenstring
querystring
tagsarray
Default: null

Search Emails

search_emails
Full Description

Search Gmail for emails matching a query or label. Place Gmail search query first, followed by search operators (`after:, before:, from:, to:, subject:(words), has:attachment). Example: project update after:2025-01-01 from:alice@example.com`.

Parameters (0 required, 4 optional)
Optional
max_resultsinteger
Default: 10
next_page_tokenstring
querystring
tagsarray
Default: null

Search Emails Personalization

search_emails_personalization
Full Description

Search Gmail for email summaries using personalization behavior.

Parameters (0 required, 4 optional)
Optional
max_resultsinteger
Default: 10
next_page_tokenstring
querystring
tagsarray
Default: null

Send Draft

send_draft
Full Description

Send an existing Gmail draft as currently stored. Use this after the user has reviewed the draft or after you update it with update_draft.

Parameters (1 required)
Required
draft_idstring

Send Email

send_email
Full Description

Send an email from the authenticated Gmail account.

Parameters (3 required, 3 optional)
Required
bodystring
subjectstring
tostring
Optional
bccstring
ccstring
reply_message_idstring
Default: null

Update Draft

update_draft
Full Description

Update an existing Gmail draft in place. Omitted fields preserve the current draft content; pass an empty string only when the user explicitly wants to clear that field. Drafts with attachments are not editable through this action.

Parameters (1 required, 5 optional)
Required
draft_idstring
Optional
bccstring
Default: null
bodystring
Default: null
ccstring
Default: null
subjectstring
Default: null
tostring
Default: null