بنقرة واحدة
gmail
Gmail API — read, send, and manage emails via Gmail
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Gmail API — read, send, and manage emails via Gmail
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Google Calendar — list, create, and manage events via gcal CLI
Manage HubSpot CRM — contacts, companies, deals, tickets
Manage Shopify store — products, orders, customers, inventory
Configure audio transcription and image/video understanding for channels
AWS CLI for S3, EC2, Lambda, CloudWatch, RDS, and ECS
Google Calendar — list, create, and manage events via gcal CLI
| name | gmail |
| version | 0.1.0 |
| author | devclaw |
| description | Gmail API — read, send, and manage emails via Gmail |
| category | communication |
| tags | ["gmail","email","google","mail","inbox"] |
| requires | {"bins":["curl","jq"],"env":["GMAIL_ACCESS_TOKEN"]} |
Interact with Gmail using the Gmail API.
Check existing credentials:
vault_get gmail_access_token
If not configured:
vault_save gmail_access_token "ya29.a0..."
The token is auto-injected as $GMAIL_ACCESS_TOKEN.
Note: Access tokens expire after ~1 hour; refresh and re-save when needed.
# List recent emails
curl -s "https://gmail.googleapis.com/gmail/v1/users/me/messages?maxResults=10" \
-H "Authorization: Bearer $GMAIL_ACCESS_TOKEN" | jq '.messages'
# Search emails
curl -s "https://gmail.googleapis.com/gmail/v1/users/me/messages?q=is:unread+from:boss@company.com" \
-H "Authorization: Bearer $GMAIL_ACCESS_TOKEN" | jq '.messages'
# Common search queries:
# is:unread, is:starred, has:attachment, larger:5M
# from:email@example.com, to:me, subject:urgent
# newer_than:7d, older_than:1m
# Get message details
curl -s "https://gmail.googleapis.com/gmail/v1/users/me/messages/MESSAGE_ID?format=full" \
-H "Authorization: Bearer $GMAIL_ACCESS_TOKEN" | jq '{
id, snippet,
from: (.payload.headers[] | select(.name == "From") | .value),
subject: (.payload.headers[] | select(.name == "Subject") | .value),
date: (.payload.headers[] | select(.name == "Date") | .value)
}'
# Get raw message (including body)
curl -s "https://gmail.googleapis.com/gmail/v1/users/me/messages/MESSAGE_ID?format=raw" \
-H "Authorization: Bearer $GMAIL_ACCESS_TOKEN" | jq -r '.raw' | base64 -d
# Create raw email (RFC 2822 format)
RAW_EMAIL=$(cat <<EOF | base64 -w0
From: me@gmail.com
To: recipient@example.com
Subject: Test Email from DevClaw
This is the email body.
Can have multiple lines.
EOF
)
# Send
curl -s -X POST "https://gmail.googleapis.com/gmail/v1/users/me/messages/send" \
-H "Authorization: Bearer $GMAIL_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"raw\": \"$RAW_EMAIL\"}"
# List labels
curl -s "https://gmail.googleapis.com/gmail/v1/users/me/labels" \
-H "Authorization: Bearer $GMAIL_ACCESS_TOKEN" | jq '.labels[]'
# Add label to message
curl -s -X POST "https://gmail.googleapis.com/gmail/v1/users/me/messages/MESSAGE_ID/modify" \
-H "Authorization: Bearer $GMAIL_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"addLabelIds": ["Label_123"]}'
# Mark as read
curl -s -X POST "https://gmail.googleapis.com/gmail/v1/users/me/messages/MESSAGE_ID/modify" \
-H "Authorization: Bearer $GMAIL_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"removeLabelIds": ["UNREAD"]}'
# Star email
curl -s -X POST "https://gmail.googleapis.com/gmail/v1/users/me/messages/MESSAGE_ID/modify" \
-H "Authorization: Bearer $GMAIL_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"addLabelIds": ["STARRED"]}'
format=metadata for headers only (faster)gmail, email, check email, send email, read gmail, inbox, gmail api