Outreach Demo
Build a draft-first outreach package from three inputs: business name, website URL, and contact email.
Keep the workflow evidence-based, concise, and approval-gated for any email send.
Workflow
- 1. Intake
- Collect:
- business name
- contact name if available
- contact email
- website URL
- optional business notes
- If website URL or email is missing, ask only for the missing field.
- 2. Website research
- Inspect the public website only.
- Prefer homepage, about, services/products, contact, and selected blog/resources pages.
- Extract only visible, supportable observations.
- Do not guess internal systems, revenue, staffing, or pain points.
- 3. OpenClaw fit analysis
- Propose up to 3 concrete OpenClaw use cases.
- Rank them by:
- visible fit
- likely business value
- lowest-friction starting point
- Also produce:
- one
priority_move
- a short
why_it_matters[] list
- Phrase uncertain conclusions as “likely”, “appears”, or “suggests”.
- 4. Report generation
- Use
references/report-format.md for section shape.
- For plain operator review, render markdown with:
-
scripts/render_outreach_report.py --input <json> --output <md>
- For visually stronger delivery, render a polished HTML one-page brief with:
-
scripts/render_outreach_report_html.py --input <json> --output <html>
- Preferred showcase artifact: convert the HTML brief to PDF with:
-
scripts/render_outreach_report_pdf.sh --input <html> --output <pdf>
- Prefer PDF for live outreach when visual impact matters.
- 5. Email draft generation
- Default to the value-first / “free doughnut” framing: give the prospect a small concrete asset before asking for time.
- Use
references/email-template.md for default tone and structure.
- Read
references/value-first-outreach.md when you need to optimize for scannability, subject lines, or a more enticing value-first CTA.
- Render a plain-text draft with:
-
scripts/render_outreach_email.py --input <json> --output <txt>
- Render lightweight HTML with:
-
scripts/render_outreach_email_html.py --input <json> --output <html>
- Preferred showcase send mode:
HTML email + attached brief.
- Keep email short, specific, and visually scannable.
- Default to draft-only.
- 6. Approval gate
- Do not send email automatically.
- Sending is allowed only after explicit user approval for that recipient/message.
- Build a preview manifest with:
-
scripts/render_outreach_preview.py --input <json> --subject <subject> --email-text <txt> --email-html <html> --brief <brief.html> --output <preview.json>
- Before send, preview or summarize:
- recipient
- subject
- plain-text fallback body
- HTML body when used
- attached brief filename/format when used
- For actual HTML+brief send, use:
-
scripts/send_outreach_package.sh --to <email> --subject <subject> --text <txt> --html <html> --attach <brief.pdf>
- Use a client-facing attachment name such as:
- INLINECODE12
Output standard
Produce three artifacts when possible:
- - structured JSON summary
- markdown report
- plain-text email draft
Recommended JSON fields:
- - INLINECODE13
- INLINECODE14
- INLINECODE15
- INLINECODE16
- INLINECODE17
- INLINECODE18
- INLINECODE19
- INLINECODE20 with:
-
use_case
-
why_it_fits
-
likely_value
-
starting_point
-
move
-
why_first
-
expected_benefit
- - INLINECODE29
- INLINECODE30
- INLINECODE31
Guardrails
- - Research public website content only unless the user supplies additional material.
- Do not claim verified need where only a hypothesis exists.
- Do not overpromise outcomes.
- Do not send email without explicit approval.
- Use the configured sender account and sender identity for outbound workflows; do not hardcode personal branding into public distributions.
Resources
references/
- -
references/report-format.md — required report structure - INLINECODE33 — default email draft shape and constraints
- INLINECODE34 — value-first / “free doughnut” outreach framing, scannability rules, and CTA guidance
- INLINECODE35 — HTML email + one-page brief delivery guidance and approval-preview checklist
- INLINECODE36 — optional follow-up templates and cadence after the initial brief send
scripts/
- -
scripts/render_outreach_report.py — render markdown report from structured JSON - INLINECODE38 — render polished HTML one-page brief from structured JSON
- INLINECODE39 — convert the HTML brief into a client-facing PDF artifact
- INLINECODE40 — render plain-text outreach email from structured JSON
- INLINECODE41 — render lightweight HTML outreach email from structured JSON
- INLINECODE42 — render approval preview manifest for the actual outbound package
- INLINECODE43 — send HTML email plus attached brief via Gmail after approval
- INLINECODE44 — example config with sender account and output defaults
Outreach Demo
根据三个输入构建草稿优先的外联方案:企业名称、网站URL和联系邮箱。
保持工作流程基于证据、简洁,且任何邮件发送均需审批。
工作流程
- 1. 信息收集
- 收集:
- 企业名称
- 联系人姓名(如有)
- 联系邮箱
- 网站URL
- 可选的企业备注
- 如果缺少网站URL或邮箱,仅询问缺失的字段。
- 2. 网站调研
- 仅检查公开网站。
- 优先查看首页、关于我们、服务/产品、联系方式以及选定的博客/资源页面。
- 仅提取可见的、有依据的观察结果。
- 不猜测内部系统、收入、人员配置或痛点。
- 3. OpenClaw适配分析
- 提出最多3个具体的OpenClaw使用场景。
- 按以下标准排序:
- 可见适配度
- 潜在商业价值
- 最低门槛的切入点
- 同时生成:
- 一个priority_move
- 一个简短的why
itmatters[]列表
- 对不确定的结论使用可能、似乎或表明等措辞。
- 4. 报告生成
- 使用references/report-format.md确定章节结构。
- 供操作员审阅的纯文本版本,使用以下命令渲染Markdown:
- scripts/render
outreachreport.py --input
--output
- 需要更强视觉效果的交付,使用以下命令渲染精美的HTML单页简报:
- scripts/renderoutreachreport_html.py --input --output
- 推荐的展示成果:使用以下命令将HTML简报转换为PDF:
- scripts/renderoutreachreport_pdf.sh --input --output
- 当视觉冲击力重要时,优先使用PDF进行实时外联。
- 5. 邮件草稿生成
- 默认采用价值优先/免费甜甜圈框架:在请求对方时间之前,先提供一个小型具体资产。
- 使用references/email-template.md确定默认语气和结构。
- 当需要优化可扫描性、主题行或更具吸引力的价值优先CTA时,参考references/value-first-outreach.md。
- 使用以下命令渲染纯文本草稿:
- scripts/renderoutreachemail.py --input --output
- 使用以下命令渲染轻量级HTML:
- scripts/renderoutreachemail_html.py --input --output
- 推荐的展示发送模式:HTML邮件 + 附件简报。
- 保持邮件简短、具体且视觉上易于扫描。
- 默认仅生成草稿。
- 6. 审批关卡
- 不自动发送邮件。
- 仅在用户明确批准该收件人/消息后才允许发送。
- 使用以下命令构建预览清单:
- scripts/renderoutreachpreview.py --input --subject --email-text --email-html --brief --output
- 发送前,预览或总结:
- 收件人
- 主题
- 纯文本备用正文
- HTML正文(如使用)
- 附件简报文件名/格式(如使用)
- 实际发送HTML+简报时,使用:
- scripts/sendoutreachpackage.sh --to --subject --text --html --attach
- 使用面向客户的附件名称,例如:
- -OpenClaw-Brief.pdf
输出标准
尽可能生成三个成果:
- - 结构化JSON摘要
- Markdown报告
- 纯文本邮件草稿
推荐的JSON字段:
- - businessname
- contactname
- contactemail
- websiteurl
- businesssummary
- likelyaudience
- websiteobservations[]
- openclawfits[],包含:
- use_case
- whyitfits
- likely_value
- starting_point
- move
- why_first
- expected_benefit
- - whyitmatters[]
- demoangle
- outreachsummary
护栏
- - 除非用户提供额外材料,否则仅研究公开网站内容。
- 不得声称已验证的需求,如果仅存在假设。
- 不得过度承诺结果。
- 未经明确批准不得发送邮件。
- 对外工作流程使用配置的发件人账户和发件人身份;不得将个人品牌硬编码到公开分发中。
资源
references/
- - references/report-format.md — 必需的报告结构
- references/email-template.md — 默认邮件草稿格式和约束
- references/value-first-outreach.md — 价值优先/免费甜甜圈外联框架、可扫描性规则和CTA指南
- references/visual-delivery.md — HTML邮件+单页简报交付指南和审批预览清单
- references/follow-up-sequence.md — 初始简报发送后的可选跟进模板和节奏
scripts/
- - scripts/renderoutreachreport.py — 从结构化JSON渲染Markdown报告
- scripts/renderoutreachreporthtml.py — 从结构化JSON渲染精美的HTML单页简报
- scripts/renderoutreachreportpdf.sh — 将HTML简报转换为面向客户的PDF成果
- scripts/renderoutreachemail.py — 从结构化JSON渲染纯文本外联邮件
- scripts/renderoutreachemailhtml.py — 从结构化JSON渲染轻量级HTML外联邮件
- scripts/renderoutreachpreview.py — 为实际外联包渲染审批预览清单
- scripts/sendoutreach_package.sh — 审批后通过Gmail发送HTML邮件及附件简报
- scripts/config.example.json — 包含发件人账户和输出默认值的示例配置