0

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

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

这就是我做任务的方式。

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

4

2 回答 2

1

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

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

于 2011-11-21T08:48:58.350 回答
0

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

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

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

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

    AND( OR( ISNEW(), ISCHANGED(OwnerId)), NOT("您的 Apex 标准") )

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

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

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


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

于 2010-04-14T19:44:47.067 回答