Use Case: 使用 Salesforce Flow 自动关闭标记为垃圾邮件的 Case

Posted by Peter Dong on March 24, 2023

Salesforce Flow 是 Salesforce 平台上的一种流程自动化工具,它可以帮助用户自动化各种业务流程。在本文中将会介绍一个 Flow 的使用场景。

这个 Use Case 是基于在工作中遇到的实际情况而来。客服团队每天都会收到一些垃圾邮件,这些邮件占据了他们的时间和精力,影响了他们的工作效率。他们想将这些电子邮件地址存在一个垃圾邮件列表中。之后如果有来自这些地址的新的 Case, 他们希望自动将其标记为垃圾邮件并关闭该 Case, 为了解决这个问题,我决定采用 Salesforce Flow 来解决这个问题。

整理下需求:

  • 可以让用户在 Case 中通过触发按钮来添加黑名单,然后将该邮件标记为垃圾邮件并存储到数据库里。
  • 每当从被阻止的 Email 中创建一个 Case 时,该 Case 应被自动标记为垃圾邮件并设置为 Close 状态。

针对需求 1, 我们可以创建一个 Screen-Flow 来满足,然后我们创建一个自定义对象 Blacklist_Email__c 来存储这些垃圾邮件列表。这个对象有一个自定义字段 Blocked_Email__c.

针对需求 2, 我们可以使用 Record-Triggered, 但是 Flow 触发的对象是 EmailMessage, 而不是在 Case 上。原因是当我们使用 Email-To-Case 时,Case 和 EmailMessage 之间的建立连接是在 Case 的触发器执行完毕后建立的。如果 Flow 在 Case 上运行 ,它将无法找到原始电子邮件地址。

Screen Flow 构建步骤

我们让用户在 Case 详情页面上点击一个 Quick Action 按钮,所以我们创建一个 Screen Flow.第一步是创建一个 recordId 变量,来获取当前的 Case 记录。

img

先使用 Get Records 元素检查是否用户的 Email 已经加入到了黑名单里:

img

如果当前的 Case 有 Email, 而这个邮件还没有加入邮件列表黑名单里,我们就会进入下一步,创建一个黑名单记录。

img

创建一个黑名单记录:

img

Screen flow 创建完成之后,可以在 Setup -> Object Manager -> Case -> Buttons, Links, and Actions 上创建一个 Flow Action.

Record-Triggered Flow 构建步骤

我们需要将这个 Record-Triggered Flow 运行在 EmailMessage 对象上,原因我已经在文章开始的时候说明了,因为我们需要更新 Case 记录,所以这里选择了 After-Trigger.

img

检查当前 Case 的 邮件是否已经加入了黑名单了:

img

如果 👆 步骤中返回记录了,说明该 Case 的邮件已经加入黑名单了,这样我们就可以进行下一步,更新 Case 为 Close 状态。我们使用 Decision 来判断:

img

我们需要创建一个 Case Variable 来更新 Case:

img

然后创建一个 Assignment 来为 Case 赋值,其中 Case 的状态为 Closed, 然后更新 Description 字段,这里不建议使用 Description 字段存 Case 关闭的原因,建议新建一个文本字段 Close Reason 来存,这里是为了方便测试。

img

调用 Update Records 更新 👆 赋值的 Case 对象:

img

测试

我们通过 Email-to-Case 功能生成一个 Case, 并将当前 Case 的邮件加入黑名单:

img img

然后我们再次使用这个邮箱地址发一封同样的邮件,来看下会发生什么:

img

Case 的状态自动变更为 Closed.

总结

在本文中,我们介绍了一个使用 Salesforce Flow 自动关闭垃圾邮件 Case 的示例。通过使用 Salesforce Flow 解决问题,提高了工作效率,减少了错误率。如果你也遇到了类似的问题,那么使用 Salesforce Flow 可能是一个非常有效的解决方案。


Buy Me a Coffee