Salesforce Agent 中的自定义任务

CXone Mpower Salesforce Agent中的可选任务包括Omni渠道设置和创建快速回复

管理常规 Salesforce Agent 设置

您可以修改单次呼叫中允许的最多人数,并更改坐席是否能够删除回电。

  1. 单击应用程序选择器 应用程序选择器的图标 并选择ACD
  2. 转到 ACD 配置 > 业务单位

  3. 详细信息选项卡中,单击编辑
  4. 向下滚动到 Salesforce Agent 部分。
  5. 如果想要更改您的最大会议方数(包括坐席),从下拉列表中选择一个数字。
  6. 如果想更改您的坐席是否可以删除回呼回电,以及是否需要备注,请将删除回电字段设置为不能删除可以删除 - 带备注可以删除 - 不带备注
  7. 单击完成

配置屏幕弹出

您可以配置和自定义弹出屏幕,或者显示有关坐席当前已连接的联系人的信息窗口,方法是使用 CXone Mpower IVRClosed 交互式语音应答。 自动电话菜单联系人通过语音或按键输入来获取信息、路由呼入语音呼叫,或两者兼而有之。 脚本变量创建查询,然后在 Salesforce SoftPhone 中指定某些设置布局和数据映射

一个弹出的屏幕会经历四个阶段:

  1. Salesforce 中配置Softphone布局。 指定:

  2. Studio 中创建一个脚本,用于打开联系人的现有 Salesforce 案例编号。 脚本应搜索案例,如果案例存在,则将号码和呼叫元数据传送到 Salesforce 分机。 如果该案例号不存在,该脚本应将呼叫者的电话号码 (ANIClosed 也称为呼叫者 ID。 所列的语音来电的电话号码。) 发送给扩展程序,扩展程序会搜索并打开呼叫者的联系人记录。

  3. 为要发送到扩展程序中的脚本创建受控变量。 为此,需要使用 StudioScreenPop 属性设置为TRUE(详情请参阅分配 脚本操作),并使用以下一种或两种方法创建受控变量查询:

    如果您不创建查询变量,则Salesforce Agent 会运行默认查询,或搜索 Salesforce SoftPhone 布局配置中列出的对象的查询。 Salesforce Agent 在这些对象的电话号码字段中运行 ANI 的默认查询。

    脚本提供的所有变量都会作为查询字符串传递到 Visualforce 页面,包括查询变量和所有其他已发布变量。 Salesforce 将所有已发布的变量存储在自定义 JavaScript 代码、Visualforce 和 Apex 页面可以访问的用户对象上的自定义字段中。

    虽然自定义字段可以通过自定义代码访问,但您应该只进行读取。 您不能进行更新或删除。 这会导致 Salesforce Agent 中出现异常行为。

  4. Studio 中,将 Reqagent 脚本操作的 ScreenPopSource 属性设置为 Default from Skill

  5. CXone Mpower 中,为每个想运行查询的 ACD 技能启用使用屏幕弹出Closed 用于根据坐席技能、能力和知识自动交付交互。选项。 For more information, see 配置屏幕弹出.

配置自定义按钮

Salesforce 可让您在应用程序内自定义坐席的体验;例如,您可能想在 Salesforce 中配置自定义按钮,以允许坐席打开特定页面。 然而,当CXone MpowerSalesforce 集成时,您必须在进行自定义之前考虑来自CXone Mpower 平台的某些逻辑和信息。 通过此功能,您可以在 IVRClosed 交互式语音应答。 自动电话菜单联系人通过语音或按键输入来获取信息、路由呼入语音呼叫,或两者兼而有之。 脚本中创建捕获、检索或生成有关联系人的信息或元数据所需的任何逻辑,并使用其在 Salesforce 中推动自定义体验,同时保留实际情况的元素Salesforce 内的自定义体验。 这意味着您应该为要发送到 Salesforce 的信息或元数据分配变量并发布它们。 要发布它们,必须将变量 ScreenPop 属性设置为Salesforce 扩展将这些变量作为以竖线分隔的列表存储在用户对象的自定义字段中,并且它们可用于 Salesforce 环境中的任何自定义代码。 带有代码的示例用例将遵循任务说明。

  1. 创建一个自定义按钮并将其添加到您的页面布局中。 例如,在联系人对象和页面布局上。 可以将该按钮配置为执行 JavaScript

  2. 创建可以从 CXone MpowerUser.Custom_Screenpop_c 字段访问 变量的代码。 以下代码展示了如何访问此字段中的数据并将其解析为变量名称和值的集合,以便在 JavaScript 中使用。

    {!REQUIRESCRIPT("/soap/ajax/20.0/connection.js")} // get the contents of the field var userVal = "{!User.Custom_Screenpop__c}"; // create an array that splits on the “|” symbol var splitVals = userVal.split("|"); // each element of the splitVals array will be in the // format of “varName=value”, where “varName” is the variable // name published from CXone Mpower .
  3. 发布 IVR 脚本中您想要在 JavaScript 代码中使用的变量。

