You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为SharePoint列表列添加按钮以停止/取消Power Automate流

实现SharePoint列表项的Power Automate运行中流停止按钮

要做这个停止按钮,核心是通过Power Automate的管理能力终止对应列表项的运行中流实例,具体分三步操作:

1. 创建「停止审批流」的辅助Power Automate流

这个流专门处理终止操作,步骤如下:

  • 触发方式选手动触发流,添加两个输入参数:列表项ID(数字类型)、站点URL(字符串类型,固定站点可直接硬编码,无需参数)
  • (推荐优化)如果你的审批流触发时已经把流实例ID写入列表专属列(比如命名为「运行中流实例ID」),直接添加「获取项目」动作,根据列表项ID读取该列的值;若未存储,则添加「列出流运行」动作,配置审批流所在环境、流名称,筛选条件设为status eq 'Running',再通过条件判断每个运行实例的触发内容是否匹配目标列表项ID(比如检查触发的SharePoint项ID是否等于输入的列表项ID)
  • 添加「终止流运行」动作,配置对应环境、审批流名称,填入前面获取到的流运行ID,终止原因填「用户取消审批」,终止类型选「取消」(Cancel)——如需强制终止则选「终止」(Terminate)

2. 配置SharePoint列表的停止按钮JSON格式

选择一个列(可新建单行文本列,或复用现有列),编辑列格式,粘贴如下示例JSON:

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "button",
  "txtContent": "取消审批",
  "customRowAction": {
    "action": "executeFlow",
    "actionParams": "{\"id\":\"<你的辅助停止流GUID>\",\"headerText\":\"确认取消审批\",\"runFlowButtonText\":\"确定取消\",\"parameters\":[{\"key\":\"列表项ID\",\"value\":\"[$ID]\"},{\"key\":\"站点URL\",\"value\":\"[$SiteUrl]\"}]}"
  },
  "style": {
    "background-color": "#dc3545",
    "color": "#fff",
    "border": "none",
    "border-radius": "4px",
    "padding": "6px 12px",
    "cursor": "pointer"
  },
  "visibility": "=if([$运行中流实例ID] != '', 'visible', 'hidden')"
}

注意替换<你的辅助停止流GUID>:打开Power Automate辅助流的详情页,从URL中复制那串GUID(例如https://make.powerautomate.com/environments/xxx/flows/xxxx-xxxx-xxxx-xxxx/details中的长串字符)。visibility配置可让按钮仅在存在运行中流时显示,对应你存储实例ID的列表列。

3. 权限与细节注意

  • 确保使用按钮的用户拥有辅助流的运行权限,以及审批流的编辑/管理权限(否则无法终止流运行)
  • 强烈建议在审批流触发时,用「更新项目」动作将当前流的@workflow()?['run']['name'](即流实例ID)写入列表专属列,这样停止流时无需筛选,直接通过ID终止,效率更高且避免误关其他实例
  • 流终止后,审批人侧的待审批请求会自动失效,无需额外处理

内容的提问来源于stack exchange,提问作者Phil Edwards

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 04:11:16