Agent 配置 Zendesk 工作流

这是ZendeskAgent 集成的最后一步。

您可以为 ZendeskCXone Mpower Agent 配置搜索、自定义创建和标准创建工作流。 这些工作流搜索或创建 Zendesk 记录,也称为实体或对象。 这是动态数据映射的后端配置。

工作流类型

说明

工作流程

搜索 “搜索”工作流扫描 Zendesk 以查找适用于坐席正在处理的交互的记录。 搜索 ANI
自定义搜索
自定义创建 “自定义创建”工作流使用标准字段和自定义字段创建任何记录类型。 创建自定义记录
标准创建 “标准创建”工作流使用标准数据字段创建标准 Zendesk 记录。 这些工作流的 SNIPPET 有效负载必须包含标准字段,并且包含这些字段。 创建票证
创建用户

下载模板脚本的这个文件夹。 它包含 Desktop StudioStudio 的语音和数字脚本。

配置“搜索”工作流

“搜索”工作流有两个:搜索 ANI自定义搜索

配置“搜索 ANI”工作流

搜索 ANI 工作流使用 ACD 中的 ANI关闭 也称为呼叫者 ID。 所列的语音来电的电话号码。 来搜索所有标准电话字段以查找匹配记录。

请勿在工作流代码中包含 timeoutMilliSec 属性。 它可能会导致将多个相同的交互传递给您的坐席。

  1. Studio 中,打开您要在其中配置搜索 ANI 工作流的脚本。

  2. 如果尚未添加,请在 BEGIN 之后以及 Workflow Execute 操作之前添加 SNIPPET 操作

  3. 双击脚本画布上的 SNIPPET 操作。

  4. 复制以下每一行代码并将其粘贴到“编辑器”窗口的“文本视图”选项卡中。

    
    DYNAMIC searchInput
    searchInput.workflowInput.phoneNumber = "{ANI}"
    						
    ASSIGN searchJson = "{searchInput.asjson()}"
    		
  5. 保存脚本。

  6. 您可以通过在 Studio模拟交互来测试脚本。

配置“自定义搜索”工作流

自定义搜索工作流可使您搜索一条或多条 Zendesk 记录。 它们还可使您搜索指定记录中的多个字段和变量。 您可以使用 Zendesk 运算符连接不同的搜索要求。

此工作流支持以下 Zendesk 记录:

  • 票证

  • 用户

请勿在工作流代码中包含 timeoutMilliSec 属性。 它可能会导致将多个相同的交互传递给您的坐席。

  1. Studio 中,打开您要在其中配置自定义搜索工作流的脚本。

  2. 如果尚未添加,请在 BEGIN 之后以及 Workflow Execute 操作之前添加 SNIPPET 操作

  3. 双击脚本画布上的 SNIPPET 操作。

  4. 复制以下每一行代码并将其粘贴到“编辑器”窗口的“文本视图”选项卡中。

    
    DYNAMIC searchInput
    DYNAMIC payload
    payload.entity = "[API name]"
    payload.filter = "[operator]"
    searchInput.workflowInput.search = payload
    						
    ASSIGN searchJson = "{searchInput.asjson()}"
    		
  5. payload.entity 属性的值更改为您要搜索的记录的 API 名称。 例如,payload.entity = "user"。 其区分大小写。

  6. payload.filter 属性的值更改为要使用的 Zendesk 运算符。 Zendesk 运算符的完整列表可以在 Zendesk 文档 带有指示导航到外部站点的箭头的框。 中找到。 它们区分大小写。

  7. 保存脚本。

  8. 您可以通过在 Studio模拟交互来测试脚本。

配置“自定义创建”工作流

自定义创建工作流可使您配置 SNIPPET 有效负载以创建任何类型的 Zendesk 记录(标准或自定义)。 它们还可使您填充任何字段类型(标准或自定义)。 例如,您可以使用该记录类型的一些标准字段以及您自己的自定义字段来创建“票证”记录。

这是创建 Zendesk 记录的推荐方法。

配置“创建自定义记录”工作流(先前为“创建实体”)

创建自定义记录工作流可创建任何类型的 Zendesk 记录(标准或自定义)。 此记录可以显示标准和自定义数据字段。 这些字段必须包含文本、数字或变量。 绑定字段通常由搜索结果或选项列表填充,但您可以将此工作流配置为将硬编码数据添加到绑定字段。

