gmail-enhanced

Enhanced Gmail integration with advanced features including label management, attachment handling, advanced search, email parsing, and automated email processing workflows.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "gmail-enhanced" with this command: npx skills add jason-aka-chen/gmail-enhanced

Gmail Enhanced

Advanced Gmail integration with powerful automation features.

Features

1. Advanced Search

  • Complex query building (AND, OR, NOT)
  • Date range filters
  • Attachment filters
  • Label filters
  • Search within attachments

2. Label Management

  • Create, rename, delete labels
  • Nested labels (folders)
  • Color customization
  • Label statistics

3. Attachment Handling

  • Download attachments
  • Upload and send attachments
  • Filter attachments by type/size
  • Extract attachments to cloud storage

4. Email Processing

  • Auto-categorize emails
  • Extract data from emails
  • Auto-reply rules
  • Email templates
  • Bounce detection

5. Email Parsing

  • Extract structured data
  • Parse invoices, receipts
  • Extract contact info
  • HTML parsing

Prerequisites

  1. Enable Gmail API in Google Cloud Console
  2. Create OAuth 2.0 credentials
  3. Download credentials.json
  4. Generate tokens.json (run once with authentication)

Configuration

export GMAIL_CREDENTIALS_PATH="/path/to/credentials.json"
export GMAIL_TOKEN_PATH="/path/to/tokens.json"

Or place credentials in default locations:

  • ~/.credentials/gmail-credentials.json
  • ~/.credentials/gmail-token.json

Usage

Send Email

from gmail_enhanced import GmailClient

gmail = GmailClient()

# Simple email
gmail.send(
    to="recipient@example.com",
    subject="Hello",
    body="Email content"
)

# With attachment
gmail.send(
    to="recipient@example.com",
    subject="Report",
    body="Please find the report attached",
    attachments=["report.pdf"]
)

Advanced Search

# Complex queries
results = gmail.search(
    query="from:boss@company.com",
    label="INBOX",
    after="2024/01/01",
    has_attachments=True
)

# Search with OR
results = gmail.search_or([
    "subject:urgent",
    "label:important"
])

Label Management

# Create label
label = gmail.create_label("Projects/Work/Q1", color="#4A90E2")

# Get label stats
stats = gmail.get_label_stats("INBOX")

# Apply labels
gmail.add_labels(["Label1", "Label2"], message_ids)

Attachment Handling

# Download attachments from search results
attachments = gmail.search_attachments(
    query="subject:invoice",
    save_dir="./downloads"
)

# Upload attachment
gmail.send(
    to="recipient@example.com",
    subject="File",
    attachments=["/path/to/file.pdf"]
)

Auto-categorization

# Create rule
gmail.add_rule(
    name="Categorize invoices",
    query="subject:invoice has:attachment",
    add_labels=["Processed/Invoices"]
)

# Run rules
gmail.process_rules()

API Reference

Core Methods

MethodDescription
send(to, subject, body, attachments, cc, bcc)Send email
search(query, max_results, label)Search emails
get_message(msg_id, format)Get email details
delete_message(msg_id)Move to trash
archive_message(msg_id)Archive email

Label Methods

MethodDescription
create_label(name, color)Create label
rename_label(old_name, new_name)Rename label
delete_label(name)Delete label
get_labels()List all labels
get_label_stats(label)Get label statistics

Attachment Methods

MethodDescription
download_attachment(msg_id, attachment_id, save_path)Download attachment
search_attachments(query, save_dir)Search and download
get_attachment_info(msg_id)List attachments

Automation Methods

MethodDescription
add_rule(name, query, actions)Create processing rule
process_rules()Run all rules
create_template(name, subject, body)Create email template
send_template(template_name, to, variables)Send using template

Parsing Methods

MethodDescription
parse_email(msg_id)Extract structured data
extract_invoice(msg_id)Parse invoice data
extract_contacts(msg_id)Extract email addresses

Email Query Syntax

Basic:
  from:user@example.com
  to:user@example.com
  subject:keyword
  "exact phrase"

Filters:
  after:2024/01/01
  before:2024/12/31
  older_than:7d
  newer_than:2h

Flags:
  has:attachment
  has:drive
  is:unread
  is:starred
  is:important

Labels:
  label:INBOX
  label:Work

Combinations:
  from:boss AND subject:urgent
  (from:alice OR from:bob) AND is:unread

Error Handling

Common errors:

  • invalid_credentials: Re-authenticate
  • rate_limit: Wait and retry
  • not_found: Message ID invalid
  • permission_denied: Check scopes

Scopes Required

https://www.googleapis.com/auth/gmail.readonly
https://www.googleapis.com/auth/gmail.send
https://www.googleapis.com/auth/gmail.labels
https://www.googleapis.com/auth/gmail.modify

Links

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

GOG Extended

Extended Google Workspace CLI reference for Gmail, Calendar, Drive, Contacts, Sheets, and Docs. Includes complete email body retrieval, attachments, and adva...

Registry SourceRecently Updated
1580Profile unavailable
Automation

Google Suite Skill

Provides unified access to Gmail, Google Calendar, and Drive APIs for managing emails, calendar events, and files with OAuth2 authentication.

Registry SourceRecently Updated
5180Profile unavailable
Automation

Email Automation

Automate email triage, categorize, draft replies, and auto-archive in Gmail, Outlook, or IMAP to maintain an organized, efficient inbox.

Registry SourceRecently Updated
9220Profile unavailable
Automation

Email Triage Pro

Intelligently categorize, prioritize, and draft replies for emails. Fetches emails via web_fetch (Gmail web) or browser, no OAuth required. AI-powered classi...

Registry SourceRecently Updated
1620Profile unavailable