如何查询过期的Case Milestone?以实现向案件所有者发送自定义通知
Salesforce 实现过期Case Milestone触发自定义通知
1. 查询过期Case Milestone的SOQL语句
如果需要在Flow中手动查询过期里程碑,可使用以下语句:
SELECT Id, Case.OwnerId, Case.Id, Case.Subject FROM CaseMilestone WHERE CompletionDate = NULL AND TargetDateTime < NOW()
说明:筛选未完成(CompletionDate为空)且已过目标时间(TargetDateTime早于当前时间)的里程碑,同时关联案件所有者信息。
2. Flow配置步骤
方式一:记录触发流(实时触发)
- 新建记录触发流,对象选择
Case Milestone,触发事件为创建或更新记录 - 设置触发条件:
CompletionDate等于 空值TargetDateTime小于 当前时间
- 添加「发送自定义通知」操作:
- 选择提前创建好的自定义通知类型
- 接收人设置为
{!$Record.Case.OwnerId} - 通知内容自定义,例如:
案件{!$Record.Case.Subject}的里程碑已过期,请及时处理
- 可选:新增
NotificationSent__c复选框字段(Case或CaseMilestone对象),标记已发送通知,避免重复触发
方式二:计划触发流(定时批量处理)
- 新建计划触发流,设置定时频率(如每天凌晨1点)
- 添加「获取记录」元素,使用上述SOQL查询所有过期的Case Milestone
- 循环遍历查询结果,对每条记录执行「发送自定义通知」操作,配置同实时触发流
注意事项
- 需提前在Setup中创建自定义通知类型,指定可接收渠道(桌面/移动端)
- 确保Case Milestone的
TargetDateTime字段已正确赋值,且里程碑完成时CompletionDate会自动填充 - 批量处理时注意Flow的 governor limit,避免超出查询或操作次数限制
内容的提问来源于stack exchange,提问作者Nihan
相关产品推荐
相关产品推荐