如果您使用此工作流的旧版本(称为创建实体工作流),则需要使用两个附加操作配置 Studio 脚本:SNIPPET,称为用于发送工作流响应的代码片段,以及 CUSTOMEVENT,称为发送工作流响应。 将此模板脚本用于 Desktop Studio 或将此模板脚本用于 Studio

  1. Studio 中,打开您要在其中配置创建自定义记录工作流的脚本。

  2. 如果尚未添加,请在 ONANSWERONASSIGNMENT 之后添加 SNIPPET 操作

  3. 双击脚本画布上的 SNIPPET 操作。

  4. 复制以下每一行代码并将其粘贴到“编辑器”窗口的“文本视图”选项卡中。

    
    DYNAMIC create[Record]
    create[Record].table = "[tickets or users]"
    create[Record].data.[ticket or user].[fieldName] = "[field value]"
    create[Record].data.[ticket or user].[fieldName] = "[field value]"
    
    createPayload.pinnedRecord = "[true or false]"
    createPayload.screenPop = "[true or false]"
    						
    DYNAMIC create[Record]Payload
    create[Record]Payload.workflowInput = create[Record]
    						
    ASSIGN createCustomJson = "{create[Record]Payload.asjson()}"
    		

    您必须包含其中每一行。

  5. create[Record] 的每个实例中的 [Record] 占位符替换为 TicketUser,具体取决于您正在创建的记录类型。 例如,createTicket
  6. createRecord.table 属性的值更改为 ticketsusers,具体取决于您正在创建的记录类型。 例如,如果您要创建票证,此行应为 createRecord.table = "tickets"
  7. 在接下来的两个属性中,将 [ticket or user] 更改为 ticketuser,具体取决于您正在创建的记录类型。 例如,如果您要创建票证,这些行的开头应为 createRecord.data.ticket
  8. 在这些相同属性中,将 [fieldName] 更改为要包含在记录中的字段的名称。 例如,createRecord.data.ticket.description。 将 [field value] 更改为您要在该字段中显示的值。 例如,createRecord.data.ticket.description = "This ticket is new."
  9. 要添加其他字段,请创建遵循相同格式的其他属性:

    
    createRecord.data.[ticket or user].[fieldName] = "[field value]"
    		

    例如:

    
    createRecord.data.ticket.group_id = "12345678910112"
    				
  10. createPayload.pinnedRecord 属性的值更改为 truefalse。 当设置为 true 时,创建的记录向 客户卡 的“当前交互”部分中的坐席显示。 当设置为 false 时,它显示在 客户卡 的“最近交互”部分中。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  11. createPayload.screenPop 属性的值更改为 truefalse。 当设置为 true 时,创建的记录会自动在 Zendesk 中以屏幕弹出形式向坐席显示。 如果设置为 false,则不会。 如果您没有将此属性包含不有效负载中,它将被假定为 false

  12. 保存脚本。

  13. 您可以通过在 Studio模拟交互来测试脚本。

配置“标准创建”工作流

“标准创建工作流”创建标准 Zendesk 记录。 坐席可以在交互过程中使用 Agent 中的 客户卡 手动创建新的 Zendesk 记录。 如果他们选择这些工作流之一,则会使用该工作流有效负载中指定的字段创建记录。

您无法在“标准创建”工作流的 SNIPPET 有效负载中添加或删除字段。 如果添加或删除字段,则不会创建记录。 要使用所需字段创建标准或自定义记录,请使用创建自定义记录工作流

