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

Salesforce:审批人未收到铃铛通知及特定记录类型配置咨询

排查Salesforce审批铃铛通知问题&特定记录类型配置方法

一、先排查当前铃铛通知未触发的原因

  • 检查审批流程的通知设置:虽然你只找到邮件通知,但审批流程里的「通知接收者」部分,得确认有没有勾选「通过应用内通知(铃铛)发送」——这个选项藏在审批步骤的「通知」配置里,不是全局邮件设置。进入审批流程编辑,找到对应审批步骤,查看通知设置,确保勾选了应用内通知。
  • 检查用户个人通知偏好:让审批人进入「设置」→「通知」→「应用内通知」,确认是否开启了审批相关的通知类别,有没有把这类通知静音或关闭。
  • 检查Apex自定义通知逻辑:既然有Apex代码发送自定义通知,要确认代码里是否针对特定记录类型做了过滤,或者有没有执行报错。可以通过「设置」→「Apex日志」跟踪代码执行,看Messaging.SendCustomNotification这类发送方法是否被正确调用,有没有返回错误信息。另外,自定义通知需要关联「自定义通知类型」,要确认该类型是否启用了「应用内通知」渠道。

二、针对特定记录类型配置铃铛通知

1. 审批流程层面的记录类型控制

如果用的是审批流程自带的铃铛通知,按记录类型开关的方法:

  • 复制现有审批流程,给不同记录类型创建专属审批流程,比如「合同-普通记录类型审批流程」「合同-特殊记录类型审批流程」。
  • 在每个审批流程的「启动条件」里,设置记录类型等于目标类型,然后在对应流程的步骤通知设置里,决定是否开启铃铛通知。
  • 激活对应的审批流程,确保不同记录类型触发不同流程,实现通知的开关。

2. 自定义Apex通知的记录类型控制

如果是Apex发送的自定义铃铛通知,直接在代码里加记录类型判断:

// 示例:仅当合同记录类型为"普通合同"时发送铃铛通知
String targetRecordTypeId = Schema.SObjectType.Contract.getRecordTypeInfosByName().get('普通合同').getRecordTypeId();
if(contract.RecordTypeId == targetRecordTypeId){
    // 构建并发送自定义通知
    Messaging.CustomNotification notification = new Messaging.CustomNotification();
    notification.setTitle('新审批请求');
    notification.setBody('您有一份新的审批请求待处理');
    notification.setNotificationTypeId('0MLXXXXXXXXXXXX'); // 替换为你的自定义通知类型ID
    notification.setTargetId(contract.Id);
    notification.send(new List<String>{approverId}); // approverId为审批人ID
}

要禁用某记录类型的通知,直接在判断里排除该类型即可。

3. 流程构建器替代方案(无需代码)

如果不想写代码,用流程构建器实现:

  • 创建记录触发的流程,触发条件设为目标记录类型+审批提交事件。
  • 添加「发送自定义通知」操作,选择对应的通知类型和接收人。
  • 不需要通知的记录类型,不创建对应流程就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 04:53:27