您在此处:
在步骤完成时自动设置潜在客户的状态
使用 Apex 触发器从节奏订阅变更数据捕获事件。当销售代表完成潜在客户节奏中的第一个接触步骤时,将潜在客户的状态更新为“已联系”。
所需的 Edition
| 适用于:Lightning Experience |
| 适用于销售参与,它包括在销售业绩、Einstein 1 和 Unlimited Edition 中,另行付费后适用于Professional 和 Enterprise Edition。Sales Engagement 另行付费后适用于 Service 和 Lightning Platform。 |
首先为 ActionCadenceStepTrackerChangeEvent 对象启用变更数据捕获。然后,创建变更事件触发器。最后,更改步骤的状态,并查看潜在客户的状态如何自动更新。要使用本示例,您需要节奏和名为“首次接触”的步骤。节奏必须至少有一个潜在客户作为目标添加。
备注 请记住,变更事件的 Apex 触发器是异步的。在销售代表将步骤标记为完成后,在更新相关潜在客户的状态之前,可能会出现短暂的延迟。
为 ActionCadenceStepTrackerChangeEvent 对象启用变更数据捕获
在接收节奏步骤的变更通知之前,您必须为通知启用 ActionCadenceStepTrackerChangeEvent 对象。
- 从快速查找框的设置中,输入更改数据捕获,然后选择更改数据捕获。
- 在可用实体中,选择节奏步骤跟踪器 (ActionCadenceStepTracker),然后单击 > 箭头。
- 保存更改。
为 ActionCadenceStepTrackerChangeEvent 对象启用变更数据捕获
使用开发人员控制台,在 ActionCadenceStepTracker 更改事件上创建触发器。
- 单击齿轮图标,然后选择开发人员控制台。
- 在开发人员控制台中,选择文件 | 新建 | Apex 触发器。
- 在名称字段中,输入触发器的名称。我们使用 UpdateLeadOnStepCompletionTrigger。
- 从下拉列表中,选择 ActionCadenceStepTracker。
-
使用此代码替换默认内容。
trigger UpdateLeadOnStepCompletionTrigger on ActionCadenceStepTrackerChangeEvent (after insert) for(ActionCadenceStepTrackerChangeEvent event : Trigger.New) { EventBus.ChangeEventHeader header = event.ChangeEventHeader; List<String> recordIds = header.getRecordIds(); System.debug('Received change event for ' + header.entityName + ' for the ' + header.changeType + ' operation.' ); if(recordIds.size() == 0) { continue; } // Get ActionCadenceStepTracker records for completed steps where the target is a lead List<ActionCadenceStepTracker> stepTrackers = [SELECT Id, ActionCadenceStepId, ActionCadenceName, TargetId, StepType, StepTitle FROM ActionCadenceStepTracker WHERE Id IN :recordIds AND State = 'Completed' AND Target.Type = 'Lead' AND StepTitle LIKE 'First Touch%']; if(stepTrackers != null && stepTrackers.size() > 0) { System.debug('Found ' + stepTrackers.size() + ' step tracker events.'); List<Lead> leads = new List<Lead>(); for(ActionCadenceStepTracker stepTracker : stepTrackers) { System.debug('Adding the lead ID ' + stepTracker.TargetId + ' to Lead list.'); Lead lead = new Lead(Id=stepTracker.TargetId, Status='Contacted'); leads.add(lead); } update leads; } else { System.debug('Did not find any completed First Touch step trackers that are related to leads'); } } }
此变更事件触发器会迭代Trigger.New中每个收到的变更事件消息。对于每个事件,我们会获取触发事件的 ActionCadenceStepTracker 的 ID。然后,我们使用步骤跟踪器的 ID 查询 ActionCadenceStepTracker 记录。我们检查以验证相关步骤的名称是 First Touch,状态是 Completed,节奏的目标是潜在客户。
如果节奏步骤满足该条件,相关潜在客户的状态将更新为Contacted。
验证触发器
设置日志级别,以从 Apex 触发器捕获调试消息,然后验证新触发器是否更新潜在客户的状态。
- 从“设置”中,在快速查找框中输入调试日志,然后选择调试日志。
- 单击新建。
- 对于跟踪实体类型,选择自动流程。
- 选择日志收集的时间段。我们建议一小时或更短。
- 对于调试级别,单击新建调试级别。为名称输入 CustomDebugLevel,然后接受其他默认选择。
- 保存更改。
- 在 Sales Engagement 中,查找包含“首次接触”步骤的节奏。将此步骤设置为“已完成”。
- 验证潜在客户的状态是否更新为“已联系”。
- 在调试日志中,单击自动进程日志旁边的查看,以查看新触发器中的 System.debug 消息。
另请参阅:
本文章是否解决您的问题?
请与我们共享您的想法,以便我们进行改进!