Studio 操作自定义界面

您可以使用 StudioIndicateMessagesPageRunapp 操作来自定义 Salesforce Agent 界面,帮助引导坐席完成通话。

  • 您可以使用 Indicate 操作,让坐席启动硬编码的网页或应用程序链接。 这些可以是坐席可直接从 Salesforce Agent 界面快速访问的共有参考资料或资源。 您也可以使用 Indicate 操作生成自定义按钮,让坐席可以单击打开一个网页。 当呼叫处于活动状态时,如果选择一个处理联系的坐席作为您的接收者,该按钮会出现在电话控制面板的底部。 若选择任何其他接收者,会导致该按钮出现在 Salesforce Agent 的顶部。

  • 您可以使用 Messages 操作来配置坐席消息,使其出现在 Salesforce Agent 的顶部栏和“消息”窗口中。 您可以向一个坐席、一个团队、所有坐席或一个技能Closed 用于根据坐席技能、能力和知识自动交付交互。发送消息。 字幕中的图标将显示消息的数量。

    您也可以通过设置CXone Mpower坐席消息来创建 中的消息。

  • 中发生某些事件时,您可以使用 PageStudio 操作来自动打开在 Salesforce Agent 中创建的页面。
  • 当某个操作发生时,您可以使用 Runapp 操作自动打开一个网页。 Salesforce 页面根据您的 SoftPhone 布局设置打开。 如果该按钮打开一个外部网页,这些设置将被忽略,该网页将在一个新窗口中打开。

区域设置

Salesforce 中的区域设置控制Salesforce Agent 如何显示数字、货币和日期。 要根据您的位置修改日期和数字的格式,您必须在 中修改用户的区域设置Salesforce设置。 通过这些设置,您还可启用 Salesforce Agent 的本地化。 Salesforce 中的用户语言选择控制着 Salesforce Agent 的语言选择,但您必须为用户启用语言才能应用它们。 Salesforce 支持以下语言:

  • 中文(简体)
  • 中文(繁体)
  • 英语
  • 法语
  • 德语
  • 意大利语
  • 日语
  • 韩语
  • 葡萄牙语
  • 俄语
  • 西班牙语

专有名称和自定义不可用代码的名称不会本地化,除非使用适当的语言在 CXone Mpower 中将其输入。

  1. 单击右上角的设置

  2. 使用搜索框搜索用户,然后单击用户

  3. 单击要修改的用户旁边的编辑。 不要单击全名

  4. 区域设置中,将区域设置语言字段更新为首选的区域设置和语言。

  5. 单击保存

启用服务云用户

若启用服务云用户,会将坐席界面定位为屏幕右下角的最小化栏。 该栏会闪烁,表示有联系人来电。

此选项只可供使用服务云组件的用户使用。 如果没有看到您的坐席的服务云用户选项,请按照以下步骤在自己的配置文件上启用服务云用户。

  1. 单击您用户名旁边的下拉箭头,选择设置

  2. 使用搜索框搜索用户管理,然后单击用户

  3. 单击添加或编辑用户并设置用户配额

  4. 单击想用服务云用户启用的用户旁边的编辑。 不要单击全名

  5. 选择服务云用户旁边的复选框。

  6. 单击保存

