CXone Agent Embedded配置 Oracle工作流程

這是Oracle中設定CXone Agent Embedded的最終一步。

您可以為OracleCXone Agent Embedded 配置搜尋、自訂建立和標準建立工作流程。 這些工作流程搜尋或建立Oracle記錄,也稱為實體或物件。 這是動態資料配對的後端配置。

工作流程類型

描述

工作流程

搜尋 搜尋工作流程掃描 Oracle 以尋找與客服專員處理的互動相關的記錄。 搜尋 ANI
自訂搜尋
自訂建立 自訂建立工作流程可使用標準欄位和自訂欄位建立任何記錄類型。 建立自訂記錄
標準建立 標準建立工作流程使用其標準資料欄位建立標準Oracle記錄。 這些工作流程的 SNIPPET 工作負載必須包含標準欄位和這些欄位。 建立資產
建立聯絡人
建立事件
建立機會
建立組織
建立任務

下載此資料夾的範本指令碼。 其包含Desktop StudioCXone Studio的語音和數位指令碼。

配置搜尋工作流程

有兩個搜尋工作流程:搜尋 ANI自訂搜尋

配置搜尋 ANI 工作流程

搜尋 ANI工作流程使用ACD中的 ANIClosed 也稱為來電顯示。 顯示語音來電的電話號碼。來搜尋符合記錄的所有標準電話欄位。

  1. Studio 中,打開要配置搜尋 ANI 工作流程的指令碼。

  2. 如果還沒有,請在 BEGIN 之後和 Workflow Execute 動作之前新增 SNIPPET 動作

  3. 在指令碼畫布上點擊兩下 SNIPPET 動作。

  4. 複製以下每一行的程式碼並將其貼上到編輯器視窗的「文字視圖」標籤中。

    
    DYNAMIC searchInput
    searchInput.workflowInput.phoneNumber = "{ANI}"
    						
    ASSIGN searchJson = "{searchInput.asjson()}"
    		
  5. 儲存您的指令碼。

  6. 您可以透過 Studio 中模擬互動來測試您的指令碼。

配置自訂搜尋工作流程

自訂搜尋工作流程可讓您搜尋一個或多個Oracle記錄。 它們還允許您搜尋指定記錄中的多個欄位和變數。 您可以使用Oracle運算子連接不同的搜尋要求。

此工作流程支援這些Oracle記錄:

  • 資產

  • 聯絡

  • 事件

  • 機會

  • 組織

  • 任務

  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 = "asset"。 區分大小寫。

  6. 更改 payload.filter 屬性的值。 這確定了記錄的搜尋篩選標準。 例如,payload.filter = "phone='{ANI}'"

    1. [fieldName]改為要用於搜尋的欄位名稱,例如ticketNumber。 區分大小寫。

    2. [operator]更改為您要使用的 Oracle 運算子。 有關 Oracle 運算子的完整清單,請參閱Oracle文件 帶箭頭的框指示導覽至外部網站。。 區分大小寫。

    3. {variable}變更為要指派給該欄位的變數。 區分大小寫。

  7. 若要新增其他搜尋篩選器,請在篩選器之間使用Oracle運算子。 範例:

    
    payload.filter = "phone='{ANI}'AND customer_number_c='{CustomerNumber}'"
    		
  8. 儲存您的指令碼。

  9. 您可以透過 Studio 中模擬互動來測試您的指令碼。

配置自訂建立工作流程

自訂建立工作流程可讓您配置 SNIPPET 工作負載以建立任何類型的Oracle記錄(標準或自訂)。 它們還允許您填充任何欄位類型(標準或自訂)。 例如,您可以使用該記錄類型的一些標準欄位以及您自己的自訂欄位建立資產記錄。

這是建立Oracle記錄的建議方法。

配置建立自訂記錄工作流程(先前建立實體)

