Notion 是规划内容的好地方:每个活动一个数据库视图、想追踪什么就设什么属性、还能用评论做审阅。问题在于,“这一行标记为 Ready”和”帖子真正发出去”之间存在一道缝隙。
下面教你怎么弥合这道缝隙,以及那唯一一个能决定这套流程是正常运作、还是把你写到一半的草稿发出去的关键点。
先把数据库搭建好
工作流的可靠程度,完全取决于它背后的数据库。值得设置的属性包括:
| 属性 | 类型 | 用途 |
|---|---|---|
| Content | 文本 | 帖子正文本身 |
| Status | 单选 | Draft、Ready、Published |
| Channels | 多选 | 发布到哪些平台 |
| Publish at | 日期 | 什么时候发出去 |
| Media | 文件或 URL | 任何附件 |
Status 是最重要的一项。 没有它,Notion 页面里的每一次按键都可能触发流程,你会把还没写完一半的句子发出去。
工作流
1. 定时触发器(Schedule Trigger)。 每 15 或 30 分钟运行一次。Notion 也提供基于变更的触发器,但对这个场景来说,按计划轮询再按状态筛选更可预测,因为一行数据库记录在完成之前会被编辑很多次。
2. Notion 节点,获取数据库页面。 筛选出 Status = Ready 的记录。这就是门控。任何没有明确标记为就绪的内容都不会靠近任何平台。
3. 按发布日期筛选,如果你希望由这一行数据控制发布时间,而不是把所有已就绪的内容立刻全部发出去。
4. 拼出帖子内容。 把 Notion 属性映射到内容和频道。如果你的 Channels 属性是多选,这一步就是把这些值转换成频道列表的地方。
5. BulkPublish 节点,Post → Create。 内容、频道,以及可选的计划发布时间。
6. Notion 节点,更新页面。 把 Status 设为 Published,并写回帖子的 id 或 URL。
最后这一步正是大家最容易跳过的一步,而它正是阻止工作流在下一次运行时重复发布同一行数据的关键。没有它,每次运行都会再次捡起所有 Ready 状态的行。
陷阱:Notion 的富文本
Notion 的内容是结构化的,不是纯文本。标题、加粗、项目符号、折叠块和链接,都带着社交平台不接受的格式。
如果你把一个 Notion 区块原样传递过去,得到的要么是被原样渲染成文字的 markdown 语法,要么是一条空帖子——如果提取时选错了字段的话。
要专门提取纯文本,并在信任它之前,先检查一条真实的记录实际生成了什么。这是这类工作流产出奇怪帖子最常见的原因。
你真的需要 n8n 吗
值得先问一下这个问题。如果你是在 Notion 里做计划,只是想把帖子发出去,其实有一个直接的 Notion 集成,根本不需要运行任何工作流。
只有当你需要一些介于两者之间的东西时,才值得搭建 n8n 版本:按属性筛选、转换文本、把不同类型的内容路由到不同账号,或者接入第二个数据源。
先跑草稿
前一周,让工作流创建草稿而不是直接发布。这样你能在受众看到之前,先看清楚 Notion 到帖子的映射究竟产生了什么,尤其是富文本的处理结果。
套餐限制
- 频道数: 免费版:3 个(每个平台 1 个)。Pro:30 个(每个平台 2 个)。Business:75 个(每个平台 5 个)。
- 帖子数: 免费版:每天 3 条。Pro:每天 30 条。Business:无限。
- 每日 API 请求数: 免费版:30。Pro:5,000。Business:50,000。
免费档位每天 30 次请求是给评估自动化用的。一个每 15 分钟轮询一次的工作流,在发布任何内容之前,一天就要消耗 96 次请求。
BulkPublish 支持发布到 15 个平台:Facebook、Instagram、TikTok、YouTube、X、Threads、Bluesky、Pinterest、Google Business Profile、LinkedIn、Mastodon、Discord、Telegram、Tumblr 和 Snapchat。
简而言之
添加一个 Status 属性并按它筛选,否则你会把草稿发布出去。发布之后要写回 Notion,否则每次运行都会重复发布。要专门提取纯文本,因为 Notion 的富文本经不起这趟旅程。而且在搭建一个需要维护的工作流之前,先看看那个直接的 Notion 集成是否已经满足你的需求。