/install gmail-lead-desk
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 |
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install gmail-lead-desk - 安装完成后,直接呼叫该 Skill 的名称或使用
/gmail-lead-desk触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
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... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 62 次。
如何安装 Gmail Lead Desk?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install gmail-lead-desk」即可一键安装,无需额外配置。
Gmail Lead Desk 是免费的吗?
是的,Gmail Lead Desk 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Gmail Lead Desk 支持哪些平台?
Gmail Lead Desk 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Gmail Lead Desk?
由 AIsa(@aisadocs)开发并维护,当前版本 v1.0.0。