AI PLAY玩法更新持续收录
← 回到更新流

2026-09-29 · 原文发布日

WordPress留言表单自动分类打分并进HubSpot

这套n8n模板接住Contact Form 7的每次提交:Gemini按一句话业务描述把留言分成线索、售后或垃圾并打1到5分,线索写入或更新HubSpot联系人并附上完整留言笔记,售后转去对应Slack频道,垃圾直接拦在CRM外;热门线索在销售频道里带火焰标记和HubSpot链接。模型故障或输出不合规时留言不评分也照样转给销售,保证不丢单。表单字段名、热门分数线都可在设置节点改。

原文要点

Mateusz Skorupa发布的免费n8n模板:Contact Form 7在wpcf7_before_send_mail钩子(已过CF7自带垃圾检查)把字段JSON发给带Header Auth的webhook;Gemini(模板用gemini-3.1-flash-lite)按一句话业务描述把留言分为lead/support/spam并打1-5分与一句摘要,结果受JSON schema校验;线索写入或更新HubSpot联系人并附完整留言笔记,售后进专属Slack频道,垃圾拦截;模型故障或输出不合规时不评分照样转销售不丢单;无邮箱无留言的提交作为配置警告发销售;热门线索(默认≥4分)带:fire:标记和HubSpot链接。

这次做成什么

给WordPress的Contact Form 7接一条n8n流水线:Gemini自动分类打分,线索进HubSpot、售后进Slack、垃圾拦截,且任何故障路径都不丢单。

准备什么

  • 装了Contact Form 7的WordPress站点,以及Webhook Actions插件或可改functions.php的权限
  • Gemini API key、HubSpot账号(免费CRM即可,私有应用需contacts读写scope)、Slack workspace(chat:write的bot)
  • n8n实例及HubSpot App Token、Slack bot token、Gemini三类凭据

具体怎么做

  1. 配Settings与webhook鉴权

    打开Settings节点:business用一句话描述你的业务(Gemini据此打分),填sales_channel和support_channel两个Slack频道,hot_score默认4;若表单改过字段名,填email_field/name_field/message_field的新名;EU区HubSpot把hubspot_app_url改成https://app-eu1.hubspot.com。然后在New Lead Webhook加Header Auth凭据(如X-Webhook-Token:长随机串)并复制生产URL。

  2. 接三方凭据

    Gemini Chat Model节点填Gemini key(模板默认gemini-3.1-flash-lite,可按账号实际可用型号调整);HubSpot建私有应用,勾选crm.objects.contacts.read与crm.objects.contacts.write,token配到Save to HubSpot与Add Note;Slack建chat:write的bot并配到Notify Sales/Support,记得在两个频道里/invite你的app,否则报not_in_channel。

  3. WordPress侧挂钩子

    用免费Webhook Actions插件:在wpcf7_before_send_mail新建webhook,把args.2.fields.your-name、your-email、your-message映射为同名字段,加args.0.title为form_title、args.2.meta.url为page_url,附上Header Auth头。或在functions.php用下面artifact的PHP片段(本站修正重写版,原文片段有语法残缺需修正后使用)。

  4. 激活并实测三类留言

    激活工作流后发三条真实感留言:一条明确询价(应进HubSpot并带分数与笔记)、一条售后问题(应进support频道)、一条只写『test』(应判spam停在Ignore Spam)。在执行列表里逐条确认路由,并检查HubSpot联系人是否附了完整留言笔记。

可直接复制的材料

Gemini分类打分提示词

本站独立撰写,对应模板Qualify Lead节点逻辑;{{ }}表达式换成你工作流字段;category取值变更时Route Lead的输出分支要同步改。

你是售前留言分类器。业务描述:{{ $json.business }}
请把下面的表单提交分类为lead(购买意向)、support(售后/使用问题)或spam(推广、无关内容),并打1到5的意向分(5=立即想买),再给一句20字内的中文摘要。
只输出JSON,不要markdown围栏:{"category":"lead|support|spam","score":1,"summary":""}
无法判断时category填lead、score填null。
提交内容:
姓名:{{ $json.name }}
邮箱:{{ $json.email }}
留言:{{ $json.message }}

WordPress侧PHP片段(修正版)

原文所附PHP片段headers两行语法残缺无法运行,这是本站按原意修正重写的版本;REPLACE-WITH-YOUR-TOKEN必须与n8n的Header Auth一致,URL换成你的webhook;blocking=false让访客不等n8n。

add_action( 'wpcf7_before_send_mail', function () {
    $fields  = [ 'your-name', 'your-email', 'your-subject', 'your-message' ];
    $payload = [];
    foreach ( $fields as $field ) {
        $payload[ $field ] = sanitize_textarea_field( wp_unslash( $_POST[ $field ] ?? '' ) );
    }
    $payload['form_id']  = absint( $_POST['_wpcf7'] ?? 0 );
    $payload['page_url'] = get_permalink( absint( $_POST['_wpcf7_container_post'] ?? 0 ) ) ?: '';

    $args = [
        'headers'  => [
            'Content-Type'   => 'application/json',
            'X-Webhook-Token' => 'REPLACE-WITH-YOUR-TOKEN',
        ],
        'body'     => wp_json_encode( $payload ),
        'blocking' => false,
    ];
    wp_remote_post( 'https://YOUR-N8N/webhook/wordpress-cf7-lead', $args );
} );

输入与输出示例

本站虚构演示,分类结果与Slack文案均为示意,并非真实Gemini/HubSpot返回。

输入

表单提交:{"your-name":"王小雅","your-email":"wangxiaoya@example.cn","your-message":"你好,我们健身房想采购30台你们的体测仪,请报批量价并安排演示","form_title":"联系我们","page_url":"https://shop.example.cn/contact"}

对应输出

Gemini返回:{"category":"lead","score":5,"summary":"健身房批量采购30台体测仪询价"};HubSpot创建联系人并附完整留言笔记;Slack销售频道收到含:fire:标记、分数5/5与HubSpot记录链接的告警。

做完检查这些

  • 三条测试留言分别落到HubSpot+销售频道、support频道、Ignore Spam三个出口,路由与分数匹配
  • 提交邮箱已在HubSpot存在时走更新分支,旧联系人的历史留言笔记保留且新增本条笔记
  • 把Gemini key临时改错模拟模型故障:留言不带分数仍出现在销售频道告警中,流程不中断、不丢单,可在执行列表看到未评分标记
  • 只写『test』的提交被判spam后停在Ignore Spam,HubSpot和Slack都查不到这条记录

容易卡住的地方

  • Header Auth令牌在WordPress与n8n两侧必须完全一致,不一致时webhook直接401且访客无感知
  • Slack应用没被/invite进频道会报not_in_channel,告警静默失败
  • Contact Form 7本身不存数据库,webhook没接通前通知邮件是唯一副本,上线前先并行观察几天
  • 原文附带的PHP片段有语法残缺不能直接粘贴运行,需用修正版;字段名改了要同步改Settings里的三个字段名配置

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Qualify WordPress Contact Form 7 leads with Gemini, HubSpot, and Slack
原作者
Mateusz Skorupa
原始发布日期
2026-09-29T13:15:40.191Z
来源
https://n8n.io/workflows/20157