【问题标题】:Prevent assignment email when assigning a lead with Apex使用 Apex 分配潜在客户时阻止电子邮件分配
【发布时间】:2010-04-14 15:33:42
【问题描述】:

我有一些代码在满足某些条件时通过更新前触发器自动将潜在客户分配给队列。当通过 UI 分配线索时,“发送分配通知”复选框可用于指定是否向接收用户发送通知(本例中为队列)。

l.OwnerId = groups.get('Lead Queue').Id;

这就是我做任务的方式。

通过 Apex 分配时,有什么方法可以控制这一点吗?似乎默认情况下会发送一封电子邮件,这会导致队列中的所有成员在任何时候将潜在客户自动分配给队列时都会收到一封电子邮件,这并不理想。

【问题讨论】:

    标签: salesforce apex-code


    【解决方案1】:

    您是否尝试过取消选中队列设置页面中的“向成员发送电子邮件”框?也许您出于其他原因需要它,但在我们的组织中,我们在许多队列中取消选中此框,因为我们不想要电子邮件——只想要所有权。我们对高优先级潜在客户使用潜在客户视图、每日报告和自定义潜在客户警报。

    我们大量使用 Marketo 来获取主要分配给区域队列的新潜在客户。我假设他们的代码使用 API 并设置 OwnerId 非常像您的代码示例。我们没有看到困扰您的用户的任务通知电子邮件,所以我认为这是可能的。

    【讨论】:

      【解决方案2】:

      我认为您无法使用 Apex 禁止来自分配规则和工作流的电子邮件。

      发送电子邮件是因为这是您在分配规则中指定的内容(如果您不提供电子邮件模板,则不会发送电子邮件 - https://na5.salesforce.com/help/doc/en/creating_assignment_rules.htm(将 na5 替换为您的组织实例)。

      但如果你从规则中删除电子邮件模板,我认为你仍然有一些选择来处理它:)

      • 您可以构建一个在满足条件时发送电子邮件的工作流程:

        AND( OR( ISNEW(), ISCHANGED(OwnerId)), NOT("你的标准来自 Apex") )

      (您需要在编辑器中设置“在以下情况下运行此规则:公式计算结果为真”)。

      • 您可以构建以编程方式发送邮件的“插入后更新”触发器(具有相同的逻辑条件)。这很简单,而且有很多例子。

      如果您在“更新前”触发器中的逻辑过于复杂而无法在工作流中涵盖(例如,因为它跨越多个对象和查询)并且#1 将是您的首选选项,您仍然可以这样做。只需在 Lead 中使用一些自定义隐藏字段并在“更新前”触发器中将其设置为“true”,然后在工作流程中检查此值。


      当然,您也可以完全禁用自动分配规则,告诉用户复选框从现在开始将无用,并使用完整的工作流程/完整的触发器解决方案,但我认为这有点太侵入了。

      【讨论】:

      • 未通过分配规则分配潜在客户。在更新触发器中满足某些条件时分配它们。当通过顶点代码完成分配时,我试图避免发送电子邮件。
      • 您必须在某处具有“如果...发送电子邮件”逻辑。如果不在分配规则中(您确定吗?这是在编辑潜在客户时勾选复选框时使用的内容),那么可能在某些潜在客户工作流程中。或者它是由一些被忽略的 Apex 代码发送的;)
      猜你喜欢
      • 2014-10-27
      • 2021-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-18
      • 2021-11-16
      • 1970-01-01
      • 2023-03-08
      相关资源
      最近更新 更多