Skip to content

Integration · Email

google.com

Connect Claude & ChatGPT to Gmail

Ask your AI what came in from a customer this week, to sum up a long thread, or to draft a reply. It searches with the same syntax as the Gmail search bar, reads whole conversations and attachments, writes drafts in the right thread, and archives or labels email for you. Sending is a separate step, so you can keep the final click.

Connect Gmail free

Free plan, no credit card. Takes about a minute.

Try asking

  • “Which unread emails from customers came in this week?”

    The AI searches with Gmail search syntax, such as is:unread newer_than:7d, and reads the matching emails with sender, subject and date.

  • “Sum up my thread with Anna about the contract.”

    It finds the conversation and reads every message in it, so the summary covers the whole thread.

  • “Draft a reply to Anna saying we can meet on Thursday.”

    It creates a draft in the same thread. Nothing is sent until the draft is sent.

What your AI can do

Search and read

Search emails and conversations with Gmail search syntax, read full threads with headers and body, and download attachments.

Drafts and sending

Create, update and delete drafts, reply inside an existing thread, and send a draft when you are ready.

Labels and inbox

Create labels, add or remove labels to archive or mark as read, move email to Trash and back, and manage the out-of-office reply.

  • “Send the draft to Anna.”

    It sends the existing draft. The email goes out right away and cannot be recalled.

  • “Archive last month's newsletters and mark them as read.”

    It finds the emails and removes the INBOX and UNREAD labels, so they leave the inbox without being deleted.

  • “Turn on my out-of-office from Friday to Monday.”

    It sets the auto-reply with subject, text and start and end time. Gmail then answers people who email you in that period.

77 tools for Gmail

These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.

  • archive_keypairVisible to othersDisable a keypair (key pair id). Has effects visible outside this system. API summary: Turns off a client-side encryption key pair.
  • create_addressChanges dataCreate a new address. API summary: Creates a forwarding address.
  • create_delegateChanges dataCreate a new delegate. API summary: Adds a delegate with its verification status set directly to accepted, without sending any verification email.
  • create_draftChanges dataCreate a draft email. Put the full RFC 2822 email (To, Subject, blank line, body) base64url-encoded in `message.raw`; set `message.threadId` to draft a reply in an existing thread. Pass `user_id` = `me`. Nothing is sent.
  • create_filterChanges dataCreate a new filter. Search filters first to avoid duplicates. API summary: Creates a filter.
  • create_identityChanges dataCreate a new identity. API summary: Creates and configures a client-side encryption identity that's authorized to send mail from the user account.
  • create_keypairChanges dataCreate a new keypair. API summary: Creates and uploads a client-side encryption S/MIME public key certificate chain and private key metadata for the authenticated user.
  • create_labelChanges dataCreate a new label with a `name`. Pass `user_id` = `me`.
  • create_messageChanges dataCreate a new message for a message. Search messages first to avoid duplicates. API summary: Moves the specified message to the trash.
  • create_message_gmail_users_messages_batch_deleteVisible to othersCreate a new message. Search messages first to avoid duplicates. Has effects visible outside this system. API summary: Deletes many messages by message ID.
  • create_message_gmail_users_messages_batch_modifyVisible to othersCreate a new message. Search messages first to avoid duplicates. Has effects visible outside this system. API summary: Modifies the labels and the Classification Label values on the specified messages.
  • create_obliterateChanges dataCreate a new obliterate. Required: body. API summary: Deletes a client-side encryption key pair permanently and immediately.
  • create_send_a_smime_infoVisible to othersCreate a new smime info for a send a. Has effects visible outside this system. API summary: Insert (upload) the given S/MIME config for the specified send-as alias.
  • create_thread_untrashChanges dataCreate a new untrash for a thread. API summary: Removes the specified thread from the trash.
  • create_user_messageChanges dataCreate a new message for a user. Search messages first to avoid duplicates. API summary: Directly inserts a message into only this user's mailbox similar to IMAP APPEND, bypassing most scanning and classification.
  • create_user_stopChanges dataCreate a new stop for a user. API summary: Turn off push notification delivery for the given user mailbox.
  • create_user_watchChanges dataCreate a new watch for a user. API summary: Set up or update a push notification watch on the given user mailbox.
  • delete_addressDeletesPermanently delete a address by forwarding email. Destructive action; may require approval. API summary: Deletes the specified forwarding address and revokes any verification that may have been required.
  • delete_delegateDeletesPermanently delete a delegate by delegate email. Destructive action; may require approval. API summary: Removes the specified delegate (which can be of any verification status), and revokes any verification that may have been required for using….
  • delete_draftDeletesPermanently delete a draft by `draft_id` (it does not go to Trash). Pass `user_id` = `me`.
  • delete_filterDeletesPermanently delete a filter by filter id. Destructive action; may require approval. API summary: Immediately and permanently deletes the specified filter.
  • delete_identityDeletesPermanently delete a identity by cse email address. Destructive action; may require approval. API summary: Deletes a client-side encryption identity.
  • delete_send_aDeletesPermanently delete a send a by send as email. Destructive action; may require approval. API summary: Deletes the specified send-as alias.
  • delete_send_a_smime_infoDeletesPermanently delete a smime info by smime info id. Destructive action; may require approval. API summary: Deletes the specified S/MIME config for the specified send-as alias.
  • delete_user_labelDeletesPermanently delete a label by label id. Destructive action; may require approval. API summary: Immediately and permanently deletes the specified label and removes it from any messages and threads that it's applied to.
  • delete_user_messageDeletesPermanently delete a message by message id. Destructive action; may require approval. API summary: Immediately and permanently deletes the specified message.
  • delete_user_threadDeletesPermanently delete a thread by thread id. Destructive action; may require approval. API summary: Immediately and permanently deletes the specified thread.
  • get_addressGet one address by forwarding email. API summary: Gets the specified forwarding address.
  • get_attachmentDownload one attachment from an email: `message_id` plus the attachment ID from get_message as `document_id`. Returns base64url data. Pass `user_id` = `me`.
  • get_delegateGet one delegate by delegate email. API summary: Gets the specified delegate.
  • get_draftGet one draft email by `draft_id`. Pass `user_id` = `me`.
  • get_filterGet one filter by filter id. API summary: Gets a filter.
  • get_identityGet one identity by cse email address. API summary: Retrieves a client-side encryption identity configuration.
  • get_keypairGet one keypair by key pair id. API summary: Retrieves an existing client-side encryption key pair.
  • get_messageGet one email by `message_id`, with headers (from, to, subject, date), body parts and attachment IDs. Pass `user_id` = `me`.
  • get_profileGet the connected Gmail address and mailbox totals. Pass `user_id` = `me`.
  • get_send_aGet one send a by send as email. API summary: Gets the specified send-as alias.
  • get_send_a_smime_infoGet one smime info for a send a by smime info id. API summary: Gets the specified S/MIME config for the specified send-as alias.
  • get_threadGet a whole email conversation by `thread_id`, with every message in it. Pass `user_id` = `me`.
  • get_user_labelGet one label for a user by label id. API summary: Gets the specified label.
  • get_vacation_responderGet the out-of-office auto-reply settings. Pass `user_id` = `me`.
  • list_addressesList addresses. API summary: Lists the forwarding addresses for the specified account.
  • list_auto_forwardingsList auto forwardings. API summary: Gets the auto-forwarding setting for the specified account.
  • list_delegatesList delegates. API summary: Lists the delegates for the specified account.
  • list_draftsList draft emails, optionally filtered with Gmail search syntax in `q`. Pass `user_id` = `me`.
  • list_identitiesList identities. Results are paginated. API summary: Lists the client-side encrypted identities for an authenticated user.
  • list_imapsList imaps. API summary: Gets IMAP settings.
  • list_keypairsList keypairs. Results are paginated. API summary: Lists client-side encryption key pairs for an authenticated user.
  • list_labelsList all labels in the mailbox (system labels like INBOX, UNREAD, STARRED and the user's own) with their IDs. Pass `user_id` = `me`.
  • list_languagesList languages. API summary: Gets language settings.
  • list_popsList pops. API summary: Gets POP settings.
  • list_send_a_smime_infosList smime infos for a send a. API summary: Lists S/MIME configs for the specified send-as alias.
  • list_user_historiesList histories for a user. Optional filters: history types, label id or start history id. Results are paginated. API summary: Lists the history of all changes to the given mailbox.
  • restore_keypairChanges dataEnable a keypair (key pair id). API summary: Turns on a client-side encryption key pair that was turned off.
  • search_filtersSearch filters. Use this to find existing filters before creating a new filter. API summary: Lists the message filters of a Gmail user.
  • search_messagesSearch emails with Gmail search syntax in `q`, e.g. `from:[email protected] is:unread newer_than:7d`. Returns message and thread IDs only; use get_message for content. Pass `user_id` = `me`.
  • search_threadsSearch email conversations (threads) with Gmail search syntax in `q`. Returns thread IDs; use get_thread for the messages. Pass `user_id` = `me`.
  • send_draftVisible to othersSend an existing draft: pass the draft's ID as `id` and `user_id` = `me`. The email goes out to its recipients immediately and cannot be recalled.
  • send_messageVisible to othersSend a message (user id). Has effects visible outside this system. API summary: Sends the specified message to the recipients in the To, Cc, and Bcc headers.
  • send_setting_asVisible to othersSend a setting (user id). Has effects visible outside this system. API summary: Lists the send-as aliases for the specified account.
  • send_setting_as_sendVisible to othersSend a setting (user id). Has effects visible outside this system. API summary: Creates a custom "from" send-as alias.
  • set_vacation_responderVisible to othersTurn the out-of-office auto-reply on or off with `enable_auto_reply`, `response_subject`, `response_body_plain_text` and optional `start_time` / `end_time` (epoch ms). While on, Gmail sends this reply automatically to people who email you. Pass `user_id` = `me`.
  • submit_send_aVisible to othersVerify a send a (send as email). Has effects visible outside this system. API summary: Sends a verification email to the specified send-as alias address.
  • trash_threadChanges dataMove a whole conversation to Trash by `thread_id`. It can be restored within 30 days. Pass `user_id` = `me`.
  • untrash_messageChanges dataRestore an email from Trash by `message_id`. Pass `user_id` = `me`.
  • update_auto_forwardingsVisible to othersUpdate an existing auto forwarding identified by user id. Has effects visible outside this system. API summary: Updates the auto-forwarding setting for the specified account.
  • update_draftChanges dataReplace the content of a draft by `draft_id` with a new base64url-encoded RFC 2822 email in `message.raw`. Pass `user_id` = `me`.
  • update_identityVisible to othersUpdate an existing identity identified by email address. Only the fields you pass are changed. Has effects visible outside this system. API summary: Associates a different key pair with an existing client-side encryption identity.
  • update_imapsVisible to othersUpdate an existing imap identified by user id. Has effects visible outside this system. API summary: Updates IMAP settings.
  • update_languagesVisible to othersUpdate an existing language identified by user id. Has effects visible outside this system. API summary: Updates language settings.
  • update_message_labelsChanges dataAdd or remove labels on one email by `message_id` using `add_label_ids` / `remove_label_ids`, e.g. remove UNREAD to mark read or remove INBOX to archive. Pass `user_id` = `me`.
  • update_popsVisible to othersUpdate an existing pop identified by user id. Has effects visible outside this system. API summary: Updates POP settings.
  • update_send_aVisible to othersUpdate an existing send a identified by send as email. Only the fields you pass are changed. Has effects visible outside this system. API summary: Patch the specified send-as alias.
  • update_smime_info_defaultVisible to othersUpdate an existing smime info identified by smime info id. Has effects visible outside this system. API summary: Sets the default S/MIME config for the specified send-as alias.
  • update_thread_labelsChanges dataAdd or remove labels on every email in a conversation by `thread_id` using `add_label_ids` / `remove_label_ids`, e.g. remove INBOX to archive it. Pass `user_id` = `me`.
  • update_user_labelChanges dataUpdate an existing label identified by label id. Only the fields you pass are changed. API summary: Patch the specified label.
  • upload_messageChanges dataImport a message (user id). API summary: Imports a message into only this user's mailbox, with standard email delivery scanning and classification similar to receiving via SMTP.

Set up in three steps

  1. 1

    Pick the app

    Create a free HeyMyApps account and choose Gmail from the app list.

  2. 2

    Paste your key

    Paste the OAuth client ID and client secret from your own Google Cloud project, then sign in with Google once. In the Google Cloud console create a project and enable the Gmail API (APIs & Services > Library). Set up the OAuth consent screen as Internal for Google Workspace, or as External and then click Publish app, because apps left in Testing get refresh tokens that expire after 7 days. Then go to Credentials > Create credentials > OAuth client ID > Web application, add the redirect URI https://heymyapps.com/oauth/callback and copy the client ID and secret. Because the app is your own and not verified by Google, Google shows a warning screen when you sign in. That is expected for your own app. HeyMyApps renews access automatically after that.

  3. 3

    Add the link to your AI

    You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:

    1. Click your name, then Settings › Connectors › Add custom connector.
    2. Paste your link as the Remote MCP server URL.
    3. Switch it on from the + menu in a chat.

Questions

What can the AI do in Gmail?

It can search and read emails and conversations, download attachments, and list your labels and drafts. It can create, update, send and delete drafts, create labels, add or remove labels on emails and threads, move email to Trash and restore it, and read or change your out-of-office reply.

Does the AI see my Gmail credentials?

No. Your OAuth client secret and the access from your Google sign-in are encrypted at rest and never shown to the AI. After you save them, they are not shown again, not even to you. The AI only sees the results of the tools it calls.

Can I control what the AI is allowed to do?

Yes. You choose which tools are switched on, so you can start with search and read only. A sent draft cannot be recalled, a deleted draft is gone for good, and the out-of-office reply writes to people automatically, so these tools can require your approval before they run. Every tool call is logged.

Does it work with ChatGPT?

Yes. In ChatGPT go to Settings › Apps & Connectors › Advanced and turn on Developer mode, then add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.

What does it cost?

Gmail connects with OAuth, and OAuth connections need the HeyMyApps Pro plan or above. HeyMyApps also has a free plan with no credit card, but it does not include this connection. Paid plans bill per completed task. You also need your own Google account.

Can the AI delete my email permanently?

No. HeyMyApps asks Google for the gmail.modify scope, which covers reading, sending and labels but not permanent deletion. The AI can move email to Trash, and it can be restored until Gmail empties Trash after 30 days. Drafts are the exception: deleting a draft removes it permanently.

Let your AI work in Gmail today.

Start free. Your key stays encrypted, and you decide what the AI may do.

Connect Gmail free

HeyMyApps is not affiliated with Gmail. Product names are trademarks of their owners.