先決條件

目前,此功能僅適用於代理。

在您將 Webex Contact Center 與 ServiceNow CRM 主控台整合之前,請確保您具備下列各項:

請遵循以下兩種方法之一:

對於開發人員實例,我們建議按照開發人員實例指南中的步驟操作。

如果您擁有企業許可實例,請遵循企業許可實例的準則。

我們不建議將企業許可的應用與開發人員沙盒實例混合使用。

以下部分介紹了為開發人員實例安裝 ServiceNow 連接器的步驟。

1

登錄到您的 ServiceNow 開發人員門戶帳戶並 打開管理 控制台。

2

在帳戶功能表的我的 實例 區域 中,單擊 開始構建

突出顯示「開始構建」按鈕的 ServiceNow 開發人員門戶螢幕截圖。

3

在開發人員實例上,從視窗左上角的 篩選器導航器 欄位中,導航到 外掛程式

ServiceNow 開發人員實例顯示對「外掛程式」篩選器導航器的搜索。

4

搜索標題 為 Openframe 的 Openframe 外掛程式。 您可能需要捲動清單。

“應用程式”螢幕上的 ServiceNow 開發人員實例,顯示“OpenFrame”的搜索和結果。

5

按兩下 安裝 以安裝 Openframe 外掛程式。

6

在“啟動外掛程式 ”對話框中,按兩下 “啟動”。

ServiceNow 開發人員實例顯示 OpenFrame 外掛程式彈出視窗,並突出顯示“啟動”按鈕。

7

外掛程式啟動完成後,按兩下 外掛程式啟動 對話框中的關閉並重新載入表單

顯示 OpenFrame 外掛程式啟動載入的 ServiceNow 開發人員實例。

ServiceNow 開發人員實例顯示 OpenFrame 外掛程式啟動成功視窗,並突出顯示「關閉並重新載入表單」按鈕。

8

要驗證外掛程式啟動,請從視窗左上角的 過濾器導航器 欄位中導航到 OpenFrame

9

單擊 配置 並確保 OpenFrame 外掛程式出現在 OpenFrame 配置 清單中。

在過濾器導航器搜尋中顯示 OpenFrame 組態的 ServiceNow 開發人員實例。

1

下載 github 儲存庫上提供的最新系統更新集 XML 檔: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow

檔案名稱:webexcc-servicenow-update-setV (X).xml

Webex Contact Center CRM 集成的 Github 儲存庫螢幕截圖–ServiceNow。

2

在 ServiceNow 實例上,從視窗左上角的「 篩選器導航器 」欄位中,導航到 “系統更新集 ”> “要提交的更新集”。

ServiceNow 開發人員實例顯示篩選器導航器中突出顯示的“全部”選項卡上的“更新集”和“更新集以提交”選項的搜索。

3

按兩下從 XML 導入更新集連結。

“更新集”結果頁上的 ServiceNow 開發人員實例,突出顯示“相關連結:從 XML 導入更新集”。

4

單擊“ 選擇檔”,選擇“系統更新集”XML 檔,然後按兩下“上傳”

ServiceNow 開發人員實例導入 XML 螢幕。

ServiceNow 開發人員門戶檢索到的更新集清單。

更新集將顯示在 「檢索到的更新集 」清單中,並且處於 「已載入」 狀態。
5

從「 檢索到的更新集 」清單中,按兩下更新集檔名 (連結) 以打開更新集。

ServiceNow 開發人員門戶檢索了更新檔的更新集清單。

6

在視窗的右上角,按兩下 預覽更新集 以檢查更新集是否存在問題。

ServiceNow 開發人員門戶檢索更新檔的更新集清單,並突出顯示「預覽更新集」按鈕。

7

預覽完成後,按兩下 更新集預覽對話框中的關閉

具有更新集預覽成功通知的 ServiceNow 開發人員門戶。

8

按兩下 提交更新集

ServiceNow 開發人員門戶檢索了更新檔的更新集清單,並突出顯示了“提交更新集”按鈕。

9

完成更新集提交後,按兩下「 更新集提交 」對話框中的「關閉 」。

具有更新集提交成功通知的 ServiceNow 開發人員門戶。

1

在視窗左上角的「過濾器導航器 」欄位中,鍵入 sys_properties.list 並按 Enter 鍵。

ServiceNow 開發人員實例,在篩選器導航器中的“全部”選項卡上顯示“sys_properties.list”的搜索

2

在「 系統屬性 」頁上,按更新日期對屬性進行排序。 確保您可以看到以下 Webex Contact Center 屬性:

ServiceNow 開發人員實例系統屬性頁。

3

按兩下 agentdesktop_url 以打開「 系統屬性 agentdesktop_url 」頁。

4

在值 欄位 中,根據營運區域輸入 Webex Contact Center Desktop 的 URL。

agentdesktop_url 的 ServiceNow 開發人員實例系統屬性詳細資訊。

5

按一下 「更新」 以儲存變更。

6

(選用)若要更改“活動”表名稱,請根據需要編輯 webexccactivitytable 屬性。

在「系統屬性 」頁上,按一下 webexccactivitytable

視需要變更「 」欄位。

Webexactivitytable 的 ServiceNow 開發人員實例系統屬性詳細資訊。

7

(選用)透過以下方式新增使用者群組:

  1. 在視窗左上角的「過濾器導航器 」欄位中,導航到 「系統安全性」下的「組 」。

    ServiceNow developer instance filter navigator search for ‘Groups’ under ‘System Security’
  2. 建立新的使用者群組或使用現有的使用者群組。

    WebexccAgentsGroup 的 ServiceNow 開發者實例群組頁面。

  3. 按一下編輯

  4. 在「集合」 搜索 sn_openframe_user ,並將其移動到您的使用者組。

    ServiceNow 開發人員實例組編輯成員頁面顯示對集合的搜索。

    ServiceNow 開發人員實例組編輯成員頁面顯示移動到角色清單中的集合。

  5. 按一下儲存

  6. 將使用者新增為群組成員。

    分配了使用者角色的 ServiceNow 開發人員實例組頁面。

1

從過濾器導航器 欄位中,導航到 OpenFrame > Configurations

ServiceNow 開發人員實例在搜索欄位中使用“openframe”篩選導航器,並在結果中突出顯示“OpenFrame”下的“配置”。

2

按一下新增

ServiceNow 開發人員實例 OpenFrame 配置頁面,突出顯示“新建”。

