Запретить электронное письмо о назначении при назначении интереса с помощью Apex
-
26-09-2019 - |
Вопрос
У меня есть код, который автоматически назначает лид очереди с помощью триггера перед обновлением при выполнении определенных условий.Когда интересы назначаются через пользовательский интерфейс, доступен флажок «Отправить уведомление о назначении», позволяющий указать, следует ли отправлять уведомление получающему пользователю (в данном случае «Очередь»).
l.OwnerId = groups.get('Lead Queue').Id;
Вот как я выполняю задание.
Есть ли способ контролировать это при назначении через Apex?Кажется, что по умолчанию отправляется электронное письмо, в результате чего все члены очереди получают электронное письмо каждый раз, когда лид автоматически назначается в очередь, что не идеально.
Решение
Вы пытались снять флажок «Отправить электронную почту членам» на странице «Настройка очереди»? Может быть, вам это понадобится по другим причинам, но в нашем ORG мы сняли эту коробку на многих наших очередей, потому что мы не хотим, чтобы электронные письма - просто собственность. Мы используем ведущие представления, ежедневные отчеты и пользовательские проводные оповещения для приоритетных лидерств.
Мы используем Marketo в значительной степени для новых венств, в основном присваиваемых к очереди территории. Я предполагаю, что их код использует API и очень сильно устанавливает SPRALID, как ваш пример кода. Мы не видим электронные письма уведомлений о назначении, связанные с пользователями, поэтому я думаю, что это возможно.
Другие советы
Я не думаю, что вы можете отключить электронные письма от правил назначения и рабочих процессов с помощью Apex.
Электронное письмо отправляется, потому что это то, что вы указали в правиле назначения (если вы не предоставляете шаблон электронного письма, оно не отправляется – https://na5.salesforce.com/help/doc/en/creating_assignment_rules.htm (замените na5 экземпляром вашей организации).
Но если вы удалите шаблон письма из правила, думаю, у вас еще есть варианты с этим справиться :)
Вы можете создать рабочий процесс, который будет отправлять электронную почту при выполнении критериев:
И( ИЛИ( ISNEW(), ISCHANGED(OwnerId)), NOT("ваши критерии из Apex") )
(вам нужно будет установить «Выполнять это правило, если:формула имеет значение true» в редакторе).
- Вы можете создать триггер «после вставки, после обновления» (с тем же логическим условием), который будет отправлять почту программно.Это довольно просто и примеров много.
Если логика триггера «перед обновлением» слишком сложна, чтобы ее можно было охватить рабочим процессом (например, потому что она охватывает несколько объектов и запросов), и предпочтительным вариантом будет № 1, вы все равно можете это сделать.Просто используйте какое-нибудь настраиваемое скрытое поле в Lead и установите для него значение «true» в триггере «перед обновлением», а затем проверьте это значение в рабочем процессе.
Конечно, вы также можете полностью отключить правило автоматического назначения, сообщить пользователям, что флажок с этого момента будет бесполезен, и перейти к решению полного рабочего процесса/полных триггеров, но я думаю, что это слишком агрессивно.