必须插入Human-in-the-Loop节点实现人工审核:在AI节点后拖入该节点,配置确认消息、24小时超时及Approved/Rejected分支,结合Context Load/Save节点保持状态连续,并通过Debug验证飞书卡片触达与响应。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Dify工作流中实现用户填写表单后由人工审核再继续流程的多轮人机交互,必须在AI自动节点之后插入可中断、可恢复、带状态回传能力的确认环节,否则整个流程将失去人工干预的可控性。
添加人工确认节点
进入Dify工作流编辑界面→点击左侧工具栏中的「Human-in-the-Loop」节点→将其拖入画布,放在AI生成结果节点之后、后续执行节点之前。
双击该节点,在「Confirmation Message」中填写向审核人展示的提示语,例如:“请确认以下订单信息是否准确,点击【通过】继续发货,或【驳回】返回修改”。【该消息会直接发送至飞书/企业微信配置的审核群或指定成员,不可留空】
设置「Timeout」为1440分钟(即24小时),超时后自动触发「On Timeout」分支;不建议设为0,否则流程会永久挂起。
配置人工审核后的分支走向
方法一:使用内置条件分支
从Human-in-the-Loop节点拉出两条连线,分别标注「Approved」和「Rejected」。Approved线连至「发货通知」节点,Rejected线连至「发送修改提醒」节点并返回初始输入节点。
方法二:用变量控制跳转逻辑
在Human-in-the-Loop节点的「Advanced Settings」中启用「Return decision as variable」,变量名设为human_decision;后续接一个Condition节点,判断human_decision == "approved",真则走自动化交付,假则触发重填流程。
注意:若选择方法二,必须确保前序节点已将原始用户输入存入持久化变量(如user_order_data),否则驳回后无法还原上下文。
保证多轮状态连续性的关键操作
第一步:在工作流最前端添加「Context Load」节点,类型选「Session-based」,勾选「Load previous context automatically」。
第二步:在每次用户提交输入后,立即接一个「Context Save」节点,把当前所有关键字段(如order_id、user_phone、submit_time)写入context变量,键名需语义明确,避免用step_1、data_x等模糊命名。
第三步:当流程因驳回回到初始节点时,需在User Input节点的「Default Value」中填入{{ context.user_phone }}这类表达式,让用户看到已填内容,而不是清空重来。
这一步漏掉会导致用户反复输入相同信息,体验断裂。Dify不会自动回填历史值,必须显式绑定。
测试人工确认链路是否生效
点击右上角「Debug」→选择「Start from this node」→运行到Human-in-the-Loop节点时,观察右侧调试面板是否显示「Waiting for human confirmation」状态。
登录配置好的飞书审批群,确认收到带「通过」「驳回」按钮的卡片消息;点击任意按钮后,工作流应立刻离开等待态,进入对应分支。
若卡片未发出,请检查Dify后台「Integrations」中飞书Bot是否已启用「send_message」权限,并确认「Approval Group ID」填写的是群聊的加密ID而非名称。


















