必须启用用户级全局记忆并正确读写变量,才能实现多工作流间实时共享状态;开启后所有工作流自动读写同一内存空间,a中用“设置变量”或“结束节点”写入order_id,b中用“获取全局变量”+条件判断安全读取,支持通过“调用工作流”节点跨flow触发。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在扣子中让多个独立工作流之间实时共享用户状态、中间结果和上下文变量,避免重复识别意图、重复调用API、下游流程拿不到上游解析出的订单号,必须打破单工作流边界,建立跨Flow的数据通道。
启用全局共享记忆并配置作用域
进入Bot编辑页 → 点击左上角「设置」→ 在「高级设置」中找到「全局记忆」开关 → 开启并选择作用域为【用户级】。【选错作用域会导致不同用户的上下文混用,引发严重数据泄露风险】
这一步完成后,所有工作流将自动获得读写同一块内存空间的权限,无需额外声明变量或手动传参。
注意:该功能仅对Bot级别启用有效,不能在单个工作流内部单独开启;关闭后所有已存记忆立即清空,不可恢复。
在工作流A中写入关键数据
方法一:使用「设置变量」节点直接注入
在工作流A的末尾拖入「设置变量」节点 → 在「变量名」栏填入order_id(不要加{{}})→ 「值」栏填入{{api_result.data.order_no}} → 勾选「写入全局记忆」。
方法二:通过「结束节点」透传输出
双击工作流A的「结束节点」→ 在「输出映射」中添加字段:key填order_id,value填{{context.order_id}} → 启用「同步至全局记忆」开关。这种方式更适合需要多字段批量写入的场景。
两种方法效果等价,但方法一更灵活,可在任意中间节点插入;方法二必须放在结束前,且只支持一次批量写入。
在工作流B中安全读取并校验
第一步:在工作流B开头插入「获取全局变量」节点 → 输入变量名order_id → 设置默认值为空字符串。
第二步:紧接着添加「条件判断」节点 → 表达式写为{{global.order_id != ""}} → 若为真,走主逻辑;若为假,则跳转至「兜底响应」节点提示“未检测到有效订单,请先完成下单流程”。
第三步:在主逻辑分支中,所有后续节点均可直接使用{{global.order_id}}引用该值,无需再次声明或转换格式。
⚠️重要提醒:全局变量读取不触发自动类型转换,若上游写入的是数字型12345,下游读取时仍是字符串"12345",参与数值计算前需显式转为整数,否则比较或加减会出错。
跨工作流触发与参数绑定
方法1:通过Webhook主动拉起
在工作流A的结尾调用「HTTP请求」插件 → URL填写你已部署的Coze Bot Webhook地址(含Bot ID与签名参数)→ Body中构造JSON:{"event": "order_confirmed", "data": {"order_id": "{{global.order_id}}"}} → 方法选POST。
方法2:使用「调用工作流」节点(推荐)
在工作流A结尾拖入「调用工作流」节点 → 从下拉菜单中选择目标工作流B → 在「输入映射」中手动绑定:target_order_id → {{global.order_id}} → 启用「等待返回结果」可选。
方法2更轻量、更可控,不依赖网络稳定性,且能捕获B的执行状态;方法1适合需解耦或跨Bot调用的场景。











