需通过自定义工具调用twilio verify实现短信提醒与确认码校验闭环:先创建twilio_verify_start发送验证码,再用twilio_verify_check校验用户输入;工作流包含触发、文案生成、补发提醒、条件判断四步,确保订单/审批节点自动通知与响应。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在Dify中实现订单状态变更、审批进度更新等关键节点自动触发短信提醒,并将用户回复的确认码实时流转至后续审批或执行环节,需绕过Dify原生不支持HTTP请求的限制,通过自定义工具调用Twilio Verify服务完成发送与校验闭环。
准备Twilio Verify服务凭证与号码
登录Twilio控制台 → 进入Account Dashboard → 复制【Account SID】和【Auth Token】;左侧导航栏点击“Verify”→“Services”→“Create new Service”,命名后保存生成的【Service SID】——这是Verify API唯一合法入口,Messaging API在此场景下不可用。
返回“Phone Numbers”→“Manage”→“Active Numbers”,确认已购买并启用一个支持Verify的号码(如+1415xxx0000);该号码必须在Verify服务中显式绑定为“From Number”,否则twilio_verify_start调用会返回400错误且无明确提示。
免费试用账户仅允许向“Verified Caller IDs”中提前添加并验证过的手机号发送验证码,未验证目标号将静默失败,务必在测试前完成验证。
在Dify中创建Twilio Verify自定义工具
进入Dify后台 → “知识库与工具” → “自定义工具” → “创建工具”:
名称:twilio_verify_start
描述:启动Twilio Verify流程,向指定手机号发送6位数字验证码并返回verification_sid
Schema(JSON格式):
{ "type": "object", "properties": { "to_phone": { "type": "string", "description": "接收短信的手机号,E.164格式,例如+8613800138000" } }, "required": ["to_phone"] }
API URL填写:https://verify.twilio.com/v2/Services/{service_sid}/Verifications({service_sid}替换为你的真实Service SID)
请求方法:POST
认证方式:Basic Auth → 用户名填Account SID,密码填Auth Token
请求体(Body)选择“form-data”,添加两项键值:
• To → {{to_phone}}
• Channel → sms
再创建第二个工具:
名称:twilio_verify_check
Schema中增加code字段为required,API URL改为https://verify.twilio.com/v2/Services/{service_sid}/VerificationCheck,form-data中添加VerificationSid(来自上一工具输出)和Code字段。
构建含短信提醒与流转的完整工作流
第一步:在画布中添加“开始节点”,配置两个输入字段——【target_phone】(E.164格式必填)、【trigger_context】(如“订单ID:ORD-789已发货”)
第二步:连接至“自定义工具”节点,选择twilio_verify_start,绑定to_phone为{{target_phone}};该节点输出verification_sid将自动注入后续节点上下文。
第三步:添加“LLM节点”生成提醒文案,system提示词写明:“你负责生成一条简洁、带品牌标识的短信正文,不包含链接、不提‘验证码’三字,结尾固定加【XX科技】。当前事件:{{trigger_context}}”;user输入留空,确保只依赖system指令生成文本。
第四步:添加“Webhook节点”调用Twilio Messaging API补发提醒(非Verify),URL为https://api.twilio.com/2010-04-01/Accounts/{account_sid}/Messages.json,form-data中填To、From、Body(引用LLM节点输出text),认证同上。这一步确保用户即使错过Verify短信,也能收到带上下文的业务提醒。
第五步:添加“条件判断节点”,监听用户在对话界面输入的6位数字;若输入匹配twilio_verify_check工具返回的valid=true,则走“通过分支”执行审批动作;否则走“失败分支”推送重试提示并记录日志。











