Agent 配置 Salesforce 工作流

这是SalesforceAgent 集成的最后一步。

您可以为 SalesforceCXone Mpower Agent 配置搜索、自定义创建、标准创建和更新工作流。 这些工作流搜索、创建或更新 Salesforce 记录(也称为对象)。 这是动态数据映射的后端配置。

工作流类型

说明

工作流程

搜索 “搜索”工作流扫描 Salesforce 以查找适用于坐席正在处理的交互的记录。 搜索 ANI
自定义搜索
自定义创建 “自定义创建”工作流使用标准字段和自定义字段创建任何记录类型。 创建自定义记录
标准创建

“标准创建”工作流使用标准数据字段创建标准 Salesforce 记录。 这些工作流的 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模拟交互来测试脚本。

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

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

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

  • 账户

  • 案例

  • 联系

  • 引导

  • 机会

  • 工单

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

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

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

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

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

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

  6. 更改 payload.filter 属性的值。 这可确定记录的搜索筛选标准。 例如,payload.filter = "phone='{ANI}'"

    1. [fieldName] 更改为要用于搜索的字段的名称,例如 phone。 其区分大小写。

    2. [operator] 更改为您要使用的 Salesforce 运算符。 Salesforce 运算符的完整列表可以在 Salesforce 文档 带有指示导航到外部站点的箭头的框。 中找到。 其区分大小写。

    3. {variable} 更改为要分配给该字段的变量。 其区分大小写。

  7. 要添加其他搜索筛选器,请在筛选器之间使用 Salesforce 运算符。 例如:

    
    payload.filter = "phone='{ANI}'AND customer_number_c='{CustomerNumber}'"
    		
  8. 保存脚本。

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

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

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

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

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

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

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

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

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

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

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

    
    DYNAMIC createPayload
    DYNAMIC createDataArray
    						
    DYNAMIC item1
    item1.key = "[API name]"
    item1.value = "[variable]"
    DYNAMIC item2
    item2.key = "[API name]"
    item2.value = "[variable]"
    DYNAMIC item3
    item3.key = "[API name]"
    item3.value = "[variable]"
    
    createPayload.entity = "[record type]"
    createDataArray[1] = item1
    createDataArray[2] = item2
    createDataArray[3] = item3
    
    createPayload.data = createDataArray
    						
    createPayload.pinnedRecord = "[true or false]"
    createPayload.screenPop = "[true or false]"
    createPayload.relatesTo = "[true or false]"						
    										
    DYNAMIC create[RecordName]Payload
    create[RecordName]Payload.workflowInput = createPayload
    						
    ASSIGN createJson = "{create[RecordName]Payload.asjson()}"
    		

    您必须包含其中每一行。

  5. 更改下面列出的属性的值。 其中任何一个都可以是硬编码值、变量或它们的组合。 如果您希望该值针对每次交互进行更新,请使用变量。

    1. item1.key 的值更改为要显示的第一个字段。 将 item1.value 更改为该字段的值。 例如:

      
      item1.key = "Status"
      item1.value = "New"
      		
    2. item2.key 的值更改为要显示的第二个字段。 将 item2.value 更改为该字段的值。 例如:

      
      item2.key = "Origin"
      item2.value = "Phone"
      		
    3. item3.key 的值更改为要显示的第三个字段。 将 item3.value 更改为该字段的值。 例如:

      
      item3.key = "CXone_Contact_ID_c"
      item3.value = "{ContactID}"
      		
  6. 要添加其他字段:

    1. item3.value 之后创建额外的 item 动态数据对象。 请遵循以下格式:

      
      DYNAMIC item#
      item#.key = "[Field #]"
      item#.value = "[Field # Value]"
      		

      每添加一个额外的动态数据对象,数字 (#) 就需要加一。 例如,item4item5 等。

    2. createDataArray[3] 之后创建附加数据数组。 请遵循以下格式:

      
      ASSIGN createDataArray[#] = item#
      		

      每将一个额外项目添加到数组中,数字 (#) 就需要增加一。 例如,createDataArray[4]createDataArray[5] 等。

  7. createPayload.entity 属性的值更改为您要使用的记录的 API 名称。 例如,createPayload.entity = "account"。 其区分大小写。

    要查找该记录的 API 名称,请打开 Salesforce 并导航至设置 内部带有闪电的齿轮图标图像。 > 对象管理器。 单击记录的名称。 在打开的“详细信息”页面中,找到 API 名称

  8. createPayload.pinnedRecord 属性的值更改为 truefalse。 当设置为 true 时,创建的记录向 客户卡 的“当前交互”部分中的坐席显示。 当设置为 false 时,它显示在 客户卡 的“最近交互”部分中。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  9. createPayload.screenPop 属性的值更改为 truefalse。 当设置为 true 时,创建的记录会自动以 Salesforce 中的弹出屏幕形式向坐席显示。 当设置为 false 时,则不会。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  10. createPayload.relatesTo 属性的值更改为 truefalse。 但设置为 true 时,坐席可在 Agent手动关联记录。 当设置为 false 时,他们不能;关联记录通过数据记忆自动发生。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  11. 将代码最后三行中的所有 [RecordName] 实例更改为您创建的记录的名称。 将此名称大写以匹配属性的驼峰式大小写。 例如,如果您创建的记录的名称是 workorder,您的代码将为:

    
    DYNAMIC createWorkOrderPayload
    createWorkOrderPayload.workflowInput = createPayload
    						
    ASSIGN createJson = "{createWorkOrderPayload.asjson()}"
    		
  12. 保存脚本。

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

配置“标准创建”工作流

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

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

配置“创建帐户”工作流

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

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

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

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

    
    DYNAMIC createAccount
    createAccount.accountName = "[account name]"
    createAccount.accountType = "[account type]"
    createAccount.accountPhone = "{ANI}"
    						
    createAccount.pinnedRecord = "[true or false]"
    createAccount.screenPop = "[true or false]"
    createAccount.relatesTo = "[true or false]"	
    						
    DYNAMIC createAccountPayload
    createAccountPayload.workflowInput = createAccount
    
    ASSIGN createAccountJson = "{createAccountPayload.asjson()}"
    		

    您必须包含其中每一行。 如果您希望字段保持空白,则可以使用空值 ("")。 例如,createAccount.accountType = ""。 但是,您不能将空值分配给 createAccount.accountName

  5. createAccount.accountName 属性的值更改为帐户名称。 例如,createAccount.accountName = "Elinor from Classics, Inc."。 该值可以是硬编码值、变量或它们的组合。 如果您希望该值针对每次交互进行更新,请使用变量。

  6. createAccount.accountType 属性的值更改为帐户类型。 例如,createAccount.accountType = "Book Orders - Chat"。 该值可以是硬编码值、变量或它们的组合。 如果您希望该值针对每次交互进行更新,请使用变量。

  7. createAccount.pinnedRecord 属性的值更改为 truefalse。 当设置为 true 时,创建的记录向 客户卡 的“当前交互”部分中的坐席显示。 当设置为 false 时,它显示在 客户卡 的“最近交互”部分中。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  8. createAccount.screenPop 属性的值更改为 truefalse。 当设置为 true 时,创建的记录会自动以 Salesforce 中的弹出屏幕形式向坐席显示。 当设置为 false 时,则不会。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  9. createAccount.relatesTo 属性的值更改为 truefalse。 但设置为 true 时,坐席可在 Agent手动关联记录。 当设置为 false 时,他们不能;关联记录通过数据记忆自动发生。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  10. 保存脚本。

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

配置“创建案例”工作流

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

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

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

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

    
    DYNAMIC createCase
    createCase.entityType = "[Contact or Account]"
    createCase.name = "[case name]"
    createCase.phone = "{ANI}"
    createCase.email = "[case email]"
    createCase.company = "[case company]"
    createCase.status = "[case status]"
    createCase.caseReason = "[reason for case]"
    createCase.caseOrigin = "{SKILL}"
    createCase.priority = "[low, medium, high, or critical]"
    createCase.description = "New Record - {CONTACTID}"
    createCase.internalComments = "[internal comments]"
    						
    createCase.pinnedRecord = "[true or false]"
    createCase.screenPop = "[true or false]"
    createCase.relatesTo = "[true or false]"	
    						
    DYNAMIC createCasePayload
    createCasePayload.workflowInput = createCase
    
    ASSIGN createCaseJson = "{createCasePayload.asjson()}"
    		

    您必须包含其中每一行。 如果您希望字段保持空白,则可以使用空值 ("")。 例如,createCase.name = ""。 但是,您不能将空值分配给 createCase.entityTypecreateCase.status

  5. 更改这些属性的值。 其中任何一个都可以是硬编码值、变量或它们的组合。 如果您希望该值针对每次交互进行更新,请使用变量。

    1. createCase.entityType 属性的值更改为 ContactAccount。 例如,createCase.entityType = "Contact"

    2. createCase.name 属性的值更改为案例的名称。 例如,createCase.name = "Elinor Dashwood's Case"

    3. createCase.email 属性的值更改为案例的电子邮件地址。 例如,createCase.email = "elinor.dashwood@classics.com"

    4. createCase.company 属性的值更改为案例的组织。 例如,createCase.company = "Classics, Inc."

    5. createCase.status 属性的值更改为案例的状态。 例如,createCase.status = "New"

    6. createCase.caseReason 属性的值更改为案例的原因。 例如,createCase.caseReason = "Shipping problems"

    7. createCase.priority 属性的值更改为 lowmediumhighcritical。 例如,createCase.priority = "low"

    8. createCase.internalComments 属性的值更改为案例的描述以供内部使用。 例如,createCase.internalComments = "Elinor's book order is missing. It might have a wrong shipping address."

  6. createCase.pinnedRecord 属性的值更改为 truefalse。 当设置为 true 时,创建的记录向 客户卡 的“当前交互”部分中的坐席显示。 当设置为 false 时,它显示在 客户卡 的“最近交互”部分中。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  7. createCase.screenPop 属性的值更改为 truefalse。 当设置为 true 时,创建的记录会自动以 Salesforce 中的弹出屏幕形式向坐席显示。 当设置为 false 时,则不会。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  8. createCase.relatesTo 属性的值更改为 truefalse。 但设置为 true 时,坐席可在 Agent手动关联记录。 当设置为 false 时,他们不能;关联记录通过数据记忆自动发生。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  9. 保存脚本。

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

配置“创建联系人”工作流

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

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

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

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

    
    DYNAMIC createContact
    createContact.firstName = "[first name]"
    createContact.lastName = "[last name]"
    createContact.homePhone = "{ANI}"
    createContact.mobilePhone = "[mobile phone number]"
    createContact.businessPhone = "{ANI}"
    createContact.email = "[email address]"
    createContact.contactDescription = "[description of contact]"
    						
    createContact.pinnedRecord = "[true or false]"
    createContact.screenPop = "[true or false]"
    createContact.relatesTo = "[true or false]"	
    
    DYNAMIC createContactPayload
    createContactPayload.workflowInput = createContact
    
    ASSIGN createContactJson = "{createContactPayload.asjson()}"
    		

    您必须包含其中每一行。 如果您希望字段保持空白,则可以使用空值 ("")。 例如,createContact.firstName = ""。 但是,您不能将空值分配给 createContact.lastName

  5. 更改这些属性的值。 其中任何一个都可以是硬编码值、变量或它们的组合。 如果您希望该值针对每次交互进行更新,请使用变量。

    1. createContact.firstName 属性的值更改为联系人的名字。 例如,createContact.firstName = "Elinor"

    2. createContact.lastName 属性的值更改为联系人的姓氏。 例如,createContact.lastName = "Dashwood"

    3. createContact.mobilePhone 属性的值更改为联系人的手机号码。 例如,createContact.mobilePhone = "1234567890"

    4. createContact.email 属性的值更改为联系人的电子邮件地址。 例如,createContact.email = "elinor.dashwood@classics.com"

    5. createContact.contactDescription 属性的值更改为联系人的描述。 例如,createContact.contactDescription = "Elinor needs help with her book order"

  6. createContact.pinnedRecord 属性的值更改为 truefalse。 当设置为 true 时,创建的记录向 客户卡 的“当前交互”部分中的坐席显示。 当设置为 false 时,它显示在 客户卡 的“最近交互”部分中。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  7. createContact.screenPop 属性的值更改为 truefalse。 当设置为 true 时,创建的记录会自动以 Salesforce 中的弹出屏幕形式向坐席显示。 当设置为 false 时,则不会。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  8. createContact.relatesTo 属性的值更改为 truefalse。 但设置为 true 时,坐席可在 Agent手动关联记录。 当设置为 false 时,他们不能;关联记录通过数据记忆自动发生。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  9. 保存脚本。

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

配置“创建潜在客户”工作流

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

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

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

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

    
    DYNAMIC createLead
    createLead.firstName = "[first name]"
    createLead.lastName = "[last name]"
    createLead.company = "[company]"
    createLead.phone = "{ANI}"
    createLead.email = "[email address]"
    createLead.website = "[website URL]"
    createLead.description = "New Record - {CONTACTID}"
    createLead.status = "[status of lead]"
    						
    createLead.pinnedRecord = "[true or false]"
    createLead.screenPop = "[true or false]"
    createLead.relatesTo = "[true or false]"	
    						
    DYNAMIC createLeadPayload
    createLeadPayload.workflowInput = createLead
    
    ASSIGN createLeadJson = "{createLeadPayload.asjson()}"
    		

    您必须包含其中每一行。 如果您希望字段保持空白,则可以使用空值 ("")。 例如,createLead.firstName = ""。 但是,您不能将空值分配给 createLead.lastNamecreateLead.companycreateLead.status

  5. 更改这些属性的值。 其中任何一个都可以是硬编码值、变量或它们的组合。 如果您希望该值针对每次交互进行更新,请使用变量。

    1. createLead.firstName 属性的值更改为潜在客户的名字。 例如,createLead.firstName = "Elinor"

    2. createLead.lastName 属性的值更改为潜在客户的姓氏。 例如,createLead.lastName = "Dashwood"

    3. createLead.company 属性的值更改为潜在客户的组织。 例如,createLead.company = "Classics, Inc."

    4. createLead.email 属性的值更改为潜在客户的电子邮件地址。 例如,createLead.email = "elinor.dashwood@classics.com"

    5. createLead.website 属性的值更改为潜在客户的网站。 例如,createLead.website = "classics.com"

    6. createLead.status 属性的值更改为潜在客户的状态。 例如,createLead.status = "New"

  6. createLead.pinnedRecord 属性的值更改为 truefalse。 当设置为 true 时,创建的记录向 客户卡 的“当前交互”部分中的坐席显示。 当设置为 false 时,它显示在 客户卡 的“最近交互”部分中。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  7. createLead.screenPop 属性的值更改为 truefalse。 当设置为 true 时,创建的记录会自动以 Salesforce 中的弹出屏幕形式向坐席显示。 当设置为 false 时,则不会。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  8. createLead.relatesTo 属性的值更改为 truefalse。 但设置为 true 时,坐席可在 Agent手动关联记录。 当设置为 false 时,他们不能;关联记录通过数据记忆自动发生。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  9. 保存脚本。

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

配置“创建机会”工作流

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

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

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

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

    
    DYNAMIC createOpportunity
    createOpportunity.name = "[opportunity name]"
    createOpportunity.description = "New Record - {CONTACTID}"
    createOpportunity.stageName = "[stage of opportunity]"
    createOpportunity.closeDate = "[YYYY-MM-DD]"
    						
    createOpportunity.pinnedRecord = "[true or false]"
    createOpportunity.screenPop = "[true or false]"
    createOpportunity.relatesTo = "[true or false]"	
    						
    DYNAMIC createOpportunityPayload
    createOpportunityPayload.workflowInput = createOpportunity
    
    ASSIGN createOpportunityJson = "{createOpportunityPayload.asjson()}"
    		

    您必须包含其中每一行。 如果您希望字段保持空白,则可以使用空值 ("")。 例如,createOpportunity.description = ""。 但是,您不能将空值分配给 createOpportunity.namecreateOpportunity.stageNamecreateOpportunity.closeDate

  5. 更改这些属性的值。 其中任何一个都可以是硬编码值、变量或它们的组合。 如果您希望该值针对每次交互进行更新,请使用变量。

    1. createOpportunity.name 属性的值更改为机会的名称。 例如,createOpportunity.name = "Classics, Inc. Elinor"

    2. createOpportunity.stageName 属性的值更改为机会的阶段。 例如,createOpportunity.stageName = "New"

    3. createOpportunity.closeDate 属性的值更改为机会关闭的日期。 例如,createOpportunity.closeDate = "2024-01-31"

  6. createOpportunity.pinnedRecord 属性的值更改为 truefalse。 当设置为 true 时,创建的记录向 客户卡 的“当前交互”部分中的坐席显示。 当设置为 false 时,它显示在 客户卡 的“最近交互”部分中。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  7. createOpportunity.screenPop 属性的值更改为 truefalse。 当设置为 true 时,创建的记录会自动以 Salesforce 中的弹出屏幕形式向坐席显示。 当设置为 false 时,则不会。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  8. createOpportunity.relatesTo 属性的值更改为 truefalse。 但设置为 true 时,坐席可在 Agent手动关联记录。 当设置为 false 时,他们不能;关联记录通过数据记忆自动发生。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  9. 保存脚本。

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

配置“创建工单”工作流

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

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

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

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

    
    DYNAMIC createWorkOrder
    createWorkOrder.description = "New Record - {CONTACTID}"
    createWorkOrder.startDate = "[YYYY-MM-DD]"
    createWorkOrder.endDate = "[YYYY-MM-DD]"
    createWorkOrder.subject = "New Record"
    createWorkOrder.status = "[status]"
    createWorkOrder.priority = "[low, medium, high, or critical]"
    createWorkOrder.duration = "[number of minutes or hours]"
    						
    createWorkOrder.pinnedRecord = "[true or false]"
    createWorkOrder.screenPop = "[true or false]"
    createWorkOrder.relatesTo = "[true or false]"	
    
    DYNAMIC createWorkOrderPayload
    createWorkOrderPayload.workflowInput = createWorkOrder
    
    ASSIGN createWorkOrderJson = "{createWorkOrderPayload.asjson()}"
    		

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

  5. 更改这些属性的值。 其中任何一个都可以是硬编码值、变量或它们的组合。 如果您希望该值针对每次交互进行更新,请使用变量。

    1. createWorkOrder.startDate 属性的值更改为工单开始的日期。 例如,createWorkOrder.startDate = "2024-01-30"

    2. createWorkOrder.endDate 属性的值更改为工单结束的日期。 例如,createWorkOrder.endDate = "2024-01-31"

    3. createWorkOrder.status 属性的值更改为工单的状态。 例如,createWorkOrder.status = "New"

    4. createWorkOrder.priority 属性的值更改为 lowmediumhighcritical。 例如,createWorkOrder.priority = "low"

    5. createWorkOrder.duration 属性的值更改为完成工单所需的分钟数或小时数。 例如,createWorkOrder.duration = "02"

  6. createWorkOrder.pinnedRecord 属性的值更改为 truefalse。 当设置为 true 时,创建的记录向 客户卡 的“当前交互”部分中的坐席显示。 当设置为 false 时,它显示在 客户卡 的“最近交互”部分中。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  7. createWorkOrder.screenPop 属性的值更改为 truefalse。 当设置为 true 时,创建的记录会自动以 Salesforce 中的弹出屏幕形式向坐席显示。 当设置为 false 时,则不会。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  8. createWorkOrder.relatesTo 属性的值更改为 truefalse。 但设置为 true 时,坐席可在 Agent手动关联记录。 当设置为 false 时,他们不能;关联记录通过数据记忆自动发生。 如果您没有将此属性包含不有效负载中,它将被假定为 false
  9. 保存脚本。

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

更新工作流程

更新工作流可使您配置 SNIPPET 有效负载来更新任何类型的 Salesforce 记录(标准或自定义)。 更新工作流可以更新搜索工作流检索的记录。 他们还可以更新由“自定义创建”和“标准创建”工作流创建的记录。

Elinor Dashwood 已设置“自定义创建”工作流来创建 Salesforce 记录。 不过,她注意到这些记录中的创建者字段填充了她为 Salesforce 配置创建的 CXone Mpower 用户帐户。 她在 Studio 脚本中配置了“更新”工作流,以便将创建者字段的值更新为处理交互的坐席。

配置更新记录工作流

更新记录工作流更新记录中的字段。 您可以使用它来:

  • 更新“搜索”工作流检索的记录的字段。 更新记录专为单个匹配项而设计。 如果搜索中返回多条记录,则仅更新第一个检索到的记录。

  • 更新由“自定义创建”或“标准创建”工作流创建的记录的字段。

  • 同时更新标准字段和自定义字段。

每个更新记录工作流只能更新一条记录。 要更新多条记录,请配置多个更新记录工作流。

  1. Studio中,打开您要在其中配置更新记录工作流的脚本。

  2. SNIPPET后添加ONANSWER操作ONASSIGNMENT

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

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

    
    ASSIGN recordId = workflowResultSet.result[1].records[1].id
    
    DYNAMIC updatePayload
    updatePayload.entityId = [recordId]
    updatePayload.entity = "[entity API]"
    
    DYNAMIC fields
    fields[1].key = "[FieldName]"
    fields[1].value = "[Field value]"
    
    fields[2].key = "[FieldName]"
    fields[2].value = "[Field value]"				
    
    fields[3].key = "[FieldName]"
    fields[3].value = "[Field value]"
    
    updatePayload.fields = fields
    
    DYNAMIC updateInput
    updateInput.workflowInput = updatePayload
    ASSIGN updateInputJson = "{updateInput.asjson()}"
    		
  5. updatePayload.entityId属性的值更改为您要更新的记录的记录 ID。 例如,updatePayload.entityId = "123456-7891011-12131415"

    您可以从 客户卡Agent 中显示的“搜索”工作流结果中检索此记录 ID,其位于 中。

  6. updatePayload.entity 属性的值更改为您要更新的记录的 API 名称。 例如,updatePayload.entity = "account"。 其区分大小写。 您可以使用标准或自定义记录的 API 名称。

    要查找记录的 API 名称,请打开 Salesforce 并导航至设置 内部带有闪电的齿轮图标图像。 > 对象管理器。 单击记录的名称。 在打开的“详细信息”页面中,找到 API 名称

  7. fields.key属性的值更改为您要更新的字段。 例如,fields[1].key = "SuppliedPhone"
  8. fields.value 属性的值更改为这些字段的新值。 它们可以是硬编码、变量或它们的组合。 例如,fields[1].value = "{ANI}"
  9. 保存脚本。

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

固定记录

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

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

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

    						
    createPayload.pinnedRecord = "true"					
    		

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

  3. 保存脚本。

配置弹出屏幕的记录

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

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

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

    						
    createPayload.screenPop = "true"				
    		

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

  3. 保存脚本。

启用相关记录

您可以使坐席能够关联 Agent 内的 Salesforce 记录。 这会将关联到图标 顶部的一个点与底部的两个点相连。 添加到 客户卡 的“当前交互”部分。 当坐席单击关联到 顶部的一个点与底部的两个点相连。 时,将显示名称关联到字段。 他们可使用这些字段来选择与当前交互记录相关的记录。 交互过程中处于活动状态的记录会显示在名称关联到字段中,具体取决于记录类型:

  • 潜在客户和联系人显示在名称字段中。

  • 客户、营销活动、案例、机会和自定义记录显示在关联到字段中。

Salesforce 允许记录自动关联,无需任何额外配置。 通过上下文切换,最后一个活动记录是已将坐席选择关联到当前交互记录。 以下步骤将关联到图标 顶部的一个点与底部的两个点相连。名称关联到字段添加到 Agent 中的 客户卡,以便坐席可以手动关联记录。

要使坐席能够手动关联记录:

  1. 在坐席集成 图标:一个橙色齿轮,内部有三个箭头。 中,添加 whoidwhatid CXone Mpower 数据字段的数据记忆映射。

    1. 按照这些步骤打开 CRM 集成,导航到“数据记忆”选项卡,然后添加实体。

    2. 外部 CRM 字段下拉列表中,选择可映射到 Salesforcewhoidwhatid 数据字段的 CXone Mpower 字段。 然后在选择渠道下拉列表中选择脚本变量,并在数据{107中输入whoidwhatidCXone Mpower }。

    3. 单击页面顶部的保存

  2. Studio 中,打开脚本中的 Snippet for Create Workflow SNIPPET 操作。

  3. 确保将记录固定客户卡 的“当前交互”部分。

  4. 确保脚本中的坐席工作流配置操作已配置为数据记忆。 这涉及在向导中选择数据记忆工作流映射。

  5. 保存脚本。