Claude
Chat app · Skill upload
In Claude, open Customize → Skills and use Create skill to upload the ZIP. Skill availability depends on your plan and workspace settings.
Official Claude setup →Community skill · Free instruction package
Automate Gmail tasks via Rube MCP (Composio): send/reply, search, labels, drafts, attachments. Always search tools first for current schemas.
Community instruction package. Read the full workflow below, then choose your app in the setup guide. Package instructions and compatibility claims have not been individually verified; check dependencies and license before use.
CHOOSE YOUR AI APP
Choose your app below for setup instructions. Keep the complete downloaded folder together. Each package may need tools, dependencies or permissions that your app does not provide.
Chat app · Skill upload
In Claude, open Customize → Skills and use Create skill to upload the ZIP. Skill availability depends on your plan and workspace settings.
Official Claude setup →Chat app · Access varies
Where Skills is available, open Plugins → Skills → Create → Upload from your computer. Otherwise, copy the instructions into a chat and add your brief; this does not install a skill or include its supporting files.
Official ChatGPT setup →Agent · Project skills
Extract the complete skill folder into your project’s .agents/skills directory. Ask the agent to use the skill for your task.
.agents/skills/gmail-automation/SKILL.mdOfficial Google Antigravity setup →Code editor · Project skills
Extract the complete folder into .cursor/skills. Check the editor’s skill settings and ask the agent to use it.
.cursor/skills/gmail-automation/SKILL.mdOfficial Cursor setup →Coding agent · Project skills
Extract the complete folder into .claude/skills. Ask Claude to use the named skill, or use its slash command when available.
.claude/skills/gmail-automation/SKILL.mdOfficial Claude Code setup →For text-only workflows, you can also paste the instructions into an AI conversation. Copying text does not enable scripts, connect accounts or grant tool access. App subscriptions may cost extra. Logos identify the products; KuchhBhi is independent and is not endorsed by these companies.
Automate Gmail operations through Composio's Gmail toolkit via Rube MCP.
RUBE_MANAGE_CONNECTIONS with toolkit gmailRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit gmailWhen to use: User wants to compose and send a new email
Tool sequence:
GMAIL_SEARCH_PEOPLE - Resolve contact name to email address [Optional]GMAIL_SEND_EMAIL - Send the email [Required]Key parameters:
recipient_email: Email address or 'me' for selfsubject: Email subject linebody: Email content (plain text or HTML)is_html: Must be true if body contains HTML markupcc/bcc: Arrays of email addressesattachment: Object with {s3key, mimetype, name} from prior downloadPitfalls:
recipient_email, cc, or bcc requiredsubject or body requiredmimetype MUST contain '/' (e.g., 'application/pdf', not 'pdf')from_email only for verified aliases in Gmail 'Send mail as' settingsWhen to use: User wants to reply to an existing email conversation
Tool sequence:
GMAIL_FETCH_EMAILS - Find the email/thread to reply to [Prerequisite]GMAIL_REPLY_TO_THREAD - Send reply within the thread [Required]Key parameters:
thread_id: Hex string from FETCH_EMAILS (e.g., '169eefc8138e68ca')message_body: Reply contentrecipient_email: Reply recipientis_html: Set true for HTML contentPitfalls:
thread_id must be hex string; prefixes like 'msg-f:' are auto-strippedWhen to use: User wants to find specific emails by sender, subject, date, label, etc.
Tool sequence:
GMAIL_FETCH_EMAILS - Search with Gmail query syntax [Required]GMAIL_FETCH_MESSAGE_BY_MESSAGE_ID - Get full message details for selected results [Optional]Key parameters:
query: Gmail search syntax (from:, to:, subject:, is:unread, has:attachment, after:YYYY/MM/DD, before:YYYY/MM/DD)max_results: 1-500 messages per pagelabel_ids: System IDs like 'INBOX', 'UNREAD'include_payload: Set true to get full message contentids_only: Set true for just message IDspage_token: For pagination (from nextPageToken)Pitfalls:
nextPageToken via page_token until absentresultSizeEstimate is approximate, not exact countinclude_payload=true on broad searches creates huge responses; default to metadataWhen to use: User wants to create, modify, or organize labels
Tool sequence:
GMAIL_LIST_LABELS - List all labels to find IDs and detect conflicts [Required]GMAIL_CREATE_LABEL - Create a new label [Optional]GMAIL_PATCH_LABEL - Rename or change label colors/visibility [Optional]GMAIL_DELETE_LABEL - Delete a user-created label (irreversible) [Optional]Key parameters:
label_name: Max 225 chars, no commas, '/' for nesting (e.g., 'Work/Projects')background_color/text_color: Hex values from Gmail's predefined paletteid: Label ID for PATCH/DELETE operationsPitfalls:
When to use: User wants to label, archive, or mark emails as read/unread
Tool sequence:
GMAIL_LIST_LABELS - Get label IDs for custom labels [Prerequisite]GMAIL_FETCH_EMAILS - Find target messages [Prerequisite]GMAIL_BATCH_MODIFY_MESSAGES - Bulk add/remove labels (up to 1000 messages) [Required]GMAIL_ADD_LABEL_TO_EMAIL - Single-message label changes [Fallback]Key parameters:
messageIds: Array of message IDs (max 1000)addLabelIds: Array of label IDs to addremoveLabelIds: Array of label IDs to removemessage_id: 15-16 char hex string for single operationsPitfalls:
message_id must be 15-16 char hex, NOT UUIDs or web UI IDsWhen to use: User wants to create, edit, or send email drafts, possibly with attachments
Tool sequence:
GMAIL_CREATE_EMAIL_DRAFT - Create a new draft [Required]GMAIL_UPDATE_DRAFT - Edit draft content [Optional]GMAIL_LIST_DRAFTS - List existing drafts [Optional]GMAIL_SEND_DRAFT - Send a draft (requires explicit user approval) [Optional]GMAIL_GET_ATTACHMENT - Download attachment from existing message [Optional]Key parameters:
recipient_email: Draft recipientsubject: Draft subject (omit for reply drafts to stay in thread)body: Draft contentis_html: Set true for HTML contentattachment: Object with {s3key, mimetype, name}thread_id: For reply drafts (leave subject empty to stay in thread)Pitfalls:
data.id (draft_id) AND data.message.id; use data.id for draft operationsLabel name → Label ID:
1. Call GMAIL_LIST_LABELS
2. Find label by name in response
3. Extract id field (e.g., 'Label_123')
Contact name → Email:
1. Call GMAIL_SEARCH_PEOPLE with query=contact_name
2. Extract emailAddresses from response
Thread ID from search:
1. Call GMAIL_FETCH_EMAILS or GMAIL_LIST_THREADS
2. Extract threadId (15-16 char hex string)
max_results up to 500 per pagenextPageTokenpage_token in next requestnextPageToken is absent or empty stringresultSizeEstimate is approximate, not exactOperators:
from:sender@example.com - Emails from senderto:recipient@example.com - Emails to recipientsubject:"exact phrase" - Subject contains exact phraseis:unread - Unread messagesis:starred - Starred messagesis:snoozed - Snoozed messageshas:attachment - Has attachmentsafter:2024/01/01 - After date (YYYY/MM/DD)before:2024/12/31 - Before datelabel:custom_label - User-created label (use label ID)in:sent - In sent foldercategory:primary - Primary categoryCombinators:
AND - Both conditions (default)OR - Either conditionNOT - Exclude condition() - Group conditionsExamples:
from:boss@company.com is:unread - Unread emails from bosssubject:invoice has:attachment after:2024/01/01 - Invoices with attachments this year(from:alice OR from:bob) is:starred - Starred emails from Alice or BobID Formats:
Query Syntax:
Rate Limits:
Response Parsing:
data_preview or data.messagesmessageTimestamp uses RFC3339 with 'Z' suffixAttachments:
s3key from prior download may expire| Task | Tool Slug | Key Params | |------|-----------|------------| | Send email | GMAIL_SEND_EMAIL | recipient_email, subject, body, is_html | | Reply to thread | GMAIL_REPLY_TO_THREAD | thread_id, message_body, recipient_email | | Search emails | GMAIL_FETCH_EMAILS | query, max_results, label_ids, page_token | | Get message details | GMAIL_FETCH_MESSAGE_BY_MESSAGE_ID | message_id | | List labels | GMAIL_LIST_LABELS | (none) | | Create label | GMAIL_CREATE_LABEL | label_name, background_color, text_color | | Modify labels bulk | GMAIL_BATCH_MODIFY_MESSAGES | messageIds, addLabelIds, removeLabelIds | | Create draft | GMAIL_CREATE_EMAIL_DRAFT | recipient_email, subject, body, thread_id | | Send draft | GMAIL_SEND_DRAFT | draft_id | | Get attachment | GMAIL_GET_ATTACHMENT | message_id, attachment_id | | Search contacts | GMAIL_SEARCH_PEOPLE | query | | Get profile | GMAIL_GET_PROFILE | (none) |
The instruction package is free to download. Your AI app, model usage, connected services and third-party assets may have separate costs.
It is a set of instructions for a compatible AI assistant. It does not run by itself, connect accounts or install an MCP server.
Check that the named folder contains SKILL.md directly, not a second nested ZIP folder. Confirm that your editor supports skills and that its current settings allow this location. See the official documentation below.