如何创建满足账户与事件参会人同步需求的Salesforce Flow?
Salesforce Flow 实现步骤
一、创建账户对象的三个用户查找字段
在Salesforce设置中,进入对象管理器 → 选择账户(Account) → 字段与关系 → 新建:
- 字段类型选查找关系,关联对象为用户(User)
- 字段标签设为
Assigned Attorney,API名自动生成Assigned_Attorney__c,按需设置必填性、页面布局可见性等属性 - 重复上述流程,创建另外两个字段:
- 标签:
Assigned Paralegal,API名:Assigned_Paralegal__c - 标签:
Managing Attorney,API名:Managing_Attorney__c
- 标签:
二、事件创建时自动添加参会人(记录触发流)
创建记录触发流,实现Event创建时自动关联账户的三个用户作为参会人:
- 流基础配置:
- 触发对象:事件(Event)
- 触发时机:创建记录时
- 触发条件:
Event.AccountId != null(确保事件已关联账户)
- 获取关联账户的用户字段:
- 添加获取记录元素,对象选账户(Account),过滤条件设为
Account.Id = {!$Record.AccountId},仅勾选需要的三个用户字段以提升效率
- 添加获取记录元素,对象选账户(Account),过滤条件设为
- 逐个添加参会人:
- 对每个用户字段,添加决策元素判断字段值是否非空(例如
{!Account.Assigned_Attorney__c} != null) - 若值非空,添加创建记录元素,对象选事件关系(EventRelation):
EventId={!$Record.Id}RelationId= 对应的账户用户字段(如{!Account.Assigned_Attorney__c})Status设为Accepted(可根据业务需求调整)IsPrimary设为False(除非需设置为主参会人)
- 对每个用户字段,添加决策元素判断字段值是否非空(例如
三、账户字段变更时更新未来事件的参会人(记录触发流)
创建另一个记录触发流,实现Account的三个用户字段变更时,自动更新其关联的未来事件参会人:
- 流基础配置:
- 触发对象:账户(Account)
- 触发时机:更新记录时
- 触发条件:
ISCHANGED(Assigned_Attorney__c) || ISCHANGED(Assigned_Paralegal__c) || ISCHANGED(Managing_Attorney__c)(三个字段任意一个发生变更)
- 获取账户关联的未来事件:
- 添加获取记录元素,对象选事件(Event),过滤条件:
Event.AccountId = {!$Record.Id}Event.StartDateTime > {!$Flow.CurrentDateTime}
- 勾选将记录存储到集合变量,变量名设为
futureEvents
- 添加获取记录元素,对象选事件(Event),过滤条件:
- 遍历未来事件集合:
- 添加循环元素,遍历
futureEvents集合,当前项变量名设为currentEvent
- 添加循环元素,遍历
- 处理参会人变更逻辑(对每个用户字段重复此流程):
- 移除旧参会人:
添加删除记录元素,对象选事件关系(EventRelation),过滤条件:EventRelation.EventId = {!currentEvent.Id}EventRelation.RelationId = {!$Record_Old.Assigned_Attorney__c}
(注:若旧值为空,此步骤不会删除任何记录,无需额外判断)
- 添加新参会人:
添加决策元素,判断条件:{!$Record.Assigned_Attorney__c} != null && {!$Record.Assigned_Attorney__c} != {!$Record_Old.Assigned_Attorney__c}
若条件满足,添加创建记录元素,对象选EventRelation:EventId={!currentEvent.Id}RelationId={!$Record.Assigned_Attorney__c}Status设为Accepted
- 移除旧参会人:
内容的提问来源于stack exchange,提问作者Learner
相关产品推荐
相关产品推荐

