如何在Azure Logic Apps的同一审批邮件中添加多审批选项?
在Azure Logic Apps中实现单封邮件多审批选项的方法
方法1:使用Logic Apps内置审批操作(推荐)
这是最直接可靠的方案,内置审批操作原生支持多选项审批,且会自动生成包含所有选项的审批邮件:
- 移除原有的Office 365 Outlook「发送审批邮件」操作,添加Logic Apps的 「Start and wait for an approval」 操作
- 在操作配置面板中:
- 「Approval type」选择
Custom response - wait for one response(或根据需求选择其他类型,比如需要多人审批的选项) - 「Choices」字段输入自定义选项数组,格式示例:
["同意", "驳回", "需修改重提"],每个选项用双引号包裹,逗号分隔,整体用方括号括起 - 填写「Title」(邮件主题)、「Details」(审批详情)、「Assigned to」(审批人)等字段
- 「Approval type」选择
- 配置完成后,该操作会自动向审批人发送包含所有选项按钮的邮件,审批人选择后,Logic Apps会捕获对应的响应值供后续流程使用
方法2:自定义HTML邮件+监听响应(适配Office 365 Outlook组件)
如果必须依赖Office 365 Outlook组件发送邮件,可通过HTML按钮实现多选项,再结合监听逻辑获取结果:
- 使用Office 365 Outlook的 「Send an email (V2)」 操作,将邮件正文设置为HTML格式,插入对应审批选项的按钮,示例HTML片段:
<p>请选择审批结果:</p> <a href="https://your-logic-app-http-endpoint?approvalId=xxx&choice=同意" style="padding:8px 16px; background:#2ecc71; color:white; text-decoration:none; border-radius:4px;">同意</a> <a href="https://your-logic-app-http-endpoint?approvalId=xxx&choice=驳回" style="padding:8px 16px; background:#e74c3c; color:white; text-decoration:none; border-radius:4px; margin-left:10px;">驳回</a> - 创建一个HTTP触发的Logic Apps流程,用于接收按钮点击的请求,解析
approvalId和choice参数,记录审批结果 - (可选)配置「When a new email arrives (V3)」操作,过滤审批人的回复邮件,提取审批选项(这种方式需要约定回复格式,不如HTTP端点可靠)
注意:方法2需要自行处理审批状态的关联、重复提交等问题,复杂度高于方法1,非必要不推荐。
内容的提问来源于stack exchange,提问作者AAyush Singh
相关产品推荐
相关产品推荐