3

輸入 URL 的下列屬性:

  • 名稱:Webex Contact Center Desktop

  • 標題:Webex 聯絡中心

  • 寬度:550 (推薦)

  • 身高:600 (推薦)

4

在 URL 欄位的 右側,點按 鎖定 按鈕,然後添加 agentdesktop.do 作為 URL。 (執行此步驟以將配置指向 UI 頁面)

ServiceNow 開發人員實例 OpenFrame 配置–突出顯示鎖定圖示的新記錄頁面。

5

(選用)選取要指定組態的使用者/代理群組。

ServiceNow 開發人員實例 OpenFrame 配置–新記錄使用者組選擇。

6

按一下遞交。 URL 即會顯示為連結。

ServiceNow 開發人員實例 OpenFrame 配置–顯示提交使用者組選擇後顯示的 URL 連結的新記錄頁面。

7

在您嘗試使用 OpenFrame 電話之前,請確定您已將 ServiceNow 自訂桌面配置 JSON 檔案上載至 Webex Contact Center Management Portal。 有關詳細資訊,請參閱 在 Webex Contact Center 上設定 ServiceNow 桌面佈局。

1

請從 https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow 下載 ServiceNow 的桌面版面配置。

Webex Contact Center CRM 整合 - 桌面佈局 - ServiceNow 的 Github 螢幕。

2

如果需要,更新桌面佈局檔中的屬性。

3

前往 Webex Contact Center Management Portal。

4

從 Management Portal 導航欄中,選擇 “置備 > 桌面佈局”。

Webex 左側導覽中反白顯示桌面配置的 Contact Center Management Portal 配置頁面。

5

按下 新建佈局 並輸入桌面佈局的詳細資訊。

6

上傳 ServiceNow 桌面配置 JSON 檔案。

7

按一下 儲存 ,以儲存組態。

您現在可以在 ServiceNow 控制台中啟動 Webex Contact Center Desktop。

8

從篩選器導航器 欄位中,導航到 服務操作工作區

含有 Webex Contact Center 的 ServiceNow 首頁 Agent Desktop 與 ServiceNow 整合。

以下部分介紹為許可的企業實例安裝 ServiceNow 連接器的步驟。

1

登錄到您的 ServiceNow 開發人員門戶帳戶並 打開管理 控制台。

2

在帳戶功能表的我的 實例 區域 中,單擊 開始構建

突出顯示「開始構建」按鈕的 ServiceNow 開發人員門戶螢幕截圖。

3

在開發人員實例上,從視窗左上角的 篩選器導航器 欄位中,導航到 外掛程式

ServiceNow 開發人員實例顯示對「外掛程式」篩選器導航器的搜索。

4

搜索標題 為 Openframe 的 Openframe 外掛程式。 您可能需要捲動清單。

“應用程式”螢幕上的 ServiceNow 開發人員實例,顯示“OpenFrame”的搜索和結果。

5

按兩下 安裝 以安裝 Openframe 外掛程式。

6

在“啟動外掛程式 ”對話框中,按兩下 “啟動”。

ServiceNow 開發人員實例顯示 OpenFrame 外掛程式彈出視窗,並突出顯示“啟動”按鈕。

7

外掛程式啟動完成後,按兩下 外掛程式啟動 對話框中的關閉並重新載入表單

顯示 OpenFrame 外掛程式啟動載入的 ServiceNow 開發人員實例。

ServiceNow 開發人員實例顯示 OpenFrame 外掛程式啟動成功視窗,並突出顯示「關閉並重新載入表單」按鈕。

8

要驗證外掛程式啟動,請從視窗左上角的 過濾器導航器 欄位中導航到 OpenFrame

9

單擊 配置 並確保 OpenFrame 外掛程式出現在 OpenFrame 配置 清單中。

在過濾器導航器搜尋中顯示 OpenFrame 組態的 ServiceNow 開發人員實例。

1

在視窗左上角的「過濾器導航器 」欄位中,輸入 sys_properties.list

ServiceNow 開發人員實例,在篩選器導航器中的“全部”選項卡上顯示“sys_properties.list”的搜索

2

在「 系統屬性 」頁上,按更新日期對屬性進行排序。 確保您可以看到以下 Webex Contact Center 屬性:

ServiceNow 開發人員實例系統屬性頁結果。

3

按兩下 agentdesktop_url 以打開「 系統屬性 agentdesktop_url 」頁。

4

在值 欄位 中,根據營運區域輸入 Webex Contact Center Desktop 的 URL。

agentdesktop_url 的 ServiceNow 開發人員實例系統屬性詳細資訊頁面。

5

按一下 「更新」 以儲存變更。

6

(選用)若要更改活動表名稱,請根據需要編輯 x_caci_webexcc.webexccactivitytable 屬性。

  1. 在「 系統屬性 」頁上,按一下 x_caci_webexcc.webexccactivitytable

    x_caci_webexcc.webexccactivitytable 的 ServiceNow 開發人員實例系統屬性頁面結果。

  2. 視需要變更「 」欄位。

    x_caci_webexcc.webexccactivitytable 的 ServiceNow 開發人員實例系統屬性頁。

7

(選用)透過以下方式新增使用者群組:

  1. 在視窗左上角的「過濾器導航器 」欄位中,導航到 「系統安全性 」下的 「組」。

    ServiceNow 開發人員實例為「組」篩選導航器結果。

    Webexccagentsgroup 的 SeviceNow 開發者實例組頁面。

  2. 點選 編輯 並新增以下角色:

    • sn_openframe_user

    • x_caci_webexcc.代理

    • agent_workspace_user

    • x_caci_webexcc.webexcc_imp_activity_user

    • x_caci_webexcc.webex_contact_center

    添加了卷軸的 webexccagentsgroup 的 SeviceNow 開發人員實例組頁面。

1

從過濾器導航器 欄位中,導航到 OpenFrame > Configurations

ServiceNow 開發人員實例在搜索欄位中使用“openframe”篩選導航器,並在結果中突出顯示“OpenFrame”下的“配置”。

2

按一下新增

ServiceNow 開發人員實例 OpenFrame 配置頁面,突出顯示“新建”。

3

輸入 URL 的下列屬性:

  • 名稱:Webex Contact Center Desktop

  • 標題:Webex 聯絡中心

  • 寬度:550 (推薦)

  • 身高:600 (推薦)

