代码之家  ›  专栏  ›  技术社区  ›  lnediger

使用apex分配销售线索时防止分配电子邮件

  •  0
  • lnediger  · 技术社区  · 16 年前

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

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

    这就是我做作业的方式。

    当通过apex分配时,是否有任何方法可以控制这一点?在默认情况下,似乎发送了一封电子邮件,这会导致队列中的所有成员在引导自动分配给队列时都会收到一封电子邮件,这并不理想。

    2 回复  |  直到 14 年前
        1
  •  1
  •   twamley    14 年前

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

    我们大量使用marketo来寻找新的销售线索,这些销售线索大多被分配到区域队列中。我假设他们的代码使用API,并且设置ownerID非常类似于您的代码示例。我们没有看到任务通知电子邮件困扰您的用户,所以我认为这是可能的。

        2
  •  0
  •   eyescream    16 年前

    我不认为你可以通过apex禁止来自分配规则和工作流的电子邮件。

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

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

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

      和(或(isnew(),ischanged(ownerid)),而不是(apex中的标准)

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

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

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


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