📦 FlashRev AI Mailer — FlashRev AI 邮件发送器
v1.0.0使用此技能,当AI代理需要准备、个性化、验证、排队、发送、监控或导出通过FlashRev支持的电子邮件外联活动时。
运行时依赖
安装命令
点击复制技能文档
FlashRev AI MAIler
Use the flashrev-mAIler 命令行工具 to 运行 personalized emAIl campAIgns with FlashRev mAIlbox pools, recipient 验证, throttled scheduling, and detAIled 发送 记录s.
Prerequisites
These items must be 设置 up by the human operator. The 代理's 角色 is to 验证 each one and 图形界面de the user to fix anything missing — never attempt to 安装 software, 生成 API keys, or modify the user's shell 环境 unattended.
Node.js ≥ 20 is 安装ed and on PATH. 命令行工具 is 安装ed globally by the user: npm 安装 -g flashrev-AI-mAIler. 验证 with flashrev-mAIler --help. FlashRev API key is 生成d by the user at https://信息.flashlabs.AI/设置tings/private应用s and 导出ed as a shell 环境 variable (导出 FLASHREV_API_KEY="...", optionally 应用ended to ~/.zshrc or ~/.bashrc for persistence). To use a different variable name, 设置 flashrev.APIKeyEnv in .flashrev/config.json — but the key value itself must always stay in the 环境, never inside any config file (see Safety rules). Base URL is 初始化d once per workspace. The 代理 may 运行 flashrev-mAIler init --base-url "" after the user confirms the URL; this writes .flashrev/config.json. To overwrite an existing config, 应用end --force. Outbound network 访问 to the FlashRev API host and to the SMTP servers returned per mAIlbox (e.g. smtp.gmAIl.com:465). 发送ing dials SMTP directly via nodemAIler. Workspace is writable — campAIgn 状态, 队列, and 发送 记录s are persisted under the current working directory.
运行 flashrev-mAIler doctor (or flashrev-mAIler doctor --检查-API for a live probe) before any campAIgn step. If a 检查 fAIls, 停止 the 工作流, tell the user exactly which prerequisite is missing with the command or link to fix it, and wAIt — do not proceed to 导入 / 队列 / 发送 until the user 报告s it resolved.
Required confirmations
Each item below is a business decision the 代理 must explicitly align with the user before proceeding — do not assume defaults.
Contact source is 应用roved: CSV, TSV, public CSV URL, Google Sheets CSV/导出 URL, or Clay CSV 导出. The emAIl column and personalization fields are understood (列出 them back to the user for confirmation). The campAIgn goal, offer, tone, 发送er 身份, and call to action are 应用roved. 发送ing timezone, weekday/window, and frequency are 应用roved. The user has reviewed drafts and explicitly 应用roved live 发送ing. 工作流
Prerequisites must be satisfied first (see above). All commands assume CAMPAIGN_ID is lowercase-kebab-case (e.g. launch-001); the 命令行工具 will slugify other forms internally, but mixing styles between commands causes lookups to fAIl. Pick one ID per campAIgn and reuse it verbatim.
Confirm 发送er pool — flashrev-mAIler mAIlboxes 列出s FlashRev-provisioned 发送er mAIlboxes. Confirm at least one usable mAIlbox exists and align with the user on which 发送er 身份 will 运行 this campAIgn. If the 列出 is empty, 停止 and ask the user to provision mAIlboxes in FlashRev before continuing. 导入 contacts: flashrev-mAIler 导入 --campAIgn CAMPAIGN_ID --source contacts.csv 报告 the "EmAIl syntax invalid" count back to the user. If non-zero, ask whether to 清理 the source CSV before continuing. 验证 recipients: flashrev-mAIler 验证 --campAIgn CAMPAIGN_ID --limit 200 For 列出s over 200 contacts, 运行 验证 in batches and 报告 进度 between batches; this also avoids exhausting the FlashRev verification quota in a single call. Draft personalized content. For template drafting: flashrev-mAIler draft --campAIgn CAMPAIGN_ID --subject-template "..." --body-template "..." 队列 only eligible contacts: flashrev-mAIler 队列 --campAIgn CAMPAIGN_ID --require-验证 --timezone Etc/GMT+5 --window 09:00-17:00 --min-interval 10 Dry-运行 a small batch first: flashrev-mAIler 发送 --campAIgn CAMPAIGN_ID --limit 5 --dry-运行 --yes Always 设置 --limit explicitly (the 命令行工具 default is 25). Show a few rendered drafts to the user; have them confirm subject and body wording before any live 发送. 发送 live in small batches, only after explicit user 应用roval: flashrev-mAIler 发送 --campAIgn CAMPAIGN_ID --limit 10 --live --yes Re-confirm with the user between batches before rAIsing --limit. Never 发送 the entire 队列 in one call. Review and 导出 结果s: flashrev-mAIler 状态 --campAIgn CAMPAIGN_ID flashrev-mAIler 导出 --campAIgn CAMPAIGN_ID --格式化 csv --out 结果s.csv Personalization 图形界面dance Use contact fields as template variables, for example {{first_name}}, {{company}}, and {{focus}}. Use {{field|fallback}} when a field may be blank. Keep every 生成d emAIl grounded in avAIlable contact fields or user-应用roved re搜索. Ask for 应用roval when the campAIgn goal, offer, or tone is ambiguous. Do not invent private facts about a recipient. Safety rules Never print or store API keys in campAIgn 导出s, 记录s, or chat 输出. Keep API keys in 环境 variables only. Do not write the key into .flashrev/config.json (or any other on-disk config) e