4

在 URL 欄位的 右側,點按鎖定 按鈕並將 x_caci_webexcc_agentdesktop.do 新增 URL。 (執行此步驟以將配置指向 UI 頁面)

ServiceNow 開發人員實例 OpenFrame 配置–突出顯示鎖定圖示的新記錄頁面。

5

(選用)選取要指定組態的使用者/代理群組。

ServiceNow 開發人員實例 OpenFrame 配置–新記錄使用者組選擇。

6

按一下遞交。 URL 即會顯示為連結。

ServiceNow 開發人員實例 OpenFrame Configurations–添加了 URL 的新記錄。

7

從篩選器導航器 欄位中,導航到 服務操作工作區

含有 Webex Contact Center 的 ServiceNow 首頁 Agent Desktop 與 ServiceNow 整合。

8

(選用)在「 使用者群組 」清單中,將可以存取 Webex Contact Center Desktop 的使用者群組從 「可用 」移至 「已選取」。

9

在您嘗試使用 OpenFrame 電話之前,請確定您已將 ServiceNow 自訂桌面配置 JSON 檔案上載至 Webex Contact Center Management Portal。 有關詳細資訊,請參閱 在 Webex Contact Center 上設定 ServiceNow 桌面佈局。

1

https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow 下載 ServiceNow 的桌面版面配置。

Webex Contact Center CRM 整合 - 桌面佈局 - ServiceNow 的 Github 螢幕。

2

如果需要,更新桌面佈局檔中的屬性。

3

前往 Webex Contact Center Management Portal。

4

從 Management Portal 導航欄中,選擇 “置備 > 桌面佈局”。

Webex 左側導覽中反白顯示桌面配置的 Contact Center Management Portal 配置頁面。

5

按下 新建佈局 並輸入桌面佈局的詳細資訊。

6

上傳 ServiceNow 桌面配置 JSON 檔案。

7

按一下 儲存 ,以儲存組態。

您現在可以在 ServiceNow 控制台中啟動 Webex Contact Center Desktop。

8

從篩選器導航器 欄位中,導航到 服務操作工作區

含有 Webex Contact Center 的 ServiceNow 首頁 Agent Desktop 與 ServiceNow 整合。

1

從篩選器導航器 欄位中,導航到 事件 >打開事件。

2

在來電者欄位上按一下滑鼠右鍵,然後按一下「 設定字典」。

ServiceNow 開發人員實例事件視窗,突出顯示「配置目錄」選項。

3

添加逗號分隔的 屬性“ref_contributions=show_phone,

目錄條目的 ServiceNow 開發人員實例調用事件視窗。

您現在可以在 ServiceNow 控制台中使用 Webex Contact Center Desktop。

4

從篩選器導航器 欄位中,導航到 服務操作工作區

含有 Webex Contact Center 的 ServiceNow 首頁 Agent Desktop 與 ServiceNow 整合。

我們僅支援使用 WebRTC for Salesforce (SFDC) 和 Microsoft Dynamics (MS Dynamics) 連接器登入 Agent Desktop。

Agent Desktop 在 ServiceNow 控制台中

在進行撥出通話之前,請確保執行以下操作:

  • 創建外撥入口點並設置外撥入口點策略。

  • 為代理設定檔啟用撥出 ANI。

  • 將撥出 ANI 設定為撥出號碼到進入點對映。

有關詳細資訊,請參閱 Cisco Webex Contact Center 設置和管理指南 》的 “預配”一章。

從篩選器導航器 欄位中,導航到 服務操作工作區

含有 Webex Contact Center 的 ServiceNow 首頁 Agent Desktop 與 ServiceNow 整合。

有關如何使用桌面的資訊,請參閱 Webex 聯繫中心説明中的代理 選項卡。

概覽

本文介紹了為 ServiceNow CRM 連接器自定義業務規則的幾種方法。 它詳細介紹了如何根據特定於 ServiceNow 的業務規則自定義用例。

客戶必須在 ServiceNow 上自行管理這些用例。 該組態特定於 ServiceNow 而非 Webex Contact Center 軟體或專業知識。

這是説明修改業務規則的參考文檔。 ServiceNow 開發人員將創建和管理業務規則,並提供支援。

Cisco 僅提供範例文件。

以下部分提供了有關如何為開發人員和企業實例設置、啟用和管理操作小組件的詳細資訊。

提交操作小組件的更新集

授權的企業實例方面請自 ServiceNow 商店安裝最新的 Webex Contact Center 應用程式。

要為開發人員實例設置操作小組件,請下載 github 儲存庫上提供的最新系統更新集 XML 檔,網址為: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget。 檔案名稱為 webexcc-servicenow-update-setv7-1-ActionsWidget.xml。 要提交操作小組件的更新集,請參閱提交更新集中 的步驟 2 到 9

開啟動作小組件

使用 isWidgetDisplayEnabled 屬性啟用動作 widget。 您不得在自訂桌面佈局的無頭部分中修改此屬性的值。 該屬性在自定義桌面佈局的無外設部分中始終設置為 false。 應僅在自定義桌面佈局的面板部分中更新屬性的值。

在自訂桌面佈局中啟用「操作」小組件後,可以執行以下操作:

  • 管理活動記錄 - 單擊 「查看/編輯活動記錄 」以查看與呼叫者關聯的活動記錄清單。
  • 關聯 CRM 物件 - 單擊「 關聯到活動記錄 」以將 CRM 物件 (如呼叫類型 (入站或出站)、呼叫物件、呼叫記錄等) 添加到活動記錄中。
  • 管理事件 - 按兩下 建立事件。 將創建一個新事件,並預先填充呼叫者詳細資訊。 可以對事件進行所需的更新。 您可以根據需要選擇從事件到案例、HR 模組等修改記錄類型。 要更改記錄類型,請在操作小組件配置中修改 typeOfRecord 屬性的值 。 例如:
    {“comp”:“md-tab-panel”,“attributes”:{“slot”:“panel”,“class”:“widget-pane”},“children”:[ {“comp”:“agentx-custom-desktop”,“script”:“https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js”,“properties”:{“isWidgetDisplayEnabled”:true,“typeOfRecord”:“Create Incident”},“wrapper”:{“title”:“SNOW Actions!”,“maximizeAreaName”:“app-maximize-area”} } ] }
  • 新增即時通話備註 -- 您可以在文字區域中擷取有關通話的其他資訊並整理通話。 您可以在活動記錄中看到這些作為通話筆記添加的註釋。

