实战 SOP
实战 SOP

AI 内容日历自动化工作流:选题排期到分发全打通

AI 内容日历自动化 n8n 工作流:定时采集选题->LLM 打分+建议发布日期+栏目->写入日历(飞书/Notion)->临近发布通知负责人->状态回写。配 .json 模板下载。

发布于 2026年8月2日5 分钟阅读
<!-- workflow-ai-content-calendar | resource | AI 内容日历自动化工作流:选题排期到分发全打通 -->

做内容站最大的混乱不在写作环节,而在排期。选题散落在微信收藏、备忘录、浏览器标签里,哪天该发什么全靠拍脑袋;到了该发的日子才发现还没动笔,临时凑一篇质量跳水;栏目节奏没有规律,读者摸不清你哪天发热点、哪天发教程。更麻烦的是多账号分发——网站、公众号、小红书各一套排期,互不同步,经常出现公众号发了但网站还没更新。选题一多还容易撞车:这周全是热点没有教程,下周全是开源项目没有横评,栏目分布严重失衡,读者流失。

RSS 选题工作流解决的是"找什么写"的问题,这个日历工作流解决的是"什么时候写、谁来写、发了没有"的问题。两个工作流可以串联:RSS 管道产出的高分选题自动灌进日历的选题池,日历再负责排期和提醒。也可以单独跑,手动通过 Webhook 往选题池里加内容。

这个 n8n 工作流把"选题 -> 打分 -> 排期 -> 提醒 -> 回写状态"串成一条自动线:每周定时拉多源选题池,用大模型逐条打分并建议发布日期和栏目,写入飞书多维表格或 Notion 数据库当日历;临近发布日期自动通知负责人"明天要发 xxx";内容发布后通过 CMS Webhook 回调把状态回写"已发布",日历始终是活的,谁该写什么、哪天发一目了然。

工作流链路

Schedule 定时触发(每周一早 9 点)-> 多源采集并行拉取(RSS Read 拉中文科技媒体 / HTTP Request 拉热点 API / Webhook 接收手动加的选题)-> Merge 合并成一条选题流 -> LLM 节点(HTTP Request 调 DeepSeek/Kimi API)逐条打分选题价值 + 建议发布日期 + 栏目分类 -> Code 节点解析 LLM 返回 JSON 并算出距发布天数 daysUntilPublish -> 写入日历表(飞书多维表格 / Notion 数据库:标题 / 栏目 / 发布日期 / 状态 / 负责人)-> IF 临近发布日期(daysUntilPublish <= 1)-> 通知负责人(飞书 / Slack / 邮件「明天要发:xxx」)-> [CMS 发布回调 Webhook 触发] -> 状态回写「已发布」。

下载模板

