Install
openclaw skills install hobohan-inbox-managerAuthorize, read, triage, archive, trash, and summarize Gmail inboxes across multiple accounts. Uses Gmail API with OAuth.
openclaw skills install hobohan-inbox-managerManage multiple Gmail accounts through a single Google Cloud project. One OAuth client, separate token per account.
secrets/inbox/
client_secret.json — OAuth 2.0 Desktop client credentials (shared)
accounts.json — {"account@gmail.com": {"label": ..., "token_file": "token-..."}}
token-account-at-gmail-dot-com.json — per-account OAuth token
scripts/inbox/
inbox-auth-final.py — one-shot OAuth: opens browser, saves token
inbox-check.py — read/filter/triage/delete via Gmail API
python3 scripts/inbox-auth-final.py <email> on machine with browser accesssecrets/inbox/token-<sanitized>.jsonaccounts.json auto-updatedSanitization: @ → -at-, . → -dot-
gmail.readonly — read messagesgmail.modify — trash, archive, mark read, labelNot used: gmail.send / gmail.compose (no auto-sending unless explicitly added)
GET /gmail/v1/users/me/messages?labelIds=INBOX&maxResults=N
GET /gmail/v1/users/me/messages/{id}?format=metadata&metadataHeaders=From,Subject,Date
Use Gmail query syntax via q parameter:
from:traveloka — all from senderis:unread — unread only-from:accounts.google.com — exclude security alertsafter:2026/05/01 — date filterPOST /gmail/v1/users/me/messages/{id}/trash
Batch via new_batch_http_request() for bulk operations (100 per batch).
| Sender | Action | Reason |
|---|---|---|
| Traveloka | Trash | Promo emails |
| Flokk | Trash | Promo emails |
| FossilEra | Trash | Promo emails |
| TIDAL monthly reports | Trash | Old newsletters |
| BloomThis | Trash | Feedback/promo |
| Helpling | Keep | Actual reminders |
| Splitwise | Keep | Balance updates |
| SRX | Keep | Property updates |
| NLB | Keep | Account notifications |