先決條件

在將 Webex 聯絡中心與 ServiceNow CRM 控制台整合之前,請確保您具備以下條件:


 

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

對於開發人員實例,我們建議遵循開發人員實例指南中的步驟。

如果您擁有企業授權實例,請遵循企業授權實例的指南。

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

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

1

登入您的 ServiceNow 開發者入口網站帳戶並開啟 管理 控制台。

2

帳戶 選單的 我的實例 區域中,點選 開始建置

3

在您的開發者實例上,從視窗左上角的 過濾器導航器 欄位導覽至 外掛程式

4

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

5

點選 安裝 安裝 Openframe 插件。

6

啟動外掛程式 對話方塊中,點選 啟動

7

插件啟動完成後,點選 關閉&在 外掛程式啟動 對話方塊中重新載入表單

8

要驗證插件激活,請從視窗左上角的 過濾器導航器 字段導航到 OpenFrame

9

點選 設定 並確保 OpenFrame 外掛程式出現在 OpenFrame 設定 清單中。

1

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

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

2

在您的 ServiceNow 實例上,從視窗左上角的 過濾器導航器 欄位導覽至 系統更新集 > 更新集提交

3

點選 從 XML 匯入更新集連結。

4

點選 選擇檔案,選擇系統更新集 XML 文件,然後點選 上傳

更新集出現在 擷取的更新集 清單中,並處於 已載入 狀態。
5

擷取的更新集 清單中,按一下更新集檔案名稱(連結)以開啟更新集。

6

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

7

預覽完成後,按一下「更新集預覽」對話方塊上的 關閉

8

點選 提交更新集

9

更新集提交完成後,按一下 更新集提交 對話方塊上的 關閉

1

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

2

系統屬性 頁面上,依更新日期對屬性進行排序。 確保您可以看到以下 Webex 聯絡中心屬性:

3

點選 agentdesktop_url 開啟 系統屬性 agentdesktop_url 頁面。

4

欄位中,根據操作區域輸入 Webex 聯絡中心桌面的 URL。

5

點選 更新 儲存變更。

6

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

系統屬性 頁面上,點選 webexccactivitytable

根據需要更改 欄位。

7

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

  1. 在視窗左上角的 過濾器導航器 欄位中,導覽至系統安全下的 群組

  2. 建立一個新使用者群組或使用現有使用者群組。

  3. 按一下編輯

  4. 集合 下搜尋 sn_openframe_user 並將其移至您的使用者群組。

  5. 按一下儲存

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

1

過濾器導航器 字段,導航至 OpenFrame > 配置

2

按一下新增

3

輸入 URL 的以下屬性:

  • 名稱:Webex 聯絡中心桌面

  • 標題:Webex 聯絡中心

  • 寬度:550(建議)

  • 高度:600(建議)

4

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

5

(可選)選擇用戶/代理群組以指派配置。

6

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

7

在嘗試使用 OpenFrame 電話之前,請確保將 ServiceNow 自訂桌面佈局 JSON 檔案上傳到 Webex 聯絡中心管理入口網站。 有關詳細信息,請參閱 在 Webex 聯絡中心設置 ServiceNow 桌面佈局

1

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

2

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

3

前往 Webex 聯絡中心管理入口網站。

4

從管理入口網站導覽列中,選擇 設定 > 桌面版面配置

5

點選 新佈局 並輸入桌面佈局的詳細資料。

6

上傳 ServiceNow 桌面佈局 JSON 檔案。

7

點選 儲存 儲存配置。

現在您可以在 ServiceNow 控制台中啟動 Webex 聯絡中心桌面。

8

過濾器導航器 字段,導航至 代理工作區 > 代理工作區首頁

點選左下角的電話圖示。

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

1

登入您的 ServiceNow 開發者入口網站帳戶並開啟 管理 控制台。

2

帳戶 選單的 我的實例 區域中,點選 開始建置

3

在您的開發人員實例上,從視窗左上角的 過濾器導航器 欄位導覽至 外掛程式

4

搜尋標題為 Openframe 的 Openframe 插件。 您可能需要捲動瀏覽清單。

5

點選 安裝 安裝 Openframe 插件。

6

啟動外掛程式 對話方塊中,點選 啟動

7

插件啟動完成後,點選 關閉&在 外掛程式啟動 對話方塊中重新載入表單

8

要驗證插件激活,請從視窗左上角的 過濾器導航器 字段導航到 OpenFrame

9