建立自訂記錄工作流程建立任何類型的Oracle記錄(標準或自訂)。 此記錄可以顯示標準和自訂資料欄位。 欄位必須包含文字、數字或變數。 綁定欄位通常由搜尋結果或選項清單填入,但您可以配置此工作流程以將硬編碼資料新增至綁定欄位。

如果您使用舊版本的此工作流程,稱為建立實體工作流程,您需要在Studio指令碼中配置兩個額外的動作:一個SNIPPET名為傳送工作流程回應 Snippet和一個CUSTOMEVENT名為傳送工作流程回應。 為Desktop Studio使用此範本指令碼或為CXone Studio使用此範本指令碼

  1. Studio中,打開要在其中配置建立自訂記錄工作流程的指令碼。

  2. 如果還沒有,請在 ONANSWERONASSIGNMENT 之後新增 SNIPPET 動作

  3. 在指令碼畫布上點擊兩下 SNIPPET 動作。

  4. 複製以下每一行的程式碼並將其貼上到編輯器視窗的「文字視圖」標籤中。

    
    DYNAMIC createPayload
    DYNAMIC createDataArray
    						
    DYNAMIC item1
    item1.field = "subject"
    item1.value = "New Record - {CONTACTID}"
    DYNAMIC item2
    item2.field = "phonenumber"
    item2.value = "{ANI}"
    DYNAMIC item3
    item3.field = "new_contactid"
    item3.value = "{CONTACTID}"
    						
    createPayload.entity = "incident"
    		ASSIGN createDataArray[1] = item1
    		ASSIGN createDataArray[2] = item2
    		ASSIGN createDataArray[3] = item3
    CreatePayload.data = createDataArray
    
    createPayload.pinnedRecord = "[true or false]"
    createPayload.screenPop = "[true or false]"
    						
    DYNAMIC create[RecordName]Payload
    create[RecordName]Payload.workflowInput = createPayload
    						
    ASSIGN create[RecordName]Json = "{create[RecordName]Payload.asjson()}"
    		
  5. 新增其他欄位:

    1. item3.value = "{CONTACTID}" 下建立其他動態資料物件。 遵循此格式:

      
      DYNAMIC item#
      item#.field = "[fieldname]"
      item#.value = "{variable}"
      		
    2. 然後在 createPayload.entity = "incident" 下建立其他資料陣列。 遵循此格式:

      
      ASSIGN createDataArray[#] = item#
      		

      每向陣列中新增一個項目,編號 (#) 就要遞增一個。

  6. createPayload.pinnedRecord屬性的值變更為truefalse。 當設定為true時,已建立的記錄在客戶卡的當前互動部分中向客服專員顯示。 當設定為false時,這些記錄顯示在客戶卡的最近互動部分。 如果您不在工作負載中包含此屬性,它將被假定為false
  7. createPayload.screenPop屬性的值變更為truefalse。 當設定為 true 時,已建立的記錄會在 Oracle中,以畫面跳出的方式自動向客服專員顯示。 當設定為 false 時,不會顯示。 如果您不在工作負載中包含此屬性,它將被假定為false
  8. 將代碼最後三行中的[RecordName]的所有實例變更為您建立的記錄的名稱。 大寫名稱以符合屬性的大小寫形式。 例如,如果您建立的記錄的名稱是incident,您的代碼將為:

    
    DYNAMIC createIncidentPayload
    createIncidentPayload.workflowInput = createPayload
    						
    ASSIGN createIncidentJson = "{createIncidentPayload.asjson()}"
    		
  9. 儲存您的指令碼。

  10. 您可以透過 Studio 中模擬互動來測試您的指令碼。

配置標準建立工作流程

標準建立工作流程建立標準Oracle記錄。 客服專員可以使用CXone Agent Embedded中的客戶卡在互動期間手動建立新的Oracle記錄。 如果他們選擇其中一個工作流程,則會使用該工作流程的工作負載中指定的欄位建立記錄。

您無法在標準建立工作流程的 SNIPPET 工作負載中新增或刪除欄位。 如果新增或刪除欄位,則不會建立記錄。 若要建立包含所需欄位的標準或自訂記錄,請使用建立自訂記錄工作流程

配置建立資產工作流程

  1. Studio 中,打開要在其中配置 建立資產工作流程的指令碼。

  2. 如果還沒有,請在 BEGIN 之後和 Workflow Execute 動作之前新增 SNIPPET 動作

  3. 在指令碼畫布上點擊兩下 SNIPPET 動作。

  4. 複製以下每一行的程式碼並將其貼上到編輯器視窗的「文字視圖」標籤中。

    
    DYNAMIC createPayload
    createPayload.table="assets"
    createPayload.data.name ="[asset name]"
    createPayload.data.serialNumber ="[serial number]"
    createPayload.data.contact.id = "[contact ID number]"
    DYNAMIC product1
    product1.lookupName = "[product name]"
    DYNAMIC productArr
    productArr[1] = product1
    createPayload.data.product = productArr
    						
    createPayload.pinnedRecord = "[true or false]"
    createPayload.screenPop = "[true or false]"
    
    DYNAMIC createAssetsPayload
    createAssetsPayload.workflowInput=createPayload
    ASSIGN createAssetJson="{createAssetsPayload.asjson()}"
    		

    您必須包含這些代碼中的每一行。 如果希望欄位保持空白,可以使用 null 值 ("")。 例如,createPayload.data.contact.id = ""

  5. 更改屬性值。 這些值可以是硬編碼、變數或這些的組合。 如果希望每次互動都更新值,請使用變數。

    1. createPayload.data.name 屬性的值更改為資產名稱。 例如,createPayload.data.name = "Asset 2"

    2. createPayload.data.serialNumber 屬性的值更改為產品序號。 例如,createPayload.data.serialNumber = "SN0002301-2"

    3. createPayload.data.contact.id 屬性的值更改為聯絡人的 ID 號。 例如,createPayload.data.contact.id = "1234567890"

    4. product1.lookupName 屬性的值更改為產品名稱。 例如,product1.lookupName = "Smart Thermostat Z"

  6. createPayload.pinnedRecord屬性的值變更為truefalse。 當設定為true時,已建立的記錄在客戶卡的當前互動部分中向客服專員顯示。 當設定為false時,這些記錄顯示在客戶卡的最近互動部分。 如果您不在工作負載中包含此屬性,它將被假定為false
  7. createPayload.screenPop屬性的值變更為truefalse。 當設定為 true 時,已建立的記錄會在 Oracle中,以畫面跳出的方式自動向客服專員顯示。 當設定為 false 時,不會顯示。 如果您不在工作負載中包含此屬性,它將被假定為false
  8. 儲存您的指令碼。

  9. 您可以透過 Studio 中模擬互動來測試您的指令碼。

配置建立聯絡人工作流程

  1. Studio 中,打開要在其中配置建立聯絡人工作流程的指令碼。

  2. 如果還沒有,請在 BEGIN 之後和 Workflow Execute 動作之前新增 SNIPPET 動作

  3. 在指令碼畫布上點擊兩下 SNIPPET 動作。

  4. 複製以下每一行的程式碼並將其貼上到編輯器視窗的「文字視圖」標籤中。

    
    DYNAMIC createContact
    createContact.phoneNumber = "{ANI}"
    createContact.firstName = "[first name]"
    createContact.lastName = "[last name]"
    createContact.email = "[email address]"
    						
    createContact.pinnedRecord = "[true or false]"
    createContact.screenPop = "[true or false]"
    
    DYNAMIC createContactPayload
    createContactPayload.workflowInput = createContact
    						
    ASSIGN createContactJson = "{createContactPayload.asjson()}"
    		

    您必須包含這些代碼中的每一行。 如果希望欄位保持空白,可以使用 null 值 ("")。 例如,createContact.email = ""

  5. createContact.firstName 屬性的值更改為聯絡人的名。 例如,createContact.firstName = "Elinor"。 該值可以是硬編碼,也可以是變數,還可以是這些值的組合。 如果希望每次互動都更新此值,請使用變數。

  6. createContact.lastName 屬性的值更改為聯絡人的姓。 例如,createContact.lastName = "Dashwood"。 該值可以是硬編碼,也可以是變數,還可以是這些值的組合。 如果希望每次互動都更新此值,請使用變數。

  7. createContact.email 屬性的值更改為聯絡人的電郵位址。 例如,createContact.email = "elinor.dashwood@classics.com"。 該值可以是硬編碼,也可以是變數,還可以是這些值的組合。 如果希望每次互動都更新此值,請使用變數。

  8. createContact.pinnedRecord屬性的值變更為truefalse。 當設定為true時,已建立的記錄在客戶卡的當前互動部分中向客服專員顯示。 當設定為false時,這些記錄顯示在客戶卡的最近互動部分。 如果您不在工作負載中包含此屬性,它將被假定為false
  9. createContact.screenPop屬性的值變更為truefalse。 當設定為 true 時,已建立的記錄會在 Oracle中,以畫面跳出的方式自動向客服專員顯示。 當設定為 false 時,不會顯示。 如果您不在工作負載中包含此屬性,它將被假定為false
  10. 儲存您的指令碼。

  11. 您可以透過 Studio 中模擬互動來測試您的指令碼。

配置建立事件工作流程

  1. Studio 中,打開要在其中配置建立事件工作流程的指令碼。

  2. 如果還沒有,請在 BEGIN 之後和 Workflow Execute 動作之前新增 SNIPPET 動作

  3. 在指令碼畫布上點擊兩下 SNIPPET 動作。

  4. 複製以下每一行的程式碼並將其貼上到編輯器視窗的「文字視圖」標籤中。

    
    DYNAMIC createIncident
    createIncident.subject = "[Incident Name]"
    createIncident.primaryContactID = "{CONTACTID}"
    						
    createIncident.pinnedRecord = "[true or false]"
    createIncident.screenPop = "[true or false]"
    
    DYNAMIC createIncidentPayload
    createIncidentPayload.workflowInput = createIncident
    						
    ASSIGN createIncidentJson = "{createIncidentPayload.asjson()}"
    		

    您必須包含這些代碼中的每一行。 如果希望欄位保持空白,可以使用 null 值 ("")。 例如,createIncident.primaryContactID = ""

  5. createIncident.subject 屬性的值改為事件名稱。 例如,createIncident.subject = "Elinor's Incident"。 該值可以是硬編碼,也可以是變數,還可以是這些值的組合。 如果希望每次互動都更新此值,請使用變數。

  6. createIncident.pinnedRecord屬性的值變更為truefalse。 當設定為true時,已建立的記錄在客戶卡的當前互動部分中向客服專員顯示。 當設定為false時,這些記錄顯示在客戶卡的最近互動部分。 如果您不在工作負載中包含此屬性,它將被假定為false
  7. createIncident.screenPop屬性的值變更為truefalse。 當設定為 true 時,已建立的記錄會在 Oracle中,以畫面跳出的方式自動向客服專員顯示。 當設定為 false 時,不會顯示。 如果您不在工作負載中包含此屬性,它將被假定為false
  8. 儲存您的指令碼。

  9. 您可以透過 Studio 中模擬互動來測試您的指令碼。

配置建立機會工作流程

  1. Studio中,打開要在其中配置建立機會工作流程的指令碼。

  2. 如果還沒有,請在 BEGIN 之後和 Workflow Execute 動作之前新增 SNIPPET 動作

  3. 在指令碼畫布上點擊兩下 SNIPPET 動作。

  4. 複製以下每一行的程式碼並將其貼上到編輯器視窗的「文字視圖」標籤中。

    
    DYNAMIC createOpportunity
    createOpportunity.subject = "[Opportunity Name]"
    createOpportunity.primaryContactID = "{CONTACTID}"
    						
    createOpportunity.pinnedRecord = "[true or false]"\
    createOpportunity.screenPop = "[true or false]"
    
    DYNAMIC createOpportunityPayload
    createOpportunityPayload.workflowInput = createOpportunity
    						
    ASSIGN createOpportunityJson = "{createOpportunityPayload.asjson()}"
    		

    您必須包含這些代碼中的每一行。 如果希望欄位保持空白,可以使用 null 值 ("")。 例如,createOpportunity.primaryContactID = ""

  5. createOpportunity.subject 屬性的值改為機會名稱。 例如,createOpportunity.subject = "Elinor's Opportunity"。 該值可以是硬編碼,也可以是變數,還可以是這些值的組合。 如果希望每次互動都更新此值,請使用變數。

  6. createOpportunity.pinnedRecord屬性的值變更為truefalse。 當設定為true時,已建立的記錄在客戶卡的當前互動部分中向客服專員顯示。 當設定為false時,這些記錄顯示在客戶卡的最近互動部分。 如果您不在工作負載中包含此屬性,它將被假定為false
  7. createOpportunity.screenPop屬性的值變更為truefalse。 當設定為 true 時,已建立的記錄會在 Oracle中,以畫面跳出的方式自動向客服專員顯示。 當設定為 false 時,不會顯示。 如果您不在工作負載中包含此屬性,它將被假定為false
  8. 儲存您的指令碼。

  9. 您可以透過 Studio 中模擬互動來測試您的指令碼。

配置建立組織工作流程

  1. Studio 中,打開要在其中配置建立組織工作流程的指令碼。

  2. 如果還沒有,請在 BEGIN 之後和 Workflow Execute 動作之前新增 SNIPPET 動作

  3. 在指令碼畫布上點擊兩下 SNIPPET 動作。

  4. 複製以下每一行的程式碼並將其貼上到編輯器視窗的「文字視圖」標籤中。

    
    DYNAMIC createOrganization
    createOrganization.name = "[Organization Name]"
    						
    createOrganization.pinnedRecord = "[true or false]"
    createOrganization.screenPop = "[true or false]"
    
    DYNAMIC createOrganizationPayload
    createOrganizationPayload.workflowInput = createOrganization
    						
    ASSIGN createOrganizationJson = "{createOrganizationPayload.asjson()}"
    		

    您必須包含這些代碼中的每一行。 如果希望欄位保持空白,可以使用 null 值 ("")。 例如,createContact.email = ""

  5. createOrganization.name 屬性的值改為組織名稱。 例如,createOrganization.name = "Elinor's Organization"。 該值可以是硬編碼,也可以是變數,還可以是這些值的組合。 如果希望每次互動都更新此值,請使用變數。

  6. createOrganization.pinnedRecord屬性的值變更為truefalse。 當設定為true時,已建立的記錄在客戶卡的當前互動部分中向客服專員顯示。 當設定為false時,這些記錄顯示在客戶卡的最近互動部分。 如果您不在工作負載中包含此屬性,它將被假定為false
  7. createOrganization.screenPop屬性的值變更為truefalse。 當設定為 true 時,已建立的記錄會在 Oracle中,以畫面跳出的方式自動向客服專員顯示。 當設定為 false 時,不會顯示。 如果您不在工作負載中包含此屬性,它將被假定為false
  8. 儲存您的指令碼。

  9. 您可以透過 Studio 中模擬互動來測試您的指令碼。

配置建立任務工作流程

  1. Studio 中,打開要在其中配置建立任務工作流程的指令碼。

  2. 如果還沒有,請在 BEGIN 之後和 Workflow Execute 動作之前新增 SNIPPET 動作

  3. 在指令碼畫布上點擊兩下 SNIPPET 動作。

  4. 複製以下每一行的程式碼並將其貼上到編輯器視窗的「文字視圖」標籤中。

    
    DYNAMIC createPayload
    createPayload.table="tasks"
    createPayload.data.name ="[task name]"
    createPayload.data.notes.text ="[notes for task]"
    createPayload.data.statusWithType.status.lookupName = "[Not Started, In Progress, Completed, Waiting, or Deferred]"
    createPayload.data.percentComplete = [#]
    createPayload.data.priority.id = [1, 2, or 3]
    createPayload.data.organization.id = [#]
    						
    createPayload.pinnedRecord = "[true or false]"
    createPayload.screenPop = "[true or false]"
    
    DYNAMIC createTasksPayload
    createTasksPayload.workflowInput=createPayload
    ASSIGN createTaskJson="{createTasksPayload.asjson()}"
    
    		

    您必須包含這些代碼中的每一行。 如果希望欄位保持空白,可以使用 null 值 ("")。 例如,createPayload.data.notes.text = ""

  5. 更改屬性值。 這些值可以是硬編碼、變數或這些的組合。 如果希望每次互動都更新值,請使用變數。

    1. createPayload.data.name 屬性的值更改為任務名稱。 例如,createPayload.data.name = "Task 2"

    2. createPayload.data.notes.text 屬性的值更改為任務注釋。 例如,createPayload.data.notes.text = "This is a test task"

    3. createPayload.data.statusWithType.status.lookupName 屬性的值更改為任務的狀態:Not StartedIn ProgressCompletedWaitingDeferred。 例如,createPayload.data.statusWithType.status.lookupName = "In Progress"

    4. createPayload.data.percentComplete 屬性的值改為任務的完成百分比,去掉百分號 (%)。 例如,createPayload.data.percentComplete = 80表示任務已完成 80%。

    5. createPayload.data.priority.id 屬性的值改為任務優先次序:

      • 1:低

      • 2:正常

      • 3:高

      例如,createPayload.data.priority.id = 1表示任務低優先次序。

    6. createPayload.data.organization.id 屬性的值改為任務所屬組織的 ID 號。 例如, createPayload.data.organization.id = 18

  6. createPayload.pinnedRecord屬性的值變更為truefalse。 當設定為true時,已建立的記錄在客戶卡的當前互動部分中向客服專員顯示。 當設定為false時,這些記錄顯示在客戶卡的最近互動部分。 如果您不在工作負載中包含此屬性,它將被假定為false
  7. createPayload.screenPop屬性的值變更為truefalse。 當設定為 true 時,已建立的記錄會在 Oracle中,以畫面跳出的方式自動向客服專員顯示。 當設定為 false 時,不會顯示。 如果您不在工作負載中包含此屬性,它將被假定為false
  8. 儲存您的指令碼。

  9. 您可以透過 Studio 中模擬互動來測試您的指令碼。

固定記錄

您可以將記錄固定在客戶卡的目前互動部分。 當固定記錄時,預設會連結 一個剔選符號在綠色方框中的圖示。 做為資料記憶化和時間線。 這表示當互動完成時,資料記憶化和時間線資訊將會新增 Oracle 記錄中。 如果客服專員不想配對資訊、他們可以取消連結記錄

  1. 打開指令碼中的Snippet for Create Workflow SNIPPET動作。

  2. 在工作流程工作負載中,複製這行代碼並貼在DYNAMIC create[RecordType]Payload前:

    						
    createPayload.pinnedRecord = "true"					
    		

    確保createPayload與工作流程中較早的行相符。

  3. 儲存您的指令碼。

配置螢幕彈出畫面的記錄

您可以將建立的記錄配置為在Oracle中自動顯示為螢幕彈出畫面。

  1. 打開指令碼中的Snippet for Create Workflow SNIPPET動作。

  2. 在工作流程工作負載中,複製這行代碼並貼在前:

    						
    createPayload.screenPop = "true"				
    		

    確保createPayload與工作流程中較早的行相符。 例如,如果您使用標準建立聯絡工作流程,這一行應該是 createContact.screenPop = "true"

  3. 儲存您的指令碼。