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

2026-10-05 · 原文发布日

农场盒会员变更处理与每周资讯邮件

CSA农场盒订阅的运营流:会员在表单里提交跳周、暂停、换规格、换自提点等请求,模型分类并起草120词内的确认邮件,记录进Sheets后发给会员,缺信息的请求转农场邮箱不存档;每周四早七点根据会员名册和本周收获清单生成带储存建议的农产品资讯邮件发给活跃会员,每周一扫描欠费会员发余额提醒并汇总给农场。

原文要点

原工作流由Khairul Muhtadin构建:会员通过Box Change Request Form提交跳周、暂停、换规格、换自提点请求,Normalize节点补received_at并生成REQ-日期-序号编号,校验缺失时不存档只邮件农场;gpt-6-luna把请求分为skip_week等五类、判定confirmed或needs_review并起草120词内确认信;每周四07:00按Members与Harvest两个表生成180词内带储存建议的资讯邮件发给非暂停会员并记入NewsletterLog;每周一08:00扫描balance_due大于0的会员发提醒并向农场发汇总。

这次做成什么

在n8n里复现这套CSA农场盒运营流的三条支线:表单变更处理、周四资讯邮件、周一欠费提醒,并用一个可替换的模拟表单先跑通分类与起草环节。

准备什么

  • 一个n8n实例(云端或自托管均可)并具备创建工作流权限
  • Google账号,用于建Sheets四张表并配置Sheets与Gmail的OAuth2凭据
  • 一个AI聊天模型凭据(原文用gpt-6-luna,可用你已有的模型替代)
  • 一份含member_name、member_email、share_status、balance_due的会员名册和Harvest周收获清单

具体怎么做

  1. 建Google Sheets四张表

    新建一个电子表格,建Requests、Members、Harvest、NewsletterLog四个标签页。Members列:member_name、member_email、share_status、balance_due;Harvest列:week_of、item、quantity;Requests和NewsletterLog按工作流写入字段预留表头。在n8n凭据里添加Google Sheets OAuth2和Gmail OAuth2。

  2. 搭表单变更处理主线

    添加n8n Form Trigger作为Box Change Request Form,字段为会员姓名、邮箱、变更内容、生效日期。接一个Set/Code节点做Normalize:映射字段、写入received_at、生成request_id(格式REQ-YYYYMMDD-三位序号,本站示例用表达式拼接当前日期与随机数)。再接IF节点校验三个必填字段:缺失时走Gmail节点发农场邮箱,正文列出缺失字段和已提交的值,且不写入Sheets。

  3. 接模型分类与起草

    校验通过的分支接AI Agent或Chat Model节点,粘贴下文分类起草提示词,要求模型只输出JSON(category、decision、subject、body)。其后接Code节点解析JSON回写到请求对象上,再用Google Sheets节点追加到Requests表,最后用Gmail节点把subject和body发给member_email。

  4. 搭周四资讯支线

    添加Schedule Trigger设为每周四07:00(注意核对n8n时区设置)。用两个Google Sheets读取节点分别拉Members和Harvest,接Code节点把本周Harvest行合并成清单文本、统计会员数。把清单送入模型节点(提示词见材料),生成180词内、每项一条储存建议的资讯稿。再用IF过滤share_status不等于paused的会员,循环Gmail发送,并用Sheets节点往NewsletterLog写sent_at、week_of、recipient、subject。

  5. 搭周一欠费支线并测试

    再加一个Schedule Trigger设周一08:00,读取Members表,用IF筛出balance_due大于0的行,逐个发余额提醒邮件,同时把欠费名单汇总成一封发给农场邮箱;没有欠费时该分支不发送。先用3行虚构会员数据手动执行每条支线各一次,确认表格写入和邮件到达后再激活工作流。

可直接复制的材料

变更请求分类与确认信起草提示词

本站独立编写,对应原文Classify and Draft Reply节点职责;原文限定120词,这里按中文场景改为120汉字,可按需调整。

你是CSA农场盒订阅的客服助手。根据下面的会员变更请求,完成两件事并只输出JSON,不要输出任何其他文字。