服務現在的代碼變更

指令檔包含變更
  1. 移至過濾器導航器並搜尋 指令檔包括.

    選擇「系統 UI」 下的 「腳本包括」。

  2. 過濾名稱 然後搜尋 propUtils.

  3. 變更方法 UserGetSysId 在腳本

    目前:

    UserGetSysId:function(){ var opened_for; var user = new GlideRecord (“sys_user”); user.addQuery (this.getParameter('field'),this.getParameter ('value')); user.query(); if (user.next ()) opened_for=user.sys_id; var grInt = new GlideRecord ('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); 傳回 sysid; },

    事件的新範例代碼:

    UserGetSysId:function(){ var opened_for; //Incident related changes var sysidlist = {}; var user = new GlideRecordSecure (“sys_user”); user.addQuery (this.getParameter('field'),this.getParameter ('value')); user.query(); if (user.next()){ opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure ('incident'); inc.addQuery ('caller_id',opened_for); inc.addQuery ('state','IN','1,2'); inc.orderByDesc ('sys_created_on'); inc.query(); if (inc.next()){ sysidlist.incsysid=inc.getUniqueValue();}else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='phone'; inc.short_description='Call Received from '+ this.getParameter ('value'); sysidlist.incsysid=inc.insert(); } }var grInt = new GlideRecordSecure ('interaction');grInt.initialize();grInt.assigned_to= gs.getUserID();grInt.type= 'phone';grInt.opened_for= opened_for;var sysid=grInt.insert();sysidlist.sysid=sysid;返回 JSON.stringify (sysidlist);},

UI 頁面上的方法變更
  1. 轉到篩選器導航器並搜索 UI 頁面

    選擇 「系統 UI」下的 「UI」

  2. 過濾名稱 然後搜尋 代理桌面.

  3. 變更 螢幕彈出 用戶端腳本 中的函數。

    目前功能:

    screen pop function screenpop (callerani,callSessionInfo){ if (callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes (callerani); } var gaout = new GlideAjax ('propUtils'); gaout.addParam ('sysparm_name','UserGetSysId'); gaout.addParam ('field','phone'); gaout.addParam ('value',callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm ({ entity:'interaction',query:'sys_id='+sysid });

    事件的範例代碼:

    screen pop function screenpop (callerani,callSessionInfo){ if (callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes (callerani); } var gaout = new GlideAjax ('propUtils'); gaout.addParam ('sysparm_name','UserGetSysId'); gaout.addParam ('field','phone'); gaout.addParam ('value',callerani); gaout.getXMLWait(); // For Incident-related change var sysObj = JSON.parse (gaout.getAnswer()); if (sysObj.incsysid){ openFrameAPI.openServiceNowForm ({ entity:'incident',query:'sys_id='+sysObj.incsysid,'interaction_sys_id':sysObj.sysid });}else{ openFrameAPI.openServiceNowForm ({ entity:'incident',query:'sys_id=-1','interaction_sys_id':sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }

如果 CRM 中存在呼叫者資訊,並且此聯繫人已打開新事件,則應用程式將打開進行中事件

如果 CRM 中不存在呼叫者資訊,則應用程式將打開一個新事件

如果 CRM 中存在呼叫者資訊,則應用程式將打開一個包含預填充詳細資訊的新事件

概覽

此用例詳細介紹了向 ServiceNow 表新增額外欄的過程 - webexcc_imp_activity 在安裝 Webex CC for ServiceNow CRM 連接器時建立 sn_openframe_phone_log。

默認情況下,該表包含某些現成的系統欄位和值。

您可以在 WebexCC Flow 設計器中創建更多業務特定變數 (CAD 變數),並將 CAD 變數新增到 ServiceNow 通話後活動日誌中,並將其保存到通話後活動表資料中。

這隻是一個參考文檔 - 並展示了如何對名為「客戶名稱」的示例 CAD 變數執行此操作,該變數將客戶名稱存儲在 IVR 中並將其發佈到 ServiceNow。

預計合作夥伴 + 客戶 ServiceNow 開發人員將配置和管理此配置,因為它是對現有連接器的自定義。

Cisco 僅提供有關如何自訂和擴展連接器的技術。

截至本文,Cisco 團隊已驗證支援使用下述技術將 CAD 變數添加到活動日誌和活動表:

新增欄至 WebexCC IMP 活動

  1. 在 ServiceNow 的開發人員版本中編輯該表。

    ServiceNow 開發人員實例 WebexCC IMP 活動表。

  2. 轉到過濾器導航器並搜索工作室。

    “全部”選項卡上的 ServiceNow 開發人員實例篩選器導航器,篩選器中輸入了“工作室”。

    選取 Webex Contact Center

    用於 ServiceNow 的工作室應用程式,並打開「選擇應用程式」視窗。

    適用於 ServiceNow 的工作室應用程式,打開“選擇應用程式”視窗並選中“選擇要自定義的應用商店”。

    適用於 ServiceNow 的 Studio 應用程式,打開“選擇要自定義的商店應用程式”視窗並選中“Webex Contact Center”。

    附有 Webex Contact Center 應用程式檔案詳細資訊的 Service Now Studio 應用程式。

  3. 選取 WebexCC IMP 活動 桌子

    用於 ServiceNow 的工作室應用程式 WebexCC IMP 活動表。

  4. 新增一欄例如, 客戶名稱

    用於 ServiceNow 的 Studio 應用程式 WebexCC IMP 活動表新欄範例。

    用於 ServiceNow 的 Studio 應用程式 WebexCC IMP 活動表新增了新欄的新欄範例。

新增欄到電話紀錄

  1. 編輯電話日誌表。

    ServiceNow 開發人員實例搜索電話日誌表。

    ServiceNow 開發人員實例電話日誌表。

  2. 新增一欄例如, 客戶名稱.

    ServiceNow 開發人員實例電話日誌表新列示例。

    ServiceNow 開發人員實例電話日誌表添加了新列的新列示例。

WebexCC 活動轉換對應

適用於 ServiceNow WebexCC Activity Transform Map 的工作室應用程式。

新增一欄例如, 客戶名稱 欄位映射。

用於 ServiceNow 的 Studio 應用程式 WebexCC 活動轉換對應 CustomerName 欄位對映的新欄範例。

用於 ServiceNow 的 Studio 應用程式 WebexCC 活動轉換在「目標」欄位中選取 CustomeName 的新欄範例。

個人化清單欄

適用於 ServiceNow 的 Studio 應用程式 WebexCC 活動將帶有快顯視窗的對應圖轉換為個人化清單欄。 選擇操作選項在「已選擇」列中突出顯示。

按照「服務立即」的建議,將“選擇”操作從“創建”更改為“忽略”。

適用於 ServiceNow 的 Studio 應用程式 WebexCC 活動轉換地圖,其中包含“選擇動作”欄,顯示選擇“忽略”或“創建”的下拉式功能表。

適用於 ServiceNow 的 Studio 應用程式 WebexCC 活動轉換映射,其中突出顯示了“選擇操作”列,並在“客戶名稱源”字段中突出顯示了“忽略”。

設定電話紀錄清單

適用於 ServiceNow 的 Studio 應用程式正在設定電話紀錄清單,並在「已選取」欄中反白顯示 CustomerName。

移至文稿包含

僅新增一行 webexcc.u_customername=actInfo.CustomerName 到道具。

ServiceNow 開發人員實例篩選器導航器搜索「腳本包含」。

ServiceNow 開發人員實例「腳本包含」頁。

範例文稿

請參閱以下行: webexcc.u_customername=actInfo.CustomerName; 帶有支持評論。

var propUtils = Class.create();propUtils.prototype = Object.extendsObject (global.AbstractAjaxProcessor,{ getWebexccProp:function(){ var webexccprop = {}; webexccprop.instanceurl= 'https://'+gs.getProperty('instance_name')+'.service-now.com/'; webexccprop.url=gs.getProperty ('x_caci_webexcc.agentdesktop_url'); // webexccprop.popupurl=gs.getProperty ('x_caci_webexcc.screenpop_url'); return JSON.stringify (webexccprop); },UserGetSysId:function(){ var opened_for; var user = new GlideRecord (“sys_user”); user.addQuery (this.getParameter('field'),this.getParameter ('value')); user.query(); if (user.next ()) opened_for=user.sys_id;//返回 user.sys_id;否則 // 傳回空;var grInt = new GlideRecord ('interaction');grInt.initialize();grInt.assigned_to= gs.getUserID();grInt.type= 'phone';grInt.opened_for= opened_for;var sysid=grInt.insert();返回 sysid;},setWebexcctable:function(){ var sys_id=0; var actInfo = JSON.parse (this.getParameter('actInfo'))); var webexcc = new GlideRecordSecure (gs.getProperty('x_caci_webexcc.webexccactivitytable')); webexcc.addQuery (“callobject”,actInfo.CallObject); webexcc.query(); if (!webexcc.next()){ webexcc.ani = actInfo.ani; webexcc.dnis =actInfo.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds;webexcc.ringingtime =actInfo.ringingtime;webexcc.activitydate =actInfo.ActivityDate;webexcc.callobject =actInfo.CallObject;webexcc.calltype =actInfo.CallType;webexcc.calldisposition=actInfo.CallDisposition;添加了此行 - 以在活動日誌中捕獲它 webexcc.u_customername=actInfo.CustomerName;sys_id=webexcc.insert();事件記錄上的活動;var actInfoString =this.getParameter ('actInfo');var suser = new GlideRecordSecure (“sys_user”);suser.addQuery (“phone”,this.getParameter('ani'));suser.query();if (suser.next()){ var inc = new GlideRecordSecure ('incident'); inc.addQuery ('caller_id',suser.sys_id); inc.orderByDesc ('sys_created_on'); inc.query(); if (inc.next()){ var jsonPretty = JSON.stringify (JSON.parse(actInfoString),null,2); inc.comments =jsonPretty; inc.update(); } } }返回 sys_id;},type:'propUtils' });

在 Flow 設計器中建立 CAD 變數

Webex 聯絡中心 CAD 變數設計器,帶有為 CustomerName 新增流量變數快顯視窗。

將 CAD 變數新增到桌面佈局

範例

“CadName1:SnowField1,CadName2:SnowField2”CadName1 是 CustomerName SnowField1 也用作 CustomerName,這是“actInfo.CustomerName”上方的示例 scirpt show 的一部分。

用於將 CAD 變數添加到桌面佈局的原始碼範例。

簡報截圖

在 WebexCC 活動表格中檢視新新增的 CAD 變數。

WebexCC 活動表中新新增的 CAD 變數的 ServiceNow 範例,在 Cisco WebexCC 快顯視窗中顯示「客戶名稱」。

WebexCC 活動表中新添加的 CAD 變數的 ServiceNow 示例,在“活動”和“系統管理員”下的註釋部分中顯示“CustomerName”。

WebexCC 活動表中新新增的 CAD 變數的 ServiceNow 開發人員實例示例,顯示“CustomerName”列。

為 Flow Designer 建立 CAD 變數

事件緊急性

Webex 聯絡中心流程設計器創建 CAD 變數螢幕,其中顯示事件緊急流變數的編輯流變數彈出視窗。

事件影響

Webex 聯絡中心流程設計器創建 CAD 變數螢幕,其中顯示事件緊急流變數的編輯流變數彈出視窗。

立即服務指令碼更新

對文稿的更新包括

  1. 移至篩選器導航器並搜尋 文稿包含

    選擇「系統 UI」 下的 「腳本包含」選項。

    ServiceNow 開發人員實例篩選器導航器搜索“腳本包含”

  2. 使用 propUtils 過濾 名稱

    ServiceNow 開發人員實例腳本包括按「propUtils」篩選的名稱

  3. 變更方法 UserGetSysId 在「腳本 欄位中。

    ServiceNow 開發人員實例腳本包含–propUtils 詳細資訊頁面。

    目前文稿:

    UserGetSysId:function(){ var opened_for; var user = new GlideRecord (“sys_user”); user.addQuery (this.getParameter('field'),this.getParameter ('value')); user.query(); if (user.next ()) opened_for=user.sys_id; var grInt = new GlideRecord ('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); 傳回 sysid; },

    事件的新範例代碼:

    UserGetSysId:function(){ var opened_for; var sysidlist = {}; var user = new GlideRecordSecure (“sys_user”); user.addQuery (this.getParameter('field'),this.getParameter ('value')); user.query(); if (user.next()){ opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure ('incident'); inc.addQuery ('caller_id',opened_for); inc.addQuery ('state','IN','1,2'); inc.orderByDesc ('sys_created_on'); inc.query(); if (inc.next()){ sysidlist.incsysid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='phone'; inc.urgency=this.getParameter ('IncUrgency'); inc.impact=this.getParameter ('Impact'); inc.short_description='Call Received From '+ this.getParameter ('value'); sysidlist.incsysid=inc.insert(); } }var grInt = new GlideRecordSecure ('interaction');grInt.initialize();grInt.assigned_to= gs.getUserID();grInt.type= 'phone';grInt.opened_for= opened_for;var sysid=grInt.insert();sysidlist.sysid=sysid;返回 JSON.stringify (sysidlist);//sysid;},

UI 頁面上的方法變更
  1. 轉到篩選器導航器並搜索 UI 頁面

    選擇「系統 UI」下的 UI 頁面 選項。

    ServiceNow 開發人員實例篩選器導航器搜索“Ui 頁面”

  2. 使用名稱過濾 UI 頁面 並搜尋 代理桌面

    ServiceNow 開發人員實例 UI 頁面名稱篩選器以搜索“代理桌面”

  3. 變更 螢幕彈出 指令檔欄位中的函數。

    ServiceNow 開發人員實例 UI 頁面–代理桌面詳細資訊頁面。

    目前功能:

    screen pop function screenpop (callerani,callSessionInfo){ if (callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes (callerani); } var gaout = new GlideAjax ('propUtils'); gaout.addParam ('sysparm_name','UserGetSysId'); gaout.addParam ('field','phone'); gaout.addParam ('value',callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm ({ entity:'interaction',query:'sys_id='+sysid }); }

    事件的範例代碼:

    螢幕彈出功能 screenpop (callerani,callSessionInfo){ var Impact=3; if (callSessionInfo.callAssociatedData.Impact!= null &&& callSessionInfo.callAssociatedData.Impact!= undefined){ Impact=callSessionInfo.callAssociatedData.Impact.value; } var IncUrgency=3; if (callSessionInfo.callAssociatedData.Urgency!= null &&&; callSessionInfo.callAssociatedData.Urgency!= undefined){ IncUrgency=callSessionInfo.callAssociatedData.Urgency.value; } if (callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes (callerani); } var gaout = new GlideAjax ('propUtils');gaout.addParam ('sysparm_name','UserGetSysId');gaout.addParam ('field','phone');gaout.addParam ('value',callerani);gaout.addParam ('IncUrgency',IncUrgency);gaout.addParam ('Impact',Impact);gaout.getXMLWait();var sysid = gaout.getAnswer();var sysObj = JSON.parse (gaout.getAnswer());if (sysObj.incsysid){ openFrameAPI.openServiceNowForm ({ entity:'incident',query:'sys_id='+sysObj.incsysid,'interaction_sys_id':sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm ({ entity:'incident',query:'sys_id=-1','interaction_sys_id':sysObj.sysid }); } window.localStorage.setItem (“screenpopinteraction”,JSON.stringify(sysObj));}

如果 CRM 中存在呼叫者資訊,並且沒有新的或正在進行的事件,則應用程式將打開一個新事件

事件的 ServiceNow 範例。

互動的 ServiceNow 範例。

變更 ServiceNow 上的代碼

新增欄至 WebexCC IMP 活動 桌子

開啟 WebexCC IMP 活動 桌子

ServiceNow 開發人員實例 WebexCC Activity TransformMap。

ServiceNow 開發人員實例 WebexCC Activity TransformMap 詳細資訊頁面。

新增欄 - 互動次數

ServiceNow 開發者執行個體 WebexCC Activity TransformMap 新欄 InteractionNumber。

ServiceNow 開發者實例 WebexCC Activity TransformMap 詳細資料頁面,顯示新增的「interactionnumber」欄。

新增欄位 - 事件編號

ServiceNow 開發人員實例 WebexCC Activity TransformMap 詳細資料頁面,顯示新增新的「事件編號」欄。

點擊更新

ServiceNow 開發人員實例 WebexCC Activity TransformMap 詳細資訊頁面,顯示編輯 IncidentNumber 列的最大長度。

ServiceNow 開發人員實例 WebexCC Activity TransformMap 詳細資訊頁面,顯示新增的“事件編號”列。

新增欄至 電話記錄 桌子

開啟 電話記錄 桌子

ServiceNow 開發人員實例電話日誌表。

新增欄 - 互動次數

ServiceNow 開發人員實例目錄條目–顯示 InteractionsNumber 新列的“新建記錄”頁面。

添加了“交互數”列的 ServiceNow 開發人員實例“電話日誌”表。

新增欄位 - 事件編號

ServiceNow 開發人員實例目錄條目–顯示事件編號新列的「新建記錄」頁面。

添加了“事件編號”列的 ServiceNow 開發人員實例電話日誌表。

WebexCC 活動轉換對應

開啟 轉換地圖 從過濾器導航器

ServiceNow 開發人員實例篩選器導航器搜索“轉換映射”

ServiceNow 開發人員實例在結果中顯示 WebexCC 活動轉換映射的表轉換映射。

點擊 WebexCC 活動轉換圖

ServiceNow 開發人員實例 WebexCC Activity TransformMap。

新增 - 用於互動號碼對應

ServiceNow 開發者實例 WebexCC Activity TransformMap 將“InteractionNumber”輸入到“目標欄位”中

新增了「InteractionNumber」的 ServiceNow 開發人員實例 WebexCC Activity TransformMap。

新增 - 用於事件編號圖

ServiceNow 開發人員實例 WebexCC Activity TransformMap 將“事件編號”輸入到“目標欄位”中

按一下更新

新增了「事件編號」的 ServiceNow 開發人員實例 WebexCC Activity TransformMap。

對文稿的變更包括

  1. 轉到過濾器導航器並搜索「腳本包含」。

    選擇「系統 UI」 下的 「腳本包括」。

    ServiceNow 開發人員實例篩選器導航器,用於搜索「腳本包含」

  2. 過濾 名稱propUtils.

    ServiceNow 開發人員實例包含名稱的指令檔過濾器應用於搜索,並在搜索欄位中輸入“propUtils”。

  3. 變更方法 設定網路可執行.

    ServiceNow 開發人員實例腳本包括 - propUtils 頁面

    事件的新範例代碼:

    setWebexcctable:function(){ var sys_id=0; var actInfo = JSON.parse (this.getParameter('actInfo')); var webexcc = new GlideRecordSecure (gs.getProperty('webexccactivitytable')); webexcc.addQuery (“u_callobject”,actInfo.CallObject); webexcc.query(); if (!webexcc.next()){ //Activity on Incident record; //var actInfoString =this.getParameter ('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum=“”; var intenum=“”; delete 行為資訊['interaction_sys_id'];刪除行為資訊['incident_sys_id'];if (interactionsysid!= null &&; interactionsysid!= undefined){ var inte = new GlideRecordSecure ('interaction'); //inte.get ('sys_id',interactionsysid); inte.addQuery ('sys_id',interactionsysid); inte.query(); if (inte.next()){ intenum=inte.number; // inte.setValue ('state','Closed Complete'); inte.work_notes='Update State to closed.'; inte.update(); } } } if (incsysid!= null &&; incsysid!= undefined){ var inci = new GlideRecordSecure ('incident'); inci.addQuery ('sys_id',incsysid);inci.query();if (inci.next()){ incnum=inci.number; var jsonPretty = JSON.stringify (actInfo,null,2); //JSON.stringify (JSON.parse(actInfoString),null,2); inci.comments =jsonPretty; inci.update(); } }else{ var suser = new GlideRecordSecure (“sys_user”); suser.addQuery (“phone”,this.getParameter('ani')); suser.query(); if (suser.next()){ var inc = new GlideRecordSecure ('incident'); inc.addQuery ('caller_id',suser.sys_id); inc.addQuery ('state','IN','1,2'); inc.orderByDesc ('sys_created_on'); inc.query(); if (inc.next()){ var jsonPretty = JSON.stringify (actInfo,null,2); inc.comments =jsonPretty; inc.update(); } } } webexcc.u_ani = actInfo.ani;webexcc.u_dnis =actInfo.dnis;webexcc.u_queuename =actInfo.queuename;webexcc.u_wrapuptime =actInfo.wrapuptime;webexcc.u_callduration =actInfo.CallDurationInSeconds;webexcc.u_ringingtime =actInfo.ringingtime;webexcc.u_activitydate =actInfo.ActivityDate;webexcc.u_callobject =actInfo.CallObject;webexcc.u_calltype =actInfo.CallType;webexcc.u_calldisposition=actInfo.CallDisposition;webexcc.u_incidentnumber=incnum;webexcc.u_interactionsnumber=英寸;sys_id=webexcc.insert();} 傳回 sys_id;},

UI 頁面上的方法變更

  1. 移至過濾器導航器並搜尋 UI 頁面

    選擇「系統 UI」下的 UI 頁面 選項。

    ServiceNow 開發人員實例篩選器導航器,用於搜索“Ui 頁面”

  2. 使用 名稱 過濾 UI 頁面並搜尋 代理桌面

    ServiceNow 開發人員實例 UI 頁面,其中“名稱”篩選器應用於搜索。

  3. 變更 Now 活動與螢幕彈出 腳本中的函數。

    ServiceNow 開發人員實例 UI 頁面–代理桌面。

    目前功能:

    function nowActivities (actInfo,ani){ var gaout = new GlideAjax ('propUtils'); gaout.addParam ('sysparm_name','setWebexcctable'); gaout.addParam ('actInfo',JSON.stringify(actInfo)); gaout.addParam ('ani',stripPrefixes(ani)); gaout.getXML (SetCCsysId); }

    事件的範例代碼:

    function nowActivities (actInfo,ani){ var sysObjstr = window.localStorage.getItem (“screenpopinteraction”); if (sysObjstr!= null && sysObjstr!= undefined){ var sysObjjson=JSON.parse (sysObjstr); actInfo.interaction_sys_id=sysObjjson.sysid; actInfo.incident_sys_id=sysObjjson.incsysid; } var gaout = new GlideAjax ('propUtils'); gaout.addParam ('sysparm_name','setWebexcctable'); gaout.addParam ('actInfo',JSON.stringify(actInfo)); gaout.addParam ('ani',stripPrefixes(ani));gaout.getXML (SetCCsysId);} function screenpop (callerani,callSessionInfo){ if (callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes (callerani); } var gaout = new GlideAjax ('propUtils'); gaout.addParam ('sysparm_name','UserGetSysId'); gaout.addParam ('field','phone'); gaout.addParam ('value',callerani); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse (gaout.getAnswer()); if (sysObj.incsysid){ openFrameAPI.openServiceNowForm ({ entity:'incident',query:'sys_id='+sysObj.incsysid,'interaction_sys_id':sysObj.sysid });}else{ openFrameAPI.openServiceNowForm ({ entity:'incident',query:'sys_id=-1','interaction_sys_id':sysObj.sysid }); } window.localStorage.setItem (“screenpopinteraction”,JSON.stringify(sysObj));} 

更新後的結果

ServiceNow 開發人員實例電話日誌頁面。

以下自定義適用於版本 1.0.5 及更低版本。 對於較新版本 1.0.7 及更高版本的自定義,請執行上述步驟。

自訂 # 1 - 為呼叫流用例新增自訂業務規則

為每個呼叫建立新的事件記錄

每當有新通話進入 ServiceNow 中的 WebexCC CRM 連接器時,皆需建立新的事件記錄。

  1. 在篩選器導航器上搜尋業務規則

    ServiceNow developer instance Business Rules page header.
  2. 點撃新增。

    ServiceNow developer instance Business Rule – New Record.

    範例代碼供參考:

    函數 customcti(){ var url = null; var name = sysparm_caller_name; eid = sysparm_caller_id; var phone = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; if (fQuery == null) fQuery = ''; var view = sysparm_view; if (view == null || view == '') view =“itil”; var userID = null; if (eid!= null && eid!= ''){ userID = UserGetSysId (“employee_number”,eid); } if (userID == null && name!= null && name!= ''){ userID = UserGetSysId (“name”,姓名);} if (userID == null && phone!= null && phone!= ''){ userID = UserGetSysId (“phone”,phone); } if (userID!= null){ if (fQuery.length > 0) fQuery +=“ˆ”; fQuery +=“caller_id=”+ userID; } if (url == null){ url =“incident.do?sys_id=-1”; if (fQuery!= null) url +=“&sysparm_query=”+ fQuery; } 答案 = url;返回網址;} 函數 UserGetSysId (field,value){ var user = new GlideRecord (“sys_user”); user.addQuery (field,value); user.query(); if (user.next ()) 傳回 user.sys_id; else return null; }

    商務規則的範例設定

    ServiceNow developer instance Business Rule – CTI Processing For Incident page as a sample configuration of the business rule.
  3. 開啟用戶端可呼叫

    ServiceNow developer instance Business Rules page with the Personalized List Columns popup screen showing ‘Client callable’ in the ‘Selected’ column.

    電腦電話整合 (CTI) 事件 處理標記為 True

    ServiceNow developer instance Business Rules page showing the Client callable column with options to select ‘true’ or ‘false’
  4. 使用自訂 CTI 規則 更新螢幕彈出 url“ cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone=

    System Property page for screenpop_url showing update to the custom CTI rule in the ‘Value’ field.
範例

sysparm_cti_rule=名稱 ,其中“name”是要調用 的函數 名稱 CTI 處理 而不是使用預設腳本。

在標記為 用戶端可調用 的 sys_script 條目中定義函數。

如果必須在函數中插入、更新或刪除任何 GlideRecords,請調用單獨的非用戶端可調用函數來執行更新。

若要使腳本用戶端可調用,必須選中顯示 sys_script 條目時顯示的表單上的用戶端可調用複選框。

默認情況下,用戶端可調用複選框不顯示。 若要查看,必須使用齒輪圖示和雪泥桶機制修改窗體上顯示的欄位。

參考資料

自訂 # 2 - Webex 聯絡中心活動表中新增 CAD 變數

概覽

本文詳細介紹了向 ServiceNow 表添加其他列的過程 - webexcc_activity 在為 ServiceNow CRM 連接器安裝 Webex CC 時創建。

默認情況下,該表包含現成的系統欄位和值。

您可以在 WebexCC Flow 設計器中創建更多特定於業務的變數 (CAD 變數),並將這些 CAD 變數新增到 ServiceNow 通話後活動日誌中,並將其保存到 通話後活動表 資料中。

  • 這隻是參考文檔 - 並展示了如何對名為「客戶名稱」的示例 CAD 變數執行此操作,該變數將客戶名稱存儲在 IVR 中並將其發佈到 ServiceNow。

  • 合作夥伴 + 客戶服務現在開發人員將配置和管理此配置,因為它是對現有連接器的自定義。

  • Cisco 將僅提供有關如何自訂和擴展連接器的技術。

  • 截至本文,思科團隊已驗證支援使用下述技術將 CAD 變數添加到活動日誌和活動表。

新增欄至 WebexCC 活動
  1. 在 ServiceNow 的開發人員版本中編輯該表。

    ServiceNow developer instance Table – WebexCC Activity page.
  2. 前往 Studio > Webex Contact Center

    ServiceNow developer instance filter navigator search for ‘studio’  highlighting the cross launch search result for ‘App Engine Studio’

    App Engine Studio Select Application screen showing Webex Contact Center in the search results.

    App Engine Studio Webex Contact Center screen.

  3. 選擇 「WebexCC 活動 」表格。

    App Engine Studio WebexCC Activity table.
  4. 例如, CustomerName

    App Engine Studio WebexCC Activity table column edit example for ‘CustomerName’ column.

    App Engine Studio WebexCC Activity table screen.

  5. 選擇 WebexCC 活動 的清單佈局

    App Engine Studio WebexCC Activity table list layout showing ‘CustomerName’ highlighted in the ‘Selected’ column.
建立新指令檔包括

如果您使用的是更新集 XML,則不需要此步驟 - 只需將“webexcc.u_customername=actInfo.CustomerName”添加到 propUtils。

ServiceNow developer instance filter navigator search for ‘script includes’

ServiceNow developer instance Script Includes page with ‘Application’ in the filter.

ServiceNow developer instance Script Includes – New Record page.

範例文稿

請參閱以下行:webexcc.u_customername=actInfo.CustomerName; 帶有支持評論。

var propUtils2 = Class.create();propUtils2.prototype = Object.extendsObject (global.AbstractAjaxProcessor,{ getWebexccProp:function(){ var webexccprop = {}; webexccprop.instanceurl= 'https://'+gs.getProperty('instance_name')+'.service-now.com/'; webexccprop.url=gs.getProperty ('x_caci_webexcc.agentdesktop_url'); webexccprop.popupurl=gs.getProperty ('x_caci_webexcc.screenpop_url'); return JSON.stringify (webexccprop); },setWebexcctable:function(){ var sys_id=0; var actInfo = JSON.parse (this.getParameter('actInfo')); var webexcc = new GlideRecordSecure (gs.getProperty('x_caci_webexcc.webexccactivitytable'));webexcc.addQuery (“callobject”,actInfo.CallObject);webexcc.query();if (!webexcc.next()){ webexcc.ani = actInfo.ani; webexcc.dnis =actInfo.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds; webexcc.ringingtime =actInfo.ringingtime; webexcc.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; // 添加了此行 - 以在活動日誌 webexcc 中捕獲它。u_customername=actInfo.CustomerName;sys_id=webexcc.insert();事件記錄上的活動;var actInfoString =this.getParameter ('actInfo');var suser = new GlideRecordSecure (“sys_user”);suser.addQuery (“phone”,this.getParameter('ani'));suser.query();if (suser.next()){ var inc = new GlideRecordSecure ('incident'); inc.addQuery ('caller_id',suser.sys_id); inc.orderByDesc ('sys_created_on'); inc.query(); if (inc.next()){ var jsonPretty = JSON.stringify (JSON.parse(act string),null,2); inc.comments =jsonPretty; inc.update(); } } } }返回 sys_id;},type:'propUtils2' });
使用新文稿名稱編輯 UI 頁面App Engine Studio agentdesktop UI page with new script name.

在 Flow 設計器中建立 CAD 變數Webex Contact Center flow designer with Add Flow Variable popup showing adding a CustomerName variable.

將 CAD 變數新增到桌面佈局Webex Contact Center CAD variable to the desktop layout script with ‘CustomerName:CustomerName’ highlighted.

簡報截圖

在 WebexCC 活動表格中檢視新新增的 CAD 變數。

ServiceNow developer instance showing newly added CAD variable in the WebexCC Activity table.

ServiceNow developer instance WebexCC Activities screen.