Flow中无法获取Lead owner user id,ISChanged(OwnerId)公式无效
Salesforce Flow配置通知接收人时无法获取Lead Owner用户ID修复方案
问题背景
- Flow配置通知接收人环节,无法正常获取Lead(线索)负责人对应的用户ID
- 已尝试使用公式
ISChanged(OwnerId)处理,未生效 - 问题界面参考:

根因说明
ISChanged(OwnerId)是布尔判断函数,仅能校验本次操作中OwnerId字段是否发生值变更,本身不具备取值能力。同时该函数生效有严格前置条件:仅在记录更新触发、且OwnerId本次确实被修改时返回true,新建Lead、编辑Lead未改动负责人的场景下判断结果为false,对应逻辑分支根本不会执行,自然拿不到目标ID。
操作步骤
- 直接移除逻辑中多余的
ISChanged(OwnerId)前置判断,不要把字段变更校验作为获取Owner ID的前提。 - 按Flow触发类型正确引用字段:
- 记录新建触发场景:直接引用
{!$Record.OwnerId}即可,新建记录保存时系统会自动给OwnerId赋初始值,不需要额外判断。 - 记录更新触发场景:如果要覆盖负责人变更通知、常规编辑通知两类场景,直接引用当前记录的
{!$Record.OwnerId}作为通知接收人ID参数;如果仅需要在负责人变更时给新负责人发通知,可保留ISChanged(OwnerId)判断,但取值时必须取当前最新的{!$Record.OwnerId},不要误用PriorValue取旧值。
- 记录新建触发场景:直接引用
- 增加类型校验避免发送失败:Lead的Owner可能是用户也可能是队列,如果通知接收人仅支持用户类型,新增判断条件
ISPICKVAL($Record.Owner.Type, 'User'),满足条件时再触发通知、传入{!$Record.OwnerId},避免队列ID传入后触发报错。 - 定时触发、异步运行的Flow不要跨对象关联查Owner表取ID,直接引用触发记录快照上的OwnerId字段即可,减少关联查询带来的取值异常。
内容的提问来源于stack exchange,提问作者Yamine
相关产品推荐
相关产品推荐

