SuperAPI AI 工具集

workflow-guide

编程与开发

查看项目

更新于 10-16 00:04

技能介绍

用途:这是 Notion Cookbook 提供的工作流编写参考,面向在项目中实现工作流的开发者,重点解释类型化触发器、持久化步骤、可重放的数据流与幂等副作用。

主要能力与约定:src/workflows 下每个直接子文件须默认导出 createWorkflow(...),文件名即该工作流的 key。凡是可能变化的结果和外部副作用都需放在 step 中,包括网络与 Notion API 调用、可变状态读取、时间戳、随机值、生成的 ID、消息、创建与更新操作;事件与已完成步骤结果的确定性转换可放在 step 外。

用法要点:已完成步骤会重放已保存结果,因此不可依赖 step 内部的内存变更,应返回后续代码需要的值;调用顺序要稳定,每个 step 要有稳定的显示名,该名称默认也是重放 key。重复步骤不要把条目 ID 或循环索引插入名称,而应传入稳定的复合 key,例如:await context.step("Process page", { key: ["process-page", page.id] }, async ({ id }) => processPage(page, { idempotencyKey: id }))。key 必须在重试间稳定,并在单次运行中唯一。

限制与注意事项:重试可能在其步骤结果保存前就成功执行,从而重复外部副作用;应传入回调 id 作为幂等键,若服务不支持原生幂等,可使用稳定外部 ID、upsert 或重复检查。返回值须可 JSON 序列化;请求失败或缺少必需配置时应抛出异常;不要记录密钥或私密载荷。其他细节资料暂未提供。