启用 Personal Connection

  1. 联系您的 客户代表 以在PC业务单位中启用 Closed 用于管理CXone Mpower系统的技术支持、计费和全局设置的高级组织分组。
  2. PC 中创建 呼出电话 ACD 技能CXone Mpower。 在该技能中启用屏幕弹出,并将该技能分配给将使用 PC 的坐席。
  3. CXone Mpower 中或通过 Proactive XS 上传呼叫列表。 使用 Salesforce ID 生成呼叫列表,以便能够从唯一外部 ID 生成屏幕弹出,而不是通过 中默认的 Closed 也称为呼叫者 ID。 所列的语音来电的电话号码。ANISalesforce 查询。 此外,您也可以在您的 IVRClosed 交互式语音应答。 自动电话菜单联系人通过语音或按键输入来获取信息、路由呼入语音呼叫,或两者兼而有之。 脚本中使用查询变量来控制 Salesforce Agent 在查询中搜索的内容。
  4. 进入 CXone Mpower 的技能控制,然后启动 PC 技能。 坐席必须选择加入才能开始 PC 拨号。

上传自定义铃声

您可以上传的最大文件大小取决于您的 Salesforce 文件设置。 一般来说,最大大小在 2MB 到 25MB 之间。 文件大小越大,坐席收到呼叫时对性能的影响就越大。 默认的铃声是 3 KB。

  1. 单击应用程序启动器(由点网格表示),然后搜索文件

  2. 单击 > 资产库 > 上传资产文件

  3. 单击上传文件,然后选择要上传的 MP3 文件。 单击 OK

  4. 资产名称字段中,为铃声分配一个唯一的名称。 在 API 名称字段中,分配一个以“铃声”开头的唯一名称。 单击保存
  5. 指示您的坐席选择新的铃声

配置呼入呼叫的动态数据显示

所需权限: 脚本 创建权限。

仅在 Salesforce Agent Lightning 中支持动态数据显示。

当坐席收到传入呼叫时,Salesforce Agent 会自动显示客户的呼叫者 ID、技能和计时器。 通过动态数据显示,您可以使用 Studio 脚本来向接听传入呼叫的坐席显示额外的客户数据。 您可以从其他应用程序提取客户数据。 坐席无需从客户收集信息。

动态数据显示只对具备您在脚本中所用呼入技能的坐席有效。

设置动态数据显示需要修改 Studio 中的模板脚本。 该脚本使用 CustomEvent 操作,可在 Studio 中的“框架”选项卡上找到该操作。 该选项卡通常为隐藏状态,但如果使用动态数据显示,则需要将其设置为可见。 此选项卡的启用只能由 客户代表 完成。

CustomEvent 操作的字符数限制为 2048 个。 这意味着,如果有效负载数组元素包含的字符数超过该值,则必须将其拆分为多个 CustomEvent 操作。 如果您不拆分这些元素,则结果是无效的 JSON,并且 Salesforce Agent 不显示任何内容。

  1. 下载包含模板脚本的 ZIP 文件:IB_Phone_AFSFDynamicData.zip

  2. 从 ZIP 文件中提取模板脚本。

  3. Studio 中,导入 IB_Phone_AFSFDynamicData.xml 文件。

  4. 将脚本保存在一个新文件夹中,并使用一个可以标识脚本用途的文件夹名称。 例如,您可以将其称为 IBCustomScript,或者将其命名为联络点的名称。

  5. 使用要与该脚本关联的呼入技能,配置 Reqagent 操作的技能属性。

  6. 如果要添加在 OnHoldOnreskillOntransfer 等事件中传递的数据,请选择 OnAnswer 脚本中的所有操作,然后将这些操作复制并粘贴到该脚本中,并将其连接到合适的事件操作。 如果您不想使用模板脚本中包含的某个默认事件,请将其删除。

  7. 对于您脚本中的每个分支,自定义要对坐席显示的数据。 如果传递的数据大于 2048 个字符,请按照步骤添加其他 CustomEvent 操作并完成脚本。

    1. 双击 Set Field Values Snippet 操作,然后修改默认的全局变量来自定义坐席看到的文本外观。 您可以覆盖特定字段的默认值。

    2. Snippet 代码包括名为 reqPayloadField 的动态变量。 为要包含的每个字段进行复制并自定义。 您最多可添加十个字段。

      用于向脚本添加字段的变量数组

      	
      reqPayloadField[1].id="Field1"
      reqPayloadField[1].text="<Your dynamic text goes here>"
      reqPayloadField[1].style.fontSize="{defaultFontSize}"
      reqPayloadField[1].style.fontWeight="{defaultFontWeight}"
      reqPayloadField[1].style.fontStyle="{defaultFontStyle}"
      reqPayloadField[1].style.align="center"
      reqPayloadField[1].style.backgroundColor="#FF0000"
      reqPayloadField[1].style.fontColor="#FFFFFF"	
      
  8. 对于 OnHoldOnReskillOnTransfer 事件,您需要根据自己希望数据传递给坐席的方式对 recPayloadFieldrecPayloadField 变量的字段进行编号。 您可以:

    • 继续增加从事件操作到事件操作的字段编号。 如果选择此选项,先前事件中的所有字段都将传递给后续事件。

    • 对于下一个事件,从 1 重新开始字段编号。 只有在该事件的 Set Field ValuesSnippet 操作中定义的字段才会被传递给坐席。

  9. 对于脚本中的每个 CustomEvent 操作,验证以下属性是否具有指定值。 如果任何值不同,脚本将无法运行。

    • TargetAgent-{__agentId}

    • EventName-Contact_CustomMessages

    • 数据-{reqPayload}

添加多个 CustomEvent 操作

如果传递给 Salesforce Agent 的有效负载数组元素包含超过 2048 个字符,则需要添加额外的 CustomEvent 操作并在它们之间拆分这些元素。 如果不进行拆分,数据将被截断。 这会导致 JSON 无效,并且 Salesforce Agent 不向坐席显示任何内容。

  1. 确定您需要多少个 CustomEvent 操作,然后将其添加到脚本中。 例如,如果需要传递的字符总数为 3016,则需要两个 CustomEvent 操作。
  2. CustomEvent 操作排列在 Set Custom Event Payload Snippet 操作的右侧,并使用 Default 分支条件连接它们。
  3. 将每个 CustomEvent 操作的 标题 属性更改为 CustomEvent#,其中 # 是一个数字,每增加一个操作,数字就会依次递增。 例如,第一个操作是 CustomEvent1,第二个是 CustomEvent2,依此类推。
  4. 为脚本中的每个 CustomEvent 操作添加一个 Set Field Values Snippet,然后:

    1. 将其并排排列在 Set Custom Event Payload Snippet 操作的左侧。
    2. 将数字添加到每个 Set Field Values Snippet 操作的标题属性中,就像对 CustomEvent 操作所做的那样。
    3. 使用 Default 分支条件将其连接起来。

    如果添加两个 CustomEvent 操作,脚本将如以下示例图片所示。

  5. 根据希望其传递的数据自定义每个 Set Field Values Snippet 操作。 确保每个代码片段中使用的后缀和索引号遵循以下准则:

    • reqPayloadField 变量的后缀 - reqPayloadField 变量需要一个数字后缀来单独标识每组字段。 这可以为每个 CustomEvent 操作分配一个组。 例如,在第一个 Set Field Values Snippet 中,变量为 reqPayloadField1,在第二个中,变量为 reqPayloadField2,依此类推。
    • ID 子字段 - 变量的 IDreqPayloadField 子字段需要在所有Set Field Values Snippet作中连续递增。 如果第一个 Set Field Values Snippet 包含八个字段,则第二个 Set Field Values Snippet 中的第一个字段以 id="Field9" 开头。
    • reqPayloadField 的索引值 - 在每个新reqPayloadField 中,数组的索引值必须以 Set Field Values1Snippet 开头。
    • 例如:

      Set Field Values Snippet #1: 
      reqPayloadField1[1].id="Field1"
       ...
      reqPayloadField1[8].id="Field8"
      Set Field Values Snippet #2:
      reqPayloadField2[1].id="Field9"
       ...
      reqPayloadField2[5].id="Field13"

  6. 按照以下步骤修改每个 Set Field Values Snippet 中字段的全局变量和格式:

    1. 双击 Set Field Values Snippet 操作,然后修改默认的全局变量来自定义坐席看到的文本外观。 您可以覆盖特定字段的默认值。

    2. Snippet 代码包括名为 reqPayloadField 的动态变量。 为要包含的每个字段进行复制并自定义。 您最多可添加十个字段。

      用于向脚本添加字段的变量数组

      	
      reqPayloadField[1].id="Field1"
      reqPayloadField[1].text="<Your dynamic text goes here>"
      reqPayloadField[1].style.fontSize="{defaultFontSize}"
      reqPayloadField[1].style.fontWeight="{defaultFontWeight}"
      reqPayloadField[1].style.fontStyle="{defaultFontStyle}"
      reqPayloadField[1].style.align="center"
      reqPayloadField[1].style.backgroundColor="#FF0000"
      reqPayloadField[1].style.fontColor="#FFFFFF"	
      
  7. 按照以下步骤修改 Set Custom Event Payload Snippet

    1. 对于添加的每个 CustomEvent 操作,需要在 Set Custom Event Payload Snippet中添加一组以下代码行:

      
      DYNAMIC payloadJSON
      payloadJSON.contactId = "{contactid}"
      payloadJSON.messages = reqPayloadField
      ASSIGN reqPayload = '{payloadJSON.AsJson()}'
                              

    如下所述修改每组:

    • payloadJSON - 此变量对于您添加的每组行必须是唯一的。 无论此变量出现在每组代码行的什么位置,都要在其末尾添加一个数字后缀。 您每添加一组代码行,就要将此数字后缀加一。 例如,第一组为 payloadJSON1,第二组为payloadJSON2,依此类推。
    • reqPayloadField - 在每组行中,更改此变量的名称以匹配相应Set Field ValuesSnippet中的变量名称。 例如,在第一个 Set Field ValuesSnippet 中,该变量被命名为 reqPayloadField1,因此在 Set Custom Event PayloadSnippet 中的第一组代码行中,该变量的名称应为 reqPayloadField1
    • reqPayload - 在每组行中,在此变量的末尾添加后缀。 增加后缀以匹配每组代码行中的其他变量。 例如,在第一组代码行中,此变量为 ReqPayload1

    例如,如果有两个 CustomEvent 操作,您将有:

    
    DYNAMIC payloadJSON1
    payloadJSON1.contactId = "{contactid}"
    payloadJSON1.messages = reqPayloadField1
    ASSIGN reqPayload1 = '{payloadJSON1.AsJson()}'
    DYNAMIC payloadJSON2
    payloadJSON2.contactId = "{contactid}"
    payloadJSON2.messages = reqPayloadField2
    ASSIGN reqPayload2 = '{payloadJSON2.AsJson()}'
                        

  8. 使用与操作的标题具有相同后缀编号的e reqPayload# 变量修改每个 CustomEvent 操作中的 Data 属性。 例如,标题为 CustomEvent1 的操作将使用 rePayload1 变量。

  9. 对脚本中的所有事件操作重复此任务中的步骤(OnAnswerOnHoldOnReskillOnTransfer)。 当执行第 5 步来增加 recPayloadField 变量的 ID 子字段的编号时,您可以:

    • 继续增加从事件操作到事件操作的字段编号。 如果选择此选项,先前事件中的所有字段都将传递给后续事件。

    • 对于下一个事件,从 1 重新开始字段编号。 只有在该事件的 Set Field ValuesSnippet 操作中定义的字段才会被传递给坐席。

  10. 对于脚本中的每个 CustomEvent 操作,验证以下属性是否具有指定值。 如果任何值不同,脚本将无法运行。

    • TargetAgent-{__agentId}

    • 事件名称-Contact_CustomMessages

    • Data-{reqPayload#},其中 # 是每个作实例中的不同数字

如果您在导入或保存脚本时遇到问题,请联系 CXone Mpower 实施团队。

批量删除用户

使用此选项可一次删除多个非活动用户。

  1. Salesforce中,从主屏幕点击导航下拉菜单一个灰色的下拉箭头。

  2. 单击Salesforce Agent设置。

    1. 如果您没有看到此选项,请单击修改 &gt; 添加更多项目 &gt; Salesforce Agent设置

  3. 使用您的 CXone Mpower 凭据签到。

  4. 向下滚动到“清除自定义设置”部分。

    1. 单击批量删除不活动用户记录,可删除Salesforce Agent Classic 和Salesforce Agent Lightning中不活动用户的自定义设置记录。

    2. 单击批量删除经典版用户记录,仅删除Salesforce Agent经典版中所有用户的自定义设置。