配置“创建票证”工作流

  1. Studio 中,打开您要在其中配置创建票证工作流的脚本。

  2. 如果尚未添加,请在 BEGIN 之后以及 Workflow Execute 操作之前添加 SNIPPET 操作

  3. 双击脚本画布上的 SNIPPET 操作。

  4. 复制以下每一行代码并将其粘贴到“编辑器”窗口的“文本视图”选项卡中。

    
    DYNAMIC createTicket
    createTicket.subject = "[Ticket Name] - {ANI}"
    createTicket.description = "{ANI}"
    createTicket.requester_id = "{variable}"
    						
    createTicket.pinnedRecord = "[true or false]"
    createTicket.screenPop = "[true or false]"
    
    DYNAMIC createTicketPayload
    createTicketPayload.workflowInput = createTicket
    						
    ASSIGN createTicketJson = "{createTicketPayload.asjson()}"
    		

    您必须包含其中每一行。 如果您希望字段保持空白,则可以使用空值 ("")。 例如,createTicket.description = ""

  5. createTicket.subject 属性的值更改为票证名称。 例如,createTicket.subject= "Auto Created Ticket for {ANI}"。 该值可以是硬编码值、变量或它们的组合。 如果您希望该值针对每次交互进行更新,请使用变量。

  6. createTicket.description 属性的值更改为票证的描述。 例如,createTicket.data.ticket.description = "Ticket created for {ANI}"。 该值可以是硬编码值、变量或它们的组合。 如果您希望该值针对每次交互进行更新,请使用变量。

  7. createTicket.requester_id 属性的值更改为您要使用的变量的名称。 例如,createTicket.requester_id = "{userRecord.id}"
  8. createTicket.pinnedRecord 属性的值更改为 truefalse。 当设置为 true 时,创建的记录向 客户卡 的“当前交互”部分中的坐席显示。 当设置为 false 时,它显示在 客户卡 的“最近交互”部分中。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  9. createTicket.screenPop 属性的值更改为 truefalse。 当设置为 true 时,创建的记录会自动在 Zendesk 中以屏幕弹出形式向坐席显示。 如果设置为 false,则不会。 如果您没有将此属性包含不有效负载中,它将被假定为 false

  10. 保存脚本。

  11. 您可以通过在 Studio模拟交互来测试脚本。

配置“创建用户”工作流

  1. Studio 中,打开您要在其中配置创建用户工作流的脚本。

  2. 如果尚未添加,请在 BEGIN 之后以及 Workflow Execute 操作之前添加 SNIPPET 操作

  3. 双击脚本画布上的 SNIPPET 操作。

  4. 复制以下每一行代码并将其粘贴到“编辑器”窗口的“文本视图”选项卡中。

    
    DYNAMIC createUser
    createUser.phoneNumber = "{ANI}"
    createUser.name = "Auto Created User for {ANI}"
    						
    createUser.pinnedRecord = "[true or false]"
    createUser.screenPop = "[true or false]"
    
    DYNAMIC createUserPayload
    createUserPayload.workflowInput = createUser
    						
    ASSIGN createUserJson = "{createUserPayload.asjson()}"
    		

    您必须包含其中每一行。 如果您希望字段保持空白,则可以使用空值 ("")。 例如,createUser.name = ""

  5. 更改 createUser.phoneNumbercreateUser.name 属性的值以满足您的需求。 例如,createUser.name = "Caller {ANI} to Billing"

  6. createUser.pinnedRecord 属性的值更改为 truefalse。 当设置为 true 时,创建的记录向 客户卡 的“当前交互”部分中的坐席显示。 当设置为 false 时,它显示在 客户卡 的“最近交互”部分中。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  7. createUser.screenPop 属性的值更改为 truefalse。 当设置为 true 时,创建的记录会自动在 Zendesk 中以屏幕弹出形式向坐席显示。 如果设置为 false,则不会。 如果您没有将此属性包含不有效负载中,它将被假定为 false

  8. 保存脚本。

  9. 您可以通过在 Studio模拟交互来测试脚本。

固定记录

您可以将记录固定到 客户卡 的“当前交互”部分。 当记录被固定时,默认情况下它会针对数据记忆和时间线而被关联 绿色框中的复选标记图标。。 这意味着当交互完成时,数据记忆和时间线信息将被添加到 Zendesk 记录中。 如果坐席不希望映射这些信息,他们可以取消关联记录

  1. 打开脚本中的 Snippet for Create Workflow SNIPPET 操作。

  2. 在工作流有效负载中,复制此行代码并将其粘贴到 DYNAMIC create[RecordType]Payload 之前:

    						
    createPayload.pinnedRecord = "true"					
    		

    确保 createPayload 与工作流中较早的行匹配。

  3. 保存脚本。

配置弹出屏幕的记录

您可以将创建的记录配置成自动显示为 Zendesk 中的弹出屏幕。

  1. 打开脚本中的 Snippet for Create Workflow SNIPPET 操作。

  2. 在工作流有效负载中,复制此行代码并将其粘贴到 DYNAMIC create[Record]Payload 之前:

    						
    createPayload.screenPop = "true"				
    		

    确保 createPayload 与工作流中较早的行匹配。 例如,如果您正在使用标准创建票证工作流,则此行应为 createTicket.screenPop = "true"

  3. 保存脚本。