點選 設定 並確保 OpenFrame 外掛程式出現在 OpenFrame 設定 清單中。

1

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

2

系統屬性 頁面上,依更新日期對屬性進行排序。 確保您可以看到以下 Webex 聯絡中心屬性:

3

點選 agentdesktop_url 開啟 系統屬性 agentdesktop_url 頁面。

4

欄位中,根據操作區域輸入 Webex 聯絡中心桌面的 URL。

5

點選 更新 儲存變更。

6

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

  1. 系統屬性 頁面上,點選 x_caci_webexcc.webexccactivitytable

  2. 根據需要更改 欄位。

7

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

  1. 在視窗左上角的 過濾器導航器 欄位中,導覽至 下的 群組 系統安全性

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

    • sn_openframe_user

    • x_caci_webexcc.agent

    • 代理工作空​​間用戶

    • x_caci_webexcc.webexcc_imp_activity_user

    • x_caci_webexcc.webex_contact_center

1

過濾器導航器 欄位中,導覽至 OpenFrame > 設定

2

按一下新增

3

輸入 URL 的以下屬性:

  • 姓名:Webex 聯絡中心桌面

  • 標題:Webex 聯絡中心

  • 寬度:550(建議)

  • 高度:600(建議)

4

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

5

(可選)選擇用戶/代理群組以指派配置。

6

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

7

過濾器導航器 字段,導航至 代理工作區 > 代理工作區首頁

點選左下角的電話圖示。

8

(可選)在 用戶群組 清單中,從 可用已選擇可以存取 Webex 聯絡中心桌面的用戶群組。

9

在嘗試使用 OpenFrame 電話之前,請確保將 ServiceNow 自訂桌面佈局 JSON 檔案上傳到 Webex 聯絡中心管理入口網站。 有關詳細信息,請參閱 在 Webex 聯絡中心設定 ServiceNow 桌面佈局

1

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

2

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

3

前往 Webex 聯絡中心管理入口網站。

4

從管理入口網站導覽列中,選擇 設定 > 桌面版面配置

5

點選 新佈局 並輸入桌面佈局的詳細資料。

6

上傳 ServiceNow 桌面佈局 JSON 檔案。

7

點選 儲存 儲存配置。

現在您可以在 ServiceNow 控制台中啟動 Webex 聯絡中心桌面。

8

過濾器導航器 字段,導航至 代理工作區 > 代理工作區首頁

點選左下角的電話圖示。

1

過濾器導航器 字段,導航至 事件 >開放事件。

2

右鍵點選呼叫者字段,然後點選 配置字典

3

新增逗號分隔的屬性 "ref_contributions=show_phone,

現在您可以開始在 ServiceNow 控制台中使用 Webex 聯絡中心桌面。

4

過濾器導航器 字段,導航至 代理工作區 > 代理工作區首頁

點選左下角的電話圖示。

ServiceNow 控制台中的 Agent Desktop

在撥打外撥電話之前,請確保執行以下操作:

  • 建立外撥入口點並設定外撥入口點策略。

  • 為座席設定檔啟用外撥 ANI。

  • 將外撥 ANI 設定為撥號號碼到入口點對應。

有關詳細信息,請參閱 Cisco Webex Contact Center 設定和管理指南配置一章。

過濾器導航器 字段,導航至 代理工作區 > 代理工作區主頁

點選左下角的電話圖示。

有關如何使用 Desktop 的信息,請參閱 Cisco Webex Contact Center Agent Desktop 使用者指南

第三方儲存分割區

Google Chrome 和 Edge 116 或更高版本的最新更新可能有問題,可能會擾亂您在 Webex 聯絡中心的 CRM 連接器的登入體驗。 此問題會影響 ServiceNow CRM 控制台上的桌面登入。

要在 Google Chrome 瀏覽器上解決此問題:

  1. 開啟 Google Chrome 瀏覽器並在網址列輸入 chrome://flags/#third-party-storage-partitioning

  2. 停用 實驗性第三方儲存分區 標誌。

  3. 關閉並重新啟動 Chrome。

  4. 再次登入 ServiceNow CRM 控制台內的桌面。

要在 Edge 瀏覽器上解決此問題:

  1. 開啟瀏覽器並在網址列中輸入 edge://flags/#third-party-storage-partitioning

  2. 停用 實驗性第三方儲存分區 標誌。

  3. 儲存變更並重新啟動瀏覽器。

  4. 再次登入 ServiceNow CRM 控制台內的桌面。