使用步骤

  1. 导入:n8n -> Workflows -> Import from File,选 workflow-ai-content-calendar.json
  2. Schedule 节点:设每周一早 9 点触发(周初定本周排期,给写作留足时间)。选题节奏快可改成每天
  3. 采集源节点:RSS Read 填中文科技媒体 feed(36氪 https://36kr.com/feed / 机器之心 https://www.jiqizhixin.com/rss / 少数派 https://sspai.com/feed);HTTP Request 节点填热点 API(Tavily search / 微博热搜 / 即刻热门);Webhook 节点留着手动加选题——刷到好灵感 curl 一个链接就进选题池
  4. Merge 节点:mode 选 Append,把三路 items 合成一条流。注意 Webhook 走 input 1,RSS 和 HTTP 走 input 0
  5. LLM 节点:填 API key(DeepSeek / Kimi / Qwen 都行),模型选 8k 上下文够用。Prompt 要求输出 summary / score / suggestedPublishDate / category / assignee 五个字段(见下方配套 Prompt)
  6. Code 节点:解析 LLM 返回 JSON,算出 daysUntilPublish,补 status='待写' 默认值。碰到周末自动顺延到周一,保证发布日不落在休息日
  7. 写入日历表节点:飞书多维表格用 HTTP Request 调 OpenAPI(fields 传标题 / 栏目 / 发布日期 / 状态 / 负责人);Notion 用官方 Notion 节点的 Create Page,databaseId 填你的日历库
  8. IF 节点:条件 daysUntilPublish <= 1,true 走通知分支,false 结束(还没到期)
  9. 通知节点:飞书用自定义机器人 Webhook;Slack 用 incoming Webhook;邮件用 Send Email 节点。消息体只发标题 + 栏目 + 发布日期 + 负责人四行
  10. CMS 发布回调节点:你的 CMS(WordPress / Ghost 等)发布文章后,用 Webhook 回调这个 n8n Webhook 节点,触发状态回写
  11. 状态回写节点:PATCH 日历表对应记录,status 改成「已发布」
  12. 试运行:手动触发 Schedule,查日历表是否出现新选题行;改一条选题的发布日期为明天,看通知是否到。确认通知格式和负责人分配正确后再开定时

配套 Prompt(LLM 打分 + 排期 + 栏目)

Prompt
你是 AI 内容站的选题排期编辑。读下面这条选题,输出:
1. 摘要:80 字内,说清"发生了什么 + 为什么值得写"
2. 选题价值打分(1-10):
   - 时效性(3 分):是否 72h 内首发
   - 热度(3 分):是否多源同时报
   - 写作空间(2 分):能否延伸出教程/对比/解读
   - 受众匹配(2 分):是否命中 AI 工具实战读者
3. 建议发布日期(YYYY-MM-DD):时效性强的选题建议 2 天内发;深度解读可排 1 周内
4. 栏目分类:hotspot(热点)/ review(横评)/ sop(教程)/ resource(开源项目)/ prompt(提示词)/ workflow(工作流)
5. 建议负责人:根据栏目分配(留空则默认 editor)
输出 JSON,字段为 summary / score / suggestedPublishDate / category / assignee。
不编造选题里没有的事实;摘要只用原文信息。
选题标题:{{title}}
选题正文:{{content}}

进阶

  • 栏目映射规则:在 Code 节点加一层栏目映射,比如 score >=8 且时效性强自动归 hotspot,score 6-7 且有实操性归 sop。减少人工分类,栏目分布更均衡
  • 发布状态回写闭环:CMS 发布后 Webhook 回调只是起点。进阶做法是在状态回写后加一个 HTTP Request 节点,把文章 URL 同步回日历表的 url 字段,日历变成"选题 -> 发布"全生命周期看板
  • 与 CMS 联动:写入日历表后,对 score >=9 的选题直接调 CMS API 创建草稿(标题 + 摘要 + 栏目自动填好),编辑打开就是半成品,省掉手动建稿。WordPress 用 REST API,Ghost 用 Admin API
  • 发布日历可视化:飞书多维表格自带日历视图,把"发布日期"字段设为日期类型即可切到日历模式,哪天扎堆、哪天空窗一目了然。Notion 用 Timeline 视图同理
  • 多账号分发:通知节点后面加一层 Switch,按栏目分流到不同通知群——热点发全员群、教程发内容组群,降噪不刷屏
  • 批量排期生成:周末花半小时手动往 Webhook 塞 10 条选题,一次性跑完 LLM 打分和排期,下周的日历瞬间填满。比每天手动排效率高一个数量级
  • 内容复用追踪:日历表加一个 repurposed 布尔字段,标记这条选题是否已经改编成其他格式(长文改短视频脚本、横评改公众号图文)。避免同一选题重复排期

踩坑

  • LLM 建议的日期不合理:模型有时会给周末或节假日。Code 节点加一步日期校验,碰到周末自动顺延到周一
  • Webhook 手动加选题格式不统一:有的传 title+url,有的传整段文本。Webhook 后面加一个 Code 节点做字段归一化,提取 title / content / sourceUrl 三个字段再进 Merge
  • 通知消息太长:飞书 / Slack 消息超过几行就被折叠。通知节点只发标题 + 栏目 + 发布日期 + 负责人四行,摘要进日历表看
  • 日历表记录越来越多:每周跑一次,一个月上百条。飞书 / Notion 加一个视图过滤 status != '已发布',只看未发布的;已发布的定期归档
  • IF 时间窗口不匹配:daysUntilPublish <= 1 只在每周一跑时可能漏掉周三到期的。建议另开一个每天早 9 点的 Schedule Trigger 单独跑 IF + 通知这段,和每周采集解耦
  • 飞书多维表格字段类型坑:写入"发布日期"字段时,飞书要求传时间戳或 ISO 格式,直接传 YYYY-MM-DD 字符串会报错。Code 节点里把日期转成 ISO 8601 再传

参考来源

本文由 AI 辅助生成,经人工审核编辑。最后更新:2026-08-02

相关文章