会员姓名:{{$json.member_name}}
变更请求:{{$json.request_text}}
期望生效日期:{{$json.effective_date}}

要求:
1. category 只能是以下之一:skip_week(跳过某周配送)、pause_membership(暂停会员)、box_size_change(更换盒子规格)、pickup_change(更换自提点)、other(其他)。
2. decision:信息足够可直接确认为 confirmed;缺少关键信息(如未说明新规格或新自提点)则为 needs_review。
3. subject:中文邮件主题,不超过20字。
4. body:中文确认邮件正文,不超过120个汉字,复述会员的变更内容和生效日期,语气友好;decision为needs_review时在正文中说明还需补充什么信息。

输出格式:{"category":"...","decision":"...","subject":"...","body":"..."}

每周收获资讯邮件起草提示词

本站独立编写,对应Compose Harvest Newsletter节点;强调只用Harvest表数据这一点来自原文设计。

你是CSA农场的每周通讯编辑。根据本周收获清单写一封发给会员的资讯邮件,只输出JSON。

本周日期:{{$json.week_of}}
会员总数:{{$json.member_count}}
本周收获清单:{{$json.harvest_list}}

要求:
1. 只使用清单里出现的农产品,不要虚构清单外的内容。
2. 正文不超过180个汉字,开头一句本周概览,然后每种农产品给一句储存或保鲜建议。
3. 语气亲切,结尾提醒下次配送时间。

输出格式:{"subject":"...","body":"..."}

Members与Harvest测试数据

本站虚构测试数据,邮箱均为示例域名,导入前替换为你的测试地址。

Members表(表头:member_name,member_email,share_status,balance_due)
林小满,linxm@example.com,active,0
周雨桐,zhouyt@example.com,active,68
陈大树,chends@example.com,paused,0
何小葵,hexk@example.com,active,35

Harvest表(表头:week_of,item,quantity)
2026-10-08,菠菜,1把
2026-10-08,白萝卜,2根
2026-10-08,苹果,4个

输入与输出示例

本站虚构演示,未实际运行工作流,request_id序号与邮件文案为示意。

输入

会员提交表单:姓名林小满,邮箱linxm@example.com,变更内容“下周要去外地,想跳过10月15日那一周的配送”,生效日期2026-10-15。

对应输出

Normalize生成request_id=REQ-20261008-047,校验通过。模型输出{"category":"skip_week","decision":"confirmed","subject":"已为您跳过10月15日配送","body":"林小满您好,已收到您的申请:跳过2026年10月15日当周的农场盒配送。该变更已登记并将于当日生效,10月22日起恢复正常配送,祝旅途顺利。"},随后Requests表追加一行,Gmail向linxm@example.com发出该确认信。

做完检查这些

  • 提交缺邮箱的表单时,Requests表不新增行,且农场邮箱收到一封列明缺失字段的邮件
  • 正常跳周请求执行后,Requests表出现带REQ-开头编号、分类为skip_week的一行,会员邮箱收到确认信
  • 周四支线手动执行后,share_status为paused的会员没有收到资讯邮件,NewsletterLog表新增发送记录
  • balance_due为0的会员不出现在周一提醒名单中,全部无欠费时农场不收到汇总邮件

容易卡住的地方

  • n8n默认时区可能不是本地时区,周四07:00和周一08:00触发前必须在设置里核对,否则会错峰发送
  • 模型输出的JSON可能被额外文字包裹导致Parse失败,提示词里要强调只输出JSON,必要时在解析节点做容错
  • gpt-6-luna是原文所用模型名,你没有该模型访问权限时换用任意可用聊天模型,分类效果需自行验证
  • 分类为needs_review的请求原文仍会记录并发信,若你想让人工先审,需要自行加一个分支
  • Gmail OAuth2凭据过期会让发送静默失败,测试阶段要逐个节点看执行日志

原文与作者资料 ↗

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

原文标题
Manage farm box shares and weekly harvest emails with gpt-6-luna, Google Sheets and Gmail
原作者
Khairul Muhtadin
原始发布日期
2026-10-05T10:58:00.925Z
来源
https://n8n.io/workflows/20443