如何在Power Automate Flow中获取CRM更新前的旧值(preImage)?
在Power Automate中捕获CRM数据更新前的旧值
在Dynamics 365(CRM)场景下,确实可以通过PreImage获取记录更新前的旧值,同时还有变更跟踪的替代方案,具体实现步骤如下:
方法一:使用PreImage配合Power Automate
- CRM端配置PreImage
- 打开插件注册工具,针对目标实体的
Update消息注册或修改现有插件配置,添加PreImage并勾选需要捕获旧值的字段(比如客户名称、金额等),确保PreImage的逻辑名称可识别。
- 打开插件注册工具,针对目标实体的
- Power Automate中读取PreImage数据
- 选择「当Dynamics 365记录被更新时」作为触发器。
- 触发器输出不会直接展示PreImage,需要用表达式提取目标字段的旧值,例如获取客户名称旧值的表达式:
triggerBody()?['PreImage']?['name']。也可通过「Dynamics 365获取记录」动作,结合PreImage的逻辑名称调取完整旧数据。
方法二:利用CRM变更跟踪功能
- 启用实体变更跟踪
- 在CRM实体设置中开启「变更跟踪」选项,让系统记录字段的变更历史。
- Power Automate中获取新旧值对比
- 使用「获取Dynamics 365更改的记录」动作,该动作会返回包含
oldValue和newValue的变更数据集,直接从结果中提取对应字段的旧值即可。
- 使用「获取Dynamics 365更改的记录」动作,该动作会返回包含
注意事项
- PreImage的字段范围必须在CRM端预先配置,未勾选的字段无法获取旧值。
- 变更跟踪适合批量处理变更记录,实时单条记录更新的场景下,PreImage的响应速度更快。
内容的提问来源于stack exchange,提问作者Raja Zaki
相关产品推荐
相关产品推荐