要在 Firefox 瀏覽器上解決此問題:

  1. 開啟瀏覽器,在網址列中輸入 about:config

    可能會出現警告頁面。 點選 接受風險並繼續 進入 about:config 頁。

  2. 頂部的 搜尋首選項名稱 框中輸入 network.cookie.cookieBehavior about:config 頁面尋找首選項。

  3. 雙擊首選項或點選 編輯 圖示來編輯首選項。

  4. 將值更改為 0。

  5. 儲存變更並重新啟動瀏覽器。

  6. 再次登入 ServiceNow CRM 控制台內的桌面。

概覽

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

客戶必須在 ServiceNow 上自行管理這些用例。 此配置特定於 ServiceNow,而不是 Webex 聯絡中心軟體或專業知識。


 

這是幫助修改業務規則的參考文件。 ServiceNow 開發人員將建立和管理業務規則,並提供支援。

思科僅提供範例文件。

ServiceNow 上的程式碼更改

腳本包含更改
  1. 轉到過濾器導航器並蒐索 腳本包括.

    選擇 系統 UI 下的 腳本包含

  2. 過濾 名稱 並蒐索 道具工具.

  3. 改變方法 用戶取得系統 ID腳本中。

    目前:

    UserGetSysId:function () { var opening_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value'));用戶。query(); if (user.next())opened_for=user.sys_id; var grInt = new GlideRecord('交互'); grInt.initialize(); grInt.assigned_to=gs.getUserID(); grInt.type='電話'; grInt.opened_for=opened_for; var sysid=grInt.insert();返回系統 ID;},

    該事件的新範例程式碼:

    UserGetSysId:function () { var opening_for; //事件相關的變更 var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value'));用戶。query(); if(user.next()) { opening_for=user.sys_id;//回傳 user.sys_id; var inc = new GlideRecordSecure('事件'); 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(); }其他{ inc.initialize(); inc.caller_id=opened_for;inc.contact_type='電話'; inc.short_description='呼叫接收自 '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); var grInt = new GlideRecordSecure('交互'); grInt.initialize(); grInt.assigned_to=gs.getUserID(); grInt.type='電話'; grInt.opened_for=opened_for; var sysid=grInt.insert(); sysidlist.sysid=系統 id;返回 JSON.stringify(sysidlist); },

UI 頁面方法變更
  1. 前往過濾器導航器並搜尋 UI 頁面

    選擇 系統 UI 下的 UI 頁

  2. 過濾 名稱 並蒐索 座席桌面.

  3. 改變 彈螢幕 客戶端腳本中的函數。

    目前功能:

    // 彈屏 function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('字段', '電話'); gaout.addParam('值', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ 實體:'互動', 查詢:'sys_id='+sysid });

    該事件的範例程式碼:

    // 彈屏 function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('字段', '電話'); gaout.addParam('值', callerani); gaout.getXMLWait(); // 對於與事件相關的變更 var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ 實體:'事件', 查詢:'sys_id='+sysObj.incsysid, 'interaction_sys_id':sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ 實體:'事件', 查詢:'sys_id=-1', 'interaction_sys_id':sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }

如果 CRM 中存在呼叫者訊息,並且已經有與此聯絡人開啟的新事件,則應用程式將開啟正在進行的事件

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

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

概覽

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

預設情況下,此表包含某些開箱即用的系統欄位和值。

您可以在 WebexCC Flow 設計器內建立更多特定於業務的變數(CAD 變數),並將 CAD 變數新增至 ServiceNow 呼叫後活動日誌中,並將其保留到呼叫後活動表資料中。


 

這只是參考文件 - 展示如何對名為“客戶名稱”的範例 CAD 變數執行此操作,該變數將客戶名稱儲存在 IVR 中並將其發佈到 ServiceNow。

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

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

截至本文,思科團隊已使用下述技術驗證了將 CAD 變數新增至活動日誌和活動表的支援:

將列新增至 WebexCC IMP 活動

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

  2. 轉到過濾器導航器並蒐索 studio。

    選取 Webex Contact Center

  3. 選擇 WebexCC IMP 活動 桌子

  4. 新增列,例如 顧客姓名

將列新增至電話日誌

  1. 編輯電話日誌表。

  2. 新增列,例如 顧客姓名.

WebexCC 活動轉換圖

新增列,例如 顧客姓名 字段映射。

個性化清單列

按照 Service Now 的建議,將選擇操作從建立變更為忽略。

配置電話日誌列表

前往腳本包含


 

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

範例腳本

請參閱行: 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.popupurl=gs.getProperty('x_caci_webexcc.screenpop_url'); return JSON.stringify(webexccprop); }, UserGetSysId:function () { var opening_for; var user = new GluserRecord("Query_Query"; this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next())opened_for=user.sys_id;//回傳 user.sys_id; // else / / return null; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for=opened_for; var sysid=grInt. insert(); return 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("電話", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('事件'); 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;},輸入:'propUtils' });

在流程設計器中建立 CAD 變數

將 CAD 變數新增至桌面佈局

範例

“CadName1:SnowField1,CadName2:SnowField2”CadName1 是 CustomerName SnowField1 也用作 CustomerName,它是“actInfo.CustomerName”上方顯示的範例腳本的一部分。

示範截圖

查看 WebexCC 活動表中新新增的 CAD 變數。

為 Flow Designer 建立 CAD 變數

事件緊急程度

事件影響

立即服務腳本更新

腳本更新包括

  1. 前往過濾器導航器並蒐索 腳本包含

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

  2. 使用 propUtils 過濾 名稱

  3. 改變方法 用戶取得系統 ID腳本 欄位中。

    目前腳本:

    UserGetSysId:function () { var opening_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value'));用戶。query(); if (user.next())opened_for=user.sys_id; var grInt = new GlideRecord('交互'); grInt.initialize(); grInt.assigned_to=gs.getUserID(); grInt.type='電話'; grInt.opened_for=opened_for; var sysid=grInt.insert();返回系統 ID;},

    該事件的新範例程式碼:

    UserGetSysId:function () { var opening_for; var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value'));用戶。query(); if(user.next()) { opening_for=user.sys_id;//回傳 user.sys_id; var inc = new GlideRecordSecure('事件'); 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(); }其他{ inc.initialize(); inc.caller_id=opened_for;inc.contact_type='電話'; inc.urgency=this.getParameter('IncUrgency'); inc.impact=this.getParameter('影響'); inc.short_description='呼叫接收自 '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); var grInt = new GlideRecordSecure('交互'); grInt.initialize(); grInt.assigned_to=gs.getUserID(); grInt.type='電話'; grInt.opened_for=opened_for; var sysid=grInt.insert(); sysidlist.sysid=系統 id;return JSON.stringify(sysidlist);//sysid; },

UI 頁面上的方法更改
  1. 轉到過濾器導航器並蒐索 使用者介面頁面

    選擇 使用者介面頁面 下的選項 系統介面

  2. 使用者介面頁面姓名 並蒐索 座席桌面

  3. 改變 彈螢幕 腳本字段中的函數。

    目前功能:

    // 彈屏 function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('字段', '電話'); gaout.addParam('值', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ 實體:'互動', 查詢:'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('字段', '電話'); gaout.addParam('值', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam('影響', 影響); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ 實體:'事件', 查詢:'sys_id='+sysObj.incsysid, 'interaction_sys_id':sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ 實體:'事件', 查詢:'sys_id=-1', 'interaction_sys_id':sysObj.sysid }); window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }

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

更改 ServiceNow 上的程式碼

將新列新增到 WebexCC IMP 活動 桌子

打開 WebexCC IMP 活動 桌子

新增列 - InteractionsNumber

新增列 - IncidentNumber

點選 更新

將新列新增到 電話記錄 桌子

打開 電話記錄 桌子

新增列 - InteractionsNumber

新增列 - IncidentNumber

WebexCC 活動轉換圖

開啟 變換映射 從過濾器導航器

點選 WebexCC 活動 TransformMap

新增的 - 用於互動號碼圖

新增新的 - 用於事件編號圖

按一下更新

腳本的更改包括

  1. 前往過濾器導航器並蒐索“腳本包含”。

    選擇 系統 UI 下的 腳本包含

  2. 過濾 名稱 道具工具.

  3. 改變方法 設定 WebExcctable.

    事件的新範例程式碼:

    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()) { //事件記錄上的活動;//var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum=""; var intenum="";刪除 actInfo['interaction_sys_id'];刪除 actInfo['incident_sys_id']; if(interactionsysid!= null &&interactionsysid != undefined){ var inte = new GlideRecordSecure('interaction'); } //inte.get('sys_id', 交互 sysid ); inte.addQuery('sys_id',interactionsysid);inte.query(); if (inte.next()) { intenum=inte.number; // inte.setValue('state','關閉完成'); inte.work_notes='將狀態更新為關閉。'; 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("電話", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('事件'); 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=intenum;sys_id=webexcc.insert();返回 sys_id;},

UI 頁面方法變更

  1. 轉到過濾器導航器並蒐索 使用者介面頁面

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

  2. 使用 姓名 過濾 UI 頁面並搜尋 agentdesktop

  3. 改變 nowActivities 和 screenpop 腳本中的函數。

    目前功能:

    函數 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); }

    該事件的範例程式碼:

    函數 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('字段', '電話'); gaout.addParam('值', callerani); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ 實體:'事件', 查詢:'sys_id='+sysObj.incsysid, 'interaction_sys_id':sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ 實體:'事件', 查詢:'sys_id=-1', 'interaction_sys_id':sysObj.sysid }); window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); } 

