在 B2B 支持中,通常根据谁当前已连接到您的帐户来限制知识库和/或联系表格中的特定内容。例如,当支持多个公司时,您不希望公司 A 看到公司 B 的知识库文章。公司 C 可能是唯一允许查看特定工单表格的公司。或者,也许 D 公司想要一个特定的电邮模板。每个公司都有不同的自定义设置,您需要掌握所有这些设置。
在这篇文章中,我将向您展示如何在 Zendesk Support 中轻松自定义终端用户的知识库、电邮模板和工单表格。更好的是,我将向您展示如何使用单点登录 (SSO) 自动执行此过程。
我们将分 4 个部分进行此操作:
设置 JSON 网络密钥以启用单点登录
为简化此过程,我们将使用单点登录,根据您数据库中已有的信息创建终端用户。例如,由于您知道 Travis Bickle 先生在组织 BlueBerry 工作,因此您将他视为 VIP,并且该信息已经在您的数据库中可用。我们将在 Zendesk Support 中即时创建用户,并将其放在正确的组织下。
然后,我们将使用该组织限制对知识库文章和/或工单表格的访问。
- 在 管理中心中,单击 帐户 图标 (),然后选择“ 安全 > 单点登录”标签。
- 对于JSON 网络密钥,单击“配置”。
- 按照 本指南 设置您的身份管理系统和 Zendesk Support 之间的 JSON 网络密钥(请使用我们的 开源脚本 )
- 在您的 JWT 有效负载中包含组织属性,以便每次在正确的组织中创建终端用户。
JWT claims hash: {"iat"=>xxx, "jti"=>yyy, "name"=>"Travis Bickle", "email"=>"t.bickle@gmail.com", "external_id"=>"5678", "organization"=>"BlueBerry", "tags"=>"vip", "locale_id"=>"8"}
您可以在上面看到在 BlueBerry 工作的 Travis 的回复范例,其终端用户个人资料标签为 vip 。例如,当终端用户连接到您的网站并单击 Support 链接时,我们将使用正确的信息在 Zendesk Support 中创建该终端用户帐户,如下所示:
创建受限知识库
帮助中心的一大优势是可以通过一个 Zendesk Support 实例创建多个知识库,并根据终端用户的语言、工单标签或组织限制对它们的访问。在此示例中,我们将重点关注来自 Travis 的组织 BlueBerry。
- 以管理员身份登录 Zendesk 并单击 帮助中心 图标 ( )。
- 创建您的帮助中心内容 ,并为 BlueBerry 添加一个特定的组别,以继续此示例。
- 仅限为 BlueBerry 工作的人员访问该特定 组别。
现在只有 BlueBerry 组织中的终端用户可以访问此内容。
我们现在可以更进一步,例如,已经根据带有 vip 工 单标签的终端用户限制访问。在同一个帮助中心里,您有多种选择。让我们暂时保持简单。
自定义帮助中心主题以隐藏/显示工单表格
工单表格本身对所有终端用户可见或不对终端用户可见。现在我们需要创建工单字段,将其添加到表格中,并使用 JavaScript 使表格根据已连接的终端用户自动显示/隐藏。
- 在 管理中心中,单击 对象和规则 图标 (),然后选择 “工单 > 字段”。
- 创建您的工单字段 。 不要忘记将字段设置为“可编辑”,以便您的终端用户可以看到。
- 创建至少两个工单表格 。 不要忘记将其设置为对您的终端用户可见。
- 现在我们将使用组织名称、BlueBerry、特定的 BlueBerry 工单表格 ID,并添加一些 JavaScript 到我们的帮助中心。
我们的同事 Robbert 发表了一篇关于如何隐藏/显示字段的提示。在这里查看 。
查找工单表格 ID
- 在 管理中心中,单击 对象和规则 图标 (),然后选择 “工单 > 表格”。
- 从您的工单表格列表中选择合适的工单表格。
- 在 URL 中最后一个斜杠后找到 ID 号。
查找组织名称
- 在 Support 中,单击侧栏中的组织图标 ()。
- 浏览或搜索组织以查找正确的组织名称。我们将继续我们的例子, BlueBerry
尽享 JavaScript 乐趣
$(window).load(function() {
var i = 0;
var cZendesk = false; //assume user is not part of the BlueBerry Organization
//reserve space for additional organizations
var checkExist = setInterval(function() {
i++;
if ($("a.nesty-input").length){
clearInterval(checkExist);
$("a.nesty-input").each(function() {
$(this).bind( "click", function() {
for (var c in HelpCenter.user.organizations) {
if (HelpCenter.user.organizations[c].name == "BlueBerry"){
cZendesk = true; //if user is part of the organization called "BlueBerry", then set its variable to true.
}
//reserve space for additional organizations
}
if (!cZendesk){
$("#TICKET_FORM_ID").remove(); //replace the "TICKET_FORM_ID" with the proper id from the dropdown list. Leave the pound sign intact.
}
//reserve space for additional organizations
});
});
}
if (i > 10){
clearInterval(checkExist);
}
}, 100);
});
重要! 您将需要编辑上面的代码,请按照以下步骤操作。
- 将“TICKET_FORM_ID”替换为我们在上面找到的实际工单表格 ID。
- 将“BlueBerry”替换为您要显示工单表格的实际组织。
- 复制上面的代码块。
- 将代码粘贴到 帮助中心的 JavaScript 部分 。
- 保存您的模板并发布更改以查看效果。
自定义发出的电邮的外观
这是可选的,但您可能还希望使从 BlueBerry 发送给 Travis 的电邮与发送给“普通”客户的电邮具有不同的外观和风格。您可以使用 Liquid Markup 和触发器来实现这一点。
- 在 管理中心中,单击 对象和规则 图标 (),然后选择 “业务规则 > 触发器”。
- 要继续此示例,让我们创建一个带有条件的触发器:
- 工单已创建
- 组织是 BlueBerry
- 以及操作:
- 添加标签
- 如果您添加了公司徽标,则可以在“ 渠道 > 电邮 ”下的电邮模板中移除公司徽标。
- 返回“触发器”,找到名为“将已收到的请求通知请求者”的默认触发器,并 复制它 。
- 在条件中,添加
- 工单标签包含以下值之一 - blueberry
- 向下滚动到操作并修改要发送的电邮
这是原始内容:
Your request ({{ticket.id}}) has been received and is being reviewed by our support staff.<br /><br />To add additional comments, reply to this email.<br /><br />
这是新内容:
{% capture tags %}
{{ ticket.tags }}
{% endcapture %}
{% if tags contains 'blueberry' %}
<img src="https://LINK/TO/LOGO.png" /></center>
{% endif %}
Your request ({{ticket.id}}) has been received and is being reviewed by our support staff.<br /><br />To add additional comments, reply to this email.<br /><br />
我们使用 Liquid Markup 来捕获工单的工单标签,并添加条件以根据工单中的工单标签添加不同的徽标。
最终结果
这样就完成了!现在您可以依靠此自定义功能,从您的身份管理系统通过 SSO 自动创建终端用户。您将知道终端用户将只能访问他们应看到的信息,而无法访问其他信息。
现在,让我们看看来自 BlueBerry 的终端用户 Travis 与来自不同组织的终端用户相比,能看到什么。
之前(工单提交):
之后(工单提交):
之前(知识库):
之后(知识库):
之前(电邮):
之后(电邮):
翻译免责声明:本文章使用自动翻译软件翻译,以便您了解基本内容。 我们已采取合理措施提供准确翻译,但不保证翻译准确性
如对翻译准确性有任何疑问,请以文章的英语版本为准。