CRM 集成代码片段

本帮助页面上的信息同时适用于 CXone StudioDesktop Studio

您可以将 CRM 应用程序与 CXone AgentCXone Agent EmbeddedCXone Agent Integrated 集成。您的集成脚本中需要以下代码片段。有关将这些代码片段添加到脚本中的信息,请参阅CXone AgentCXone Agent Embedded,或 CXone Agent Integrated 设置数据记忆的在线帮助。

Workflow Inputs

此代码向脚本引入了一些变量,以保存 CRM 集成的配置 ID 以及您希望脚本处理的工作流的 ID。

该代码还会创建一个名为 searchInput动态数据对象 。该对象保存工作流输入和从 CRM 传递到 坐席应用程序 的负载。在示例代码中,该对象是根据搜索工作流命名的。对于其他工作流,请使用相关名称。


//this is the ID of the CRM integration from the CXone Agent Integrations page
ASSIGN integrationConfigId="[integration configuration ID]"

//This is the ID of the workflow you want to use
ASSIGN searchWorkflowId="[workflow ID]"

DYNAMIC searchInput
searchInput.workflowInput.phoneNumber="{ANI}"
//Include the following variable if you want to establish a timeout.
//Connect the OnTimeout branch of the Workflow Execute Studio action if you create a timeout. 
searchInput.timeoutMilliSec = "6000"

ASSIGN searchJson = "{searchInput.asjson()}"			
			

工作流输入 #2

此操作可创建当前交互记录。此记录存储有关坐席当前正在处理的联系人的信息。默认情况下,其在 坐席应用程序 和您的 CRM 之间进行链接。

为了创建当前交互记录,此操作会创建一个名为 create[Record]动态数据对象。将 [Record] 替换为您要使用的 CRM 记录类型的名称,例如 PhonecallAccountcreate[Record] 对象的 pinnedRecord 参数固定坐席的当前交互记录。这意味着它会出现在 客户卡 的“当前交互”部分中,以便于访问。


DYNAMIC create[Record]
create[Record].subject="{CONTACTID}-{SKLNAME}"
create[Record].phoneNumber="{ANI}"
create[Record].directionCode="incoming"
create[Record].pinnedRecord="true" // set as true for pinning this record in the CXone Agent app, string variable

DYNAMIC create[Record]Payload
create[Record]Payload.workflowInput=create[Record]

ASSIGN create[Record]Json= "{create[Record]Payload.asjson()}"			
			

Workflow Response

此操作传递第一个 CustomEvent 操作所需的信息。

Snippet 中的代码将联系人 ID 添加到在 Workflow Execute 操作的 resultSet (out) 属性中设置的变量。它还创建一个变量来保存从 CRM 以 JSON 格式返回的工作流结果。


// WorkflowResult Out parameter from workflow execute action
workflowResultSet.contactId = "{ContactID}"
ASSIGN searchWorkflowOutputJson = "{workflowResultSet.asjson()}"