更新後的結果


 

以下自訂適用於 1.0.5 及更低版本。 對於較新版本 1.0.7 及更高版本的自訂,請依照上述步驟操作。

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

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

對於 ServiceNow 中的 WebexCC CRM 連接器的每個新呼叫,建立一個新事件記錄。

  1. 在過濾器導航器上搜尋業務規則

  2. 點撃新增。

    範例程式碼供參考:

    函數 customcti() { var url = null; var name = sysparm_caller_name; eid = sysparm_caller_id; var 電話 = sysparm_caller_phone; var 任務 ID = sysparm_task_id; var fQuery = sysparm_query; if (fQuery == null) fQuery = ''; var 視圖 = sysparm_view; if (view == null || view == '') view = "itil"; var 使用者 ID = null; if (eid != null && eid != '') { userID = UserGetSysId("employee_number",eid); } if (userID == null && name != null && name != '') { userID = UserGetSysId("name", name); } if (userID == null && 電話 != null && 電話 != '') { userID = UserGetSysId("電話", 電話); } 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; } 答案 = 網址;返回網址;} function UserGetSysId(field, value) { var user = new GlideRecord("sys_user"); user.addQuery(字段,值);用戶。query(); if (user.next()) 回傳 user.sys_id;否則返回空;}

    業務規則設定範例

  3. 啟用客戶端可調用

    電腦電話整合 (CTI) 事件處理 被標記為 真的

  4. 使用自訂 CTI 規則更新 screenpop url cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone=

範例

sysparm_cti_rule=名稱 在哪裡 '姓名' 是一個名字 功能 將被調用 CTI 處理 而不是使用預設腳本。

在 a 中定義函數 系統腳本 條目已標記 客戶端可調用

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


 

若要使腳本可供客戶端調用,必須選取顯示 sys_script 條目時顯示的表單上的用戶端可呼叫核取方塊。

預設情況下,客戶端可呼叫複選框不會顯示。 若要查看,您必須使用齒輪圖示和泥桶機制修改表單上顯示的欄位。

參考資料

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

概覽

本文詳細介紹了在 ServiceNow 表中新增附加列的過程 - webexcc_activity,該列是在安裝 ServiceNow CRM 連接器的 Webex CC 時建立的。

預設情況下,此表包含現成的系統欄位和值。

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


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

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

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

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

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

  2. 轉至 Studio > Webex 聯絡中心

  3. 選擇 WebexCC 活動 表格。

  4. 例如, 客戶名稱

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

建立一個新的腳本包含

 

如果您使用更新集 XML,則不需要此步驟 - 只需將一行「webexcc.u_customername=actInfo.CustomerName」新增至 propUtils。

範例腳本

請參閱以下行: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/' web}; .popupurl=gs.getProperty('x_caci_webexcc.screenpop_url'); return JSON.stringify(webexccprop); }, setWebexcctable:function () { var sys_id=0; var Infoact = JSON.parse(this.getParameter('Yacted') ); var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable')); webexcc.addQuery("callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.nwebex( .ani = actInfo.ani; webexcc.dnis = actInfo.dnis; webexcc.queuename = actInfo.queuename; webexcc.wrapuptime = actInfo.wrapuptime; webexcc.callduration = actInfo.CallDurationInSeconds;webex. =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("電話", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('事件'); inc.addQuery('caller_id', suser.sys_id); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(代理字串),null,2); inc.comments =jsonPretty; inc.update();返回 sys_id;},輸入:'propUtils2' });
使用新的腳本名稱編輯 UI 頁面

在流程設計器中建立 CAD 變數

將 CAD 變數新增至桌面佈局

示範截圖

查看 WebexCC 活動表中新新增的 CAD 變數。