원클릭으로
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 페이지를 검토하고 설치를 진행할 수 있습니다.
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
SOC 직업 분류 기준
| 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