2026-09-28 · 原文发布日
n8n模板:从Reddit和Twitter挖掘购买意向线索
这个n8n工作流每15分钟通过Google自定义搜索、Twitter/X搜索API和RSS抓取含购买意向的帖子,统一格式后用Airtable按来源链接去重,再由GPT-4o给意向打分过滤低质噪音。新线索经Apollo或Google搜索补充信息,Claude生成买家画像和加权总分;HOT线索走多步策略+撰写+垃圾质量校验流程生成外联草稿,WARM线索用单次草稿,全部进Airtable队列并发Slack人工审核,批准后经Gmail随机延时发送。另有每日培育扫描、竞品监控和每周管道报告。
原文要点
原模板页说明:流程每15分钟用Google自定义搜索查Reddit、调Twitter/X recent search、读RSS;先按来源链接在Airtable去重,再用GPT-4o打购买意向分并丢弃低质噪音;新线索用Apollo或Google搜索补充,Claude生成买家画像和加权总分;HOT走策略、撰写、垃圾质量校验多步,WARM单次草稿;草稿进Airtable队列,Slack #lead-review人工批准,Gmail随机延时发送或把可复制文案发到Slack;另有每日培育衰减、竞品监控、每周管道报告和错误日志。
这次做成什么
在自有n8n里搭一个可验收的最小闭环:定时或手动触发→三路抓取→统一字段→Airtable按source_url去重→意向评分→HOT/WARM分支→草稿入库→Slack待审→批准后才允许发送;未批准只留在队列。本站不给可导入n8n JSON,以下是独立重建方案,原模板需在n8n模板页打开后核对节点名与按钮。
准备什么
- 一个可登录的n8n云或自托管实例,能创建Schedule Trigger、HTTP Request、Code、IF、Slack、Gmail节点
- Airtable账号、Personal access token或OAuth,以及已建好的base,含LEADS、OUTREACH_QUEUE、ERROR_LOGS三张表
- OpenAI与Anthropic API key;Google Custom Search API key和Search Engine ID;X/Twitter Bearer token;Apollo key可选并放入环境变量APOLLO_API_KEY
- Slack工作区已建#lead-review、#lead-alerts频道;Gmail OAuth2仅在测试草稿箱或隔离邮箱开启
具体怎么做
建Airtable表并锁定字段映射
在LEADS建source_url、source、author、text、intent_score、profile_score、total_score、status、email、last_seen;OUTREACH_QUEUE建lead_id、variant、draft、approval_status、send_channel;ERROR_LOGS建node、message、payload。把base ID记到n8n变量LEADS_BASE_ID,字段名先与本方案一致,跑通后再对照原模板改名。
做三路采集与统一格式
Schedule Trigger设每15分钟,先用Execute Workflow手动跑。HTTP Request A调Google CSE:q用site:reddit.com 想买 或 looking for,cx与key填凭据;HTTP Request B调X recent search,Authorization填Bearer;RSS Read读你的Google Alerts。三路汇入Code节点,输出统一字段source_url、source、author、text、found_at,空URL直接丢弃。
去重、评分、分支
Airtable Search按source_url查重,已存在则更新last_seen并停止;不存在才调OpenAI聊天节点,用下方提示词输出JSON intent_score与reason。IF节点按intent_score<60丢弃并写ERROR_LOGS为noise_drop;>=60写LEADS。Apollo节点可选,失败时用Google搜索fallback,只补public_email_guess与company_hint,不写入私人敏感信息。
画像、草稿与人工闸门
Claude节点读取LEADS字段,输出buyer_profile、profile_score,并在Code节点算total_score=intent_score*0.65+profile_score*0.35。IF分HOT>=80、WARM 60-79:HOT依次走策略、成稿、垃圾质量校验三个模型调用;WARM只走单次成稿。草稿写OUTREACH_QUEUE且approval_status=pending,再发Slack #lead-review。只有Slack回复approve后,Gmail才发往测试邮箱;Reddit/LinkedIn线索只把可复制文案发#lead-review,不自动发。
可直接复制的材料
Airtable最小字段表
本站独立设计的练习表结构,不是原模板导出;上线前在原模板页核对实际表名。
table,field,type,required,note
LEADS,source_url,singleLineText,yes,去重主键
LEADS,source,singleSelect,yes,reddit_or_x_or_rss
LEADS,author,singleLineText,no,作者名或空
LEADS,text,longText,yes,帖子正文
LEADS,intent_score,number,yes,0到100
LEADS,profile_score,number,no,0到100
LEADS,total_score,number,no,加权总分
LEADS,status,singleSelect,yes,new_queued_dropped
LEADS,email,email,no,无邮箱不发Gmail
LEADS,last_seen,dateTime,yes,最近抓到时间
OUTREACH_QUEUE,lead_id,link,yes,连到LEADS
OUTREACH_QUEUE,variant,singleSelect,yes,hot_or_warm
OUTREACH_QUEUE,draft,longText,yes,待审草稿
OUTREACH_QUEUE,approval_status,singleSelect,yes,pending_approved_rejected
OUTREACH_QUEUE,send_channel,singleSelect,yes,gmail_or_manual
ERROR_LOGS,node,singleLineText,yes,出错节点
ERROR_LOGS,message,longText,yes,错误信息
ERROR_LOGS,payload,longText,no,脱敏后的输入购买意向评分提示词
可直接粘贴到OpenAI节点;{{}}按你的n8n表达式改成实际字段引用。
你是B2B线索筛选器。只根据输入帖子判断发布者是否近期有购买、替换、询价、求推荐、预算或试用意向。输出必须是JSON对象,不要Markdown,不要解释。字段:intent_score为0到100整数;stage为research、budget、urgent、none之一;reason不超过40个中文字;next_action为draft、wait、drop之一。规则:明确预算或截止时间加权最高;只抱怨不提需求不超过45分;招聘、新闻、广告、抽奖直接drop。输入字段:source={{source}} author={{author}} text={{text}}。字段映射与测试开关
独立示例配置,需替换base与频道;ALLOW_AUTO_SEND保持false直到人工审核链路跑通。
LEADS_BASE_ID=改成你的Airtable_base
LEADS_TABLE=LEADS
QUEUE_TABLE=OUTREACH_QUEUE
ERROR_TABLE=ERROR_LOGS
INTENT_DROP_BELOW=60
HOT_AT_OR_ABOVE=80
TOTAL_WEIGHT_INTENT=0.65
TOTAL_WEIGHT_PROFILE=0.35
SLACK_REVIEW_CHANNEL=#lead-review
SLACK_ALERT_CHANNEL=#lead-alerts
GMAIL_MODE=test_only
ALLOW_AUTO_SEND=false
APOLLO_OPTIONAL=true
ENV_APOLLO_KEY_NAME=APOLLO_API_KEY一条合成测试线索
虚构URL与作者,只用于触发去重、评分与HOT分支,不指向真实用户。
source_url=https://example.invalid/reddit/post/1001
source=reddit
author=procurement_lee
text=我们团队要在两周内换掉现有工单系统,预算约每月300美元,需要支持中文工单和Slack提醒,求真实用户推荐,最好本周能试用。
found_at=2026-09-28T09:15:00+08:00输入与输出示例
本站虚构演示,非原模板运行结果;分数由你的模型实时生成,可能不同。
输入
把上面的合成测试线索先手动Post到采集Code节点,Airtable为空,GMAIL_MODE=test_only,ALLOW_AUTO_SEND=false。对应输出
预期LEADS新增1行且status=queued;OpenAI返回类似{"intent_score":88,"stage":"urgent","reason":"两周内替换且有月预算","next_action":"draft"};profile_score假设为76时total_score=88*0.65+76*0.35=83.8,进入HOT;OUTREACH_QUEUE出现approval_status=pending草稿;Slack收到审核卡;未approve前Gmail节点不应发送。做完检查这些
- 重复导入同一source_url两次,第二次只更新LEADS.last_seen,不产生新队列草稿
- intent_score低于60的合成噪音必须写ERROR_LOGS且不进OUTREACH_QUEUE
- email为空时即使Slack approve,Gmail节点也被IF拦截,只发manual文案到Slack
- ERROR_LOGS能在任一HTTP 401或429时记录node、message和脱敏payload
容易卡住的地方
- X/Twitter recent search、Google CSE、Slack、Gmail、OpenAI、Anthropic都可能另计费,先用测试额度与隔离邮箱
- 原模板提到Apollo可选;没有APOLLO_API_KEY时必须走Google fallback,不能让空key中断主流程
- 不要把真实客户邮箱、密钥或Reddit用户名写进ERROR_LOGS.payload,先脱敏
- 界面节点名、模型下拉项和按钮以你打开的n8n模板页为准,本方案未声称实测原工作流
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Generate and nurture social leads from Reddit and Twitter with OpenAI and Airtable
- 原作者
- amir
- 原始发布日期
- 2026-09-28T11:11:59.035Z
- 来源
- https://n8n.io/workflows/20046