Gmail
Search, read, triage, draft and send mail as the signed-in Google account.
Connect a Google account to work its mailbox: search with Gmail's own query syntax, read messages and whole threads, download attachments to the session, triage with labels (mark read, archive, star, trash), and compose - either sending immediately or saving a draft for the user to review. Acts as the signed-in account itself; sending is irreversible, so automations that want human review should create drafts.
Connect
Sign in with Google. Sign in with Google to search, read, triage, draft and send mail as your own address. An organization admin configures the OAuth app once under Integrations → OAuth apps; after that, connecting is a consent screen.
-
Connecting signs in as YOU - tools search, read, label, draft and send mail from your own mailbox.
-
The connection asks for Gmail's read/write scope (gmail.modify): everything except permanently deleting mail and changing account settings, which no tool here offers.
-
That scope is in Google's restricted tier, so this integration runs on its own OAuth client - your organization's admin configures it under Integrations → OAuth apps.
Tools
| Tool | Access | What it does |
|---|---|---|
Search messages (yekar.gmail.search-messages) | Read | Search the signed-in account's mail with Gmail's own query syntax (from:, to:, subject:, is:unread, newer_than:7d, has:attachment…). Returns one summary line per message - sender, subject, date, snippet - plus the ids the other tools take. Paginated via nextCursor. |
Read message (yekar.gmail.read-message) | Read | Read one message in full: headers, readable body text (the author's plain text when present, else stripped HTML - bodySource says which), and attachment metadata for Get attachment. Long bodies are paged, never silently cut: the result reports totalChars and a nextOffset to continue from. |
Read thread (yekar.gmail.read-thread) | Read | Read a whole conversation in order, each message's body capped to keep long threads readable (bodyTruncated flags the cut - Read message fetches one in full). When a thread exceeds maxMessages the LATEST messages are returned and messagesTotal reports the true length. |
Get attachment (yekar.gmail.get-attachment) | Read | Download one attachment from a message. The file is saved as an attachment on this session rather than returned inline. Downloads above 20971520 bytes (20 MB) are refused. |
List labels (yekar.gmail.list-labels) | Read | List every label in the mailbox - Gmail's system labels (INBOX, UNREAD, STARRED, SENT…) and the user's own - with the ids Search messages and Modify labels take. A mailbox's label set is small and bounded, so this is the full list. |
Get profile (yekar.gmail.get-profile) | Read | The signed-in mailbox's own address and message/thread totals - use it to confirm WHICH account this connection acts as before sending anything. |
Send message (yekar.gmail.send-message) | Write | Send an email as the signed-in account - immediately and irreversibly; to prepare mail for human review use Create draft instead. Pass threadId to reply into an existing conversation (threading headers are resolved from the thread's latest message). |
Create draft (yekar.gmail.create-draft) | Write | Save an email as a draft in the signed-in account - nothing is sent; the user reviews and sends it from Gmail. The safe default when a human should approve outgoing mail. Same fields as Send message, including reply-into-thread. |
Modify labels (yekar.gmail.modify-labels) | Write | Add and/or remove labels on one message - this is Gmail triage: remove UNREAD to mark read, remove INBOX to archive, add STARRED to star, or apply any label id from List labels. Returns the message's resulting label set. |
Trash message (yekar.gmail.trash-message) | Write | Move one message to Trash - reversible for 30 days from Gmail itself. There is deliberately no permanent-delete tool: gmail.modify doesn't grant it, and nothing here claims otherwise. |
Notes
- Sign in with Google to connect - every tool acts as YOUR mailbox, and Send message sends as your address.
- Prefer Create draft over Send message when a human should approve outgoing mail - a draft sends nothing until the user sends it from Gmail.
- Search uses Gmail's own query syntax (from:, subject:,
is:unread, newer_than:7d,has:attachment…). - Triage rides Modify labels: remove UNREAD to mark read, remove INBOX to archive, add STARRED to star.