CXone Agent 配置 Salesforce 工作流

这是SalesforceCXone Agent 集成的最后一步。

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

工作流类型

说明

工作流程

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

“标准创建”工作流使用标准数据字段创建标准 Salesforce 记录。这些工作流的 SNIPPET 有效负载必须包含标准字段,并且包含这些字段。

创建账户
创建案例
创建联系人
创建潜在客户
创建机会
创建工单

配置“搜索”工作流

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

配置“搜索 ANI”工作流

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

使用此示例脚本

  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 记录:

  • 账户

  • 案例

  • 联系

  • 引导

  • 机会

  • 工单

使用此示例脚本

  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 记录(标准或自定义)。此记录可以显示标准和自定义数据字段。这些字段必须包含文本、数字或变量。绑定字段通常由搜索结果或选项列表填充,但您可以将此工作流配置为将硬编码数据添加到绑定字段。

使用此示例脚本

先前这称为创建实体工作流。

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

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

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

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

    
    DYNAMIC createPayload
    DYNAMIC createDataArray
    						
    DYNAMIC item1
    item1.field = "[API name]"
    item1.value = "[variable]"
    DYNAMIC item2
    item2.field = "[API name]"
    item2.value = "[variable]"
    DYNAMIC item3
    item3.field = "[API name]"
    item3.value = "[variable]"
    
    createPayload.tablename = "[record type]"
    createDataArray[1] = item1
    createDataArray[2] = item2
    createDataArray[3] = item3
    
    createPayload.data = createDataArray
    						
    createPayload.pinnedRecord = "[true or false]"						
    										
    DYNAMIC createPayload
    createPayload.workflowInput = createPayload
    						
    ASSIGN createJson = "{createPayload.asjson()}"
    		

    您必须包含其中每一行。

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

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

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

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

      
      item3.field = "CXone_Contact_ID_c"
      item3.value = "{ContactID}"
      		
  6. createPayload.tablename 属性的值更改为您要使用的记录的 API 名称。例如,createPayload.tablename = "account"。其区分大小写。

  7. createPayload.pinnedRecord 属性的值更改为 truefalse。当设置为 true 时,创建的记录将向 客户卡 的“当前交互”部分中的坐席显示。如果设置为 false,它将显示在 客户卡 的“最近交互”部分中。如果您没有将此属性包含不有效负载中,它将被假定为 false
  8. 要添加其他字段:

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

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

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

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

      
      ASSIGN createDataArray[#] = item#
      		

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

  9. 保存脚本。

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

配置“标准创建”工作流

“标准创建”工作流可使用户搜索 Salesforce 内的标准 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}"
    						
    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. 保存脚本。

  8. 您可以通过在 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]"
    						
    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. 保存脚本。

  7. 您可以通过在 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]"
    
    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. 保存脚本。

  7. 您可以通过在 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]"
    						
    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. 保存脚本。

  7. 您可以通过在 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]"
    						
    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. 保存脚本。

  7. 您可以通过在 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]"
    
    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. 保存脚本。

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

固定记录

您可以将记录固定到 客户卡 的“当前交互”部分。

  1. 打开具有您要固定的记录的工作流的 SNIPPET

  2. 复制此行代码并将其粘贴到 DYNAMIC create[RecordType]Payload 之前:

    						
    createPayload.pinnedRecord = "true"					
    		
  3. 保存脚本。