CXone Agent Embedded 配置 Salesforce 工作流

您可以为 SalesforceCXone Agent Embedded 配置”搜索”、”标准创建”和”自定义创建”工作流。

工作流类型

说明

工作流程

搜索 “搜索”工作流扫描 Salesforce 以查找适用于坐席正在处理的交互的记录。 搜索 ANI
自定义搜索
标准创建 “标准创建”工作流使用标准数据字段为标准 Salesforce 实体类型创建记录。 创建账户
创建案例
创建联系人
创建潜在客户
创建机会
创建工单
自定义创建 “自定义创建”工作流创建自定义记录。自定义记录可以具有标准和自定义数据字段。 创建自定义记录

配置“搜索”工作流

配置“搜索 ANI”工作流

使用此示例脚本

  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 实体:

  • 账户

  • 案例

  • 联系

  • 引导

  • 机会

  • 工单

使用此示例脚本

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

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

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

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

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

  6. 更改 payloadArray[1].filterpayloadArray[2].filter 属性的值。这些确定实体的搜索筛选条件。例如,payloadArray[1].filter = "phone='{ANI}'" 会筛选由 payloadArray[1].entity 指定的实体的结果。

    1. [fieldName] 更改为实体字段名称的名称,例如 phone。其区分大小写。

    2. [operator] 更改为您要使用的 Salesforce 运算符。Salesforce 运算符的完整列表可以在 Salesforce 文档 中找到。其区分大小写。

    3. {variable} 更改为您要搜索的变量。其区分大小写。

  7. 要添加其他实体,请在 payloadArray[2].filter 之后创建其他 payloadArray 属性。请遵循以下格式:

    
    payloadArray[#].entity = "[API name]"
    payloadArray[#].filter = "[fieldName][operator]'{variable}'"
    		

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

  8. 保存脚本。

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

配置“标准创建”工作流

您无法将字段添加到“标准创建”工作流。如果添加字段,则不会创建记录。要使用所需字段创建自定义记录,请使用创建自定义记录工作流

配置“创建帐户”工作流

  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模拟交互来测试脚本。

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

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

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

使用此示例脚本

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

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

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

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

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

    
    DYNAMIC createPayload
    DYNAMIC createDataArray
    DYNAMIC createResponseFieldsArray
    						
    DYNAMIC item1
    item1.key = "[Field 1]"
    item1.value = "[Field 1 Value]"
    
    DYNAMIC item2
    item2.key = "[Field 2]"
    item2.value = "[Field 2 Value]"
    
    DYNAMIC item3
    item3.key = "[Field 3]
    item3.value = "[Field 3 Value]"
    						
    DYNAMIC responseFieldIndex1
    DYNAMIC responseFieldIndex2
    DYNAMIC responseFieldIndex3
    responseFieldIndex1.field = "[Field 1]"
    responseFieldIndex1.displayName = "[Field 1 Name]"
    
    responseFieldIndex2.field = "[Field 2]"
    responseFieldIndex2.displayName = "[Field 2 Name]"
    
    responseFieldIndex3.field = "[Field 3]"
    responseFieldIndex3.displayName = "[Field 3 Name]"
    
    createPayload.entity = "[API name]"
    		ASSIGN createDataArray[1] = item1
    		ASSIGN createDataArray[2] = item2
    		ASSIGN createDataArray[3] = item3
    createPayload.data = createDataArray
    						
    		ASSIGN createResponseFieldsArray[1] = responseFieldIndex1
    		ASSIGN createResponseFieldsArray[2] = responseFieldIndex2
    		ASSIGN createResponseFieldsArray[3] = responseFieldIndex3
    createPayload.responseFields = createResponseFieldsArray						
    										
    DYNAMIC create[API name]Payload
    create[API name]Payload.workflowInput = createPayload
    						
    ASSIGN create[API name]Json = "{create[API name]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}"
      		
    4. responseFieldIndex1.field 的值更改为 item1.key 的值。将 responseFieldIndex1.displayName 更改为您要为第一个字段显示的名称。例如:

      
      responseFieldIndex1.field = "Status"
      responseFieldIndex1.displayName = "Status"
      		
    5. responseFieldIndex2.field 的值更改为 item2.key 的值。将 responseFieldIndex2.displayName 更改为您要为第二个字段显示的名称。例如:

      
      responseFieldIndex2.field = "Origin"
      responseFieldIndex2.displayName = "Origin"
      		
    6. responseFieldIndex3.field 的值更改为 item3.key 的值。将 responseFieldIndex3.displayName 更改为您要为第三个字段显示的名称。例如:

      
      responseFieldIndex3.field = "CXone_Contact_ID_c"
      responseFieldIndex3.displayName = "Contact ID"
      		
  6. createPayload.entity 属性的值更改为您要使用的实体的 API 名称。例如,payload.entity = "account"。其区分大小写。

  7. 将代码最后三行中的所有 [API name] 实例均更改为您在上一步中使用的 API 名称。将此 API 名称大写以匹配属性的驼峰式大小写。例如,如果您使用的 API 名称是 account,则您的代码将为:

    
    DYNAMIC createAccountPayload
    createAccountPayload.workflowInput = createPayload
    						
    ASSIGN createAccountJson = "{createAccountPayload.asjson()}"
    		
  8. 要添加其他字段:

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

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

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

    2. DYNAMIC responseFieldIndex3 之后创建额外的 responseFieldIndex 动态数据对象。请遵循以下格式:

      
      DYNAMIC responseFieldIndex#
      		

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

    3. responsefieldIndex3.displayName 之后,将字段和显示名称分配给新的 responseFieldIndex 动态数据对象。请遵循以下格式:

      
      responseFieldIndex#.field = "[Field #]"
      responseFieldIndex#.displayName = "[Field # Name]"
      		

      数字 (#) 需要与您在上一步中创建的动态数据对象的数量相匹配。例如,responseFieldIndex4.fieldresponseFieldIndex5.field 等。

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

      
      ASSIGN createDataArray[#] = item#
      		

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

    5. 最后,在 createResponseFieldsArray[3] 之后创建附加响应字段数组。请遵循以下格式:

      
      ASSIGN createResponseFieldsArray[#] = responseFieldIndex#
      		

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

  9. 保存脚本。

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