通过 Gmail API 在聊天中读取、搜索、起草、回复并整理邮件。
文档
Gmail Lead Desk
试用Gmail Lead Desk — standalone sales/CS Gmail skill via the AISA gateway: OAuth connect, scan unread leads, summarize threads, draft template replies (default...
它能做什么
Gmail Lead Desk — standalone sales/CS Gmail skill via the AISA gateway: OAuth connect, scan unread leads, summarize threads, draft template replies (default draft-only), archive with labels. Keywords: Gmail Lead Desk, Gmail, lead desk, sales, customer support, follow-up, unread, inquiry summary, draft reply, archive, OAuth, AISA, connected account, thread_id. Use when: the user needs this workflow's domain-specific automation or guidance.
技能文档
Gmail Lead Desk (gmail-lead-desk) 📧
Gmail Lead Desk — standalone sales and customer-support Gmail workflows via the AISA gateway.
One skill: connect Gmail, run whitelisted tools, triage inbox, draft replies, archive deals — no other skill required.
Quick start
export AISA_API_KEY="your-key" # get at https://aisa.one
Pre-flight checks (do first, stop if fails):
AISA_API_KEYis set — if not, ask the user to set it before any API call.user_idis known — use the Gmail address the user provides. If not yet known, ask: "What Gmail address should I use as your identity?"- Gmail is
ACTIVE— run Workflow 0 ifconnected_account_idis missing or notACTIVE.
- Base URL:
https://api.aisa.one - Auth:
Authorization: Bearer $AISA_API_KEY - Windows: use
curl.exe
OAuth and tools/execute: references/connect_and_execute.md
When to use
- Connect or reconnect Gmail via OAuth
- Scan unread leads needing follow-up
- Summarize inquiry/support threads (CRM format)
- Draft replies from sales templates (default: do not send)
- Archive won deals with labels
- User mentions: unanswered, follow-up, inquiry, quote, draft, archive, lead, connect Gmail
When NOT to use
- Non-Gmail apps (Slack, GitHub, etc.) — out of scope
- Proactive new-mail automation — not MVP; see
references/workflows.md§ Future - Bulk permanent delete, filter creation — disabled unless user explicitly requests
Intent → Workflow Quick Reference
| User intent | Workflow | Reference |
|---|---|---|
| Connect Gmail / OAuth / authorize | 0 Connect Gmail | references/connect_and_execute.md |
| Unanswered / follow-up / unread | A Unread lead scan | references/workflows.md § A |
| Summarize / summary / summarize thread | B Thread summary | references/workflows.md § B |
| Reply for me / draft reply / write email | C Draft (no send) | references/workflows.md § C |
| Confirm send / send now | C-send Send after confirm | references/workflows.md § C-send |
| Archive / deal closed | D Label and archive | references/workflows.md § D |
Run Workflow 0 first if Gmail is not connected (
ACTIVEconnected_account_id).
Workflow 0 — Connect Gmail (summary)
GET /auth_configs?toolkit_slug=gmail→auth_config_idGET /connected_accounts?toolkit_slugs=gmail&user_ids={user_id}— reuseACTIVEif present- Else confirm, then
POST /connected_accounts/link→ user opensredirect_url - Poll every 3–5 s until
statusisACTIVE; saveconnected_account_id- Timeout after ~2 min (24 polls): stop polling, tell user "OAuth not completed — please try again or check the browser tab."
DISCONNECTED/REVOKED: re-run from step 3.
Full steps: references/connect_and_execute.md
Core Workflows (summary)
A — Unread lead scan
- Resolve
connected_account_id(Workflow 0). GMAIL_FETCH_EMAILSwith sales default query — seeworkflows.md.- Table: Sender | Subject | Days waiting | thread_id | Suggested action.
- Do not send at end of this workflow.
B — Thread summary (CRM-ready)
GMAIL_FETCH_MESSAGE_BY_THREAD_ID; sort byinternalDate.- Fixed sections: customer, need, budget/timeline, next action, attachments (unverified when inferred).
C — Template draft (default: no send)
- Load thread (B); confirm recipient, tone, quote/link.
GMAIL_REPLY_TO_THREADorGMAIL_CREATE_EMAIL_DRAFT; empty subject whenthread_idset.- Return
draft_id+ preview.
C-send — Send only on explicit request
- User says send / confirm send / send now.
- Show full To/Cc/subject/body; confirm; then
GMAIL_SEND_DRAFTorGMAIL_SEND_EMAIL.
D — Archive and label
GMAIL_LIST_LABELS→Label_*IDs only.GMAIL_CREATE_LABELif needed (confirm).- Sample ≤5
messageIds+ count →GMAIL_BATCH_MODIFY_MESSAGES.
Never guess tool_slug. Whitelist: references/tool_whitelist.md.
Safety
| Action | Rule |
|---|---|
| Default after A/B/C | Draft only — no auto-send |
| OAuth link / create auth config | Confirm with user |
| Create draft | Confirm recipient and thread |
| Send | Explicit user request + show To/Cc |
| Batch label/archive | ≤5 sample IDs + total count |
| Batch delete / filters | Refuse in MVP unless explicit cleanup request |
| Privacy | No uploading full mailbox externally; attachments need consent |
| Rate limits | Concurrency ≤10; backoff on 429 |
Gmail pitfalls: references/gmail_gotchas.md.
Reference routing
| Need | File |
|---|---|
| API key, OAuth, execute | references/connect_and_execute.md |
| Sales workflows A–D | references/workflows.md |
| message_id, labels, drafts | references/gmail_gotchas.md |
| Allowed tool slugs | references/tool_whitelist.md |
Lookup order: intent → Workflow 0 if needed → workflows.md → tool_whitelist.md → GET /tools/{tool_slug} → POST /tools/execute/{tool_slug}.
Troubleshooting
| Symptom | Action |
|---|---|
AISA_API_KEY not set | Ask user to run export AISA_API_KEY="..." before any API call |
user_id unknown | Ask "What Gmail address should I use as your identity?" |
| No Gmail connection | Workflow 0 in connect_and_execute.md |
| OAuth poll timeout (>2 min) | Tell user to check browser tab; re-run Workflow 0 step 3 |
Invalid id value | See gmail_gotchas.md |
| Label not applied | Used display name — GMAIL_LIST_LABELS for id |
| New thread on reply | Subject set on draft — leave subject empty |
successful: false | connect_and_execute.md §4 + re-fetch tool schema |
Deprecated GMAIL_LIST_MESSAGES | Use GMAIL_FETCH_EMAILS |
相关技能
Privacy-first ecommerce Gmail customer-service skill for OpenClaw. It triages inbox messages, researches public storefront data, creates draft-first replies, learns approved patterns, and auto-replies only in owner-enabled categories. Private data needs an approved least-privilege connector.
Gmail (workspace.google.com). Use this skill for ANY Gmail request — reading, creating, updating, and deleting data. Whenever a task involves Gmail, use this skill instead of calling the API directly.
通过托管 OAuth 代理读写并管理 Gmail 邮件、会话、标签和草稿。
summarize, triage, and draft actions for incoming email. use when the user wants chatgpt to check an inbox, identify important unread messages, group emails...
Give AI agents Remember Gmail threads. using BlueColumn persistent memory. Use when an agent manages email and needs thread history; when the user wants to store, recall, or search gmail memory context. Requires a BlueColumn API key (bc_live_*).