Webex İletişim Merkezi'ni ServiceNow (Sürüm 1—Eski) ile entegre edin
Önkoşullar
Softphone arayüzü için desteklenen minimum boyut 500 pikseldir. 500 pikselden daha düşük herhangi bir değer ekran veya işlevsellik sorunlarına neden olabilir.
Webex Contact Center'ı ServiceNow CRM konsoluyla tümleştirmeden önce aşağıdakilere sahip olduğunuzdan emin olun:
-
Webex İletişim Merkezi'ne erişim.
-
https://admin.webex.com adresindeki Control Hub'a ve Webex İletişim Merke Management Portal zi'ne yönetici erişimi. URL' Management Portal leri bölgenize özeldir.
-
Masaüstüne erişimi olan bir temsilci. Masaüstünün URL'si bölgenize özeldir.
-
İçerik Güvenliği İlkesi İzin Verilen Listesine eklenen aşağıdaki etki alanına aracı erişimi:
-
*.service-now.com
İzin verilen listenin nasıl tanımlanacağı hakkında daha fazla bilgi için Webex İletişim Merkezi Güvenlik Ayarları makalesine bakın.
-
-
Bir ServiceNow geliştirici portalı hesabı. Hesap oluşturmak için https://developer.servicenow.com/dev.do adresindeki ServiceNow geliştirici portalına gidin ve Kaydolun ve Oluşturmaya Başlat'ı tıklayın.
-
Aşağıdaki dosyalara https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow adresinden erişin:
-
ServiceNow Güncelleme Kümesi (XML)
-
ServiceNow İletişim Merkezi Masaüstü Düzeni (JSON)
-
- Webex Contact Center'ın desteklediği ServiceNow sürümleri Vancouver, Utah, Tokya, Washington ve Xanadu'dur. Daha fazla bilgi için bkz. ServiceNow ile Webex İletişim Merkezi Entegrasyonu.
Aşağıdaki iki yöntemden birini izleyin:
- Geliştirici örnekleri için geliştirici örnek kılavuzunun altındaki adımları izlemenizi öneririz.
- Kurumsal lisanslı bir bulut sunucunuz varsa kurumsal lisanslı bulut sunucularına ilişkin yönergeleri izleyin.
Kurumsal lisanslı uygulamayı geliştirici sanal alan örnekleriyle karıştırmanızı önermiyoruz.
Sohbet ve e-posta gibi dijital kanallar CRM bağlayıcılarıyla desteklenmez. Bu, bu bağlayıcıları kullanan tüm CRM entegrasyonları için geçerlidir. Lütfen dağıtım ve müşteri katılımı iş akışlarınızı buna göre planlayın.
Aşağıdaki bölümlerde, geliştirici örnekleri için ServiceNow bağlayıcısını yükleme adımları açıklanmaktadır.
| 1 |
ServiceNow geliştirici portalı hesabınızda oturum açın ve Yönetim konsolunu açın. |
| 2 |
Hesap men üsünün Örneğ im alanından Oluş turmayı Başlat'ı tıklatın.
|
| 3 |
Geliştirici örneğinizde, pencerenin sol üst köşesindeki Filtre gezgini alanından Eklentiler'e gidin.
|
| 4 |
Openframe başlıklı Openframe eklentisini arayın. Listede gezinmeniz gerekebilir.
|
| 5 |
Openframe eklentisini yüklemek için Yükle'yi tıklayın. |
| 6 |
Eklentiyi Etkinleştir iletişim kutusunda Etkin leştir'i tıklatın.
|
| 7 |
Eklenti aktivasyonu tamamlandığında, Eklenti Etkinleştirme iletişim kutusunda Formu Kapat ve Yeniden Yük le'yi tıklatın.
|
| 8 |
Eklenti aktivasyonunu doğrulamak için, pencerenin sol üst köşesindeki Filtre gezg ini alanından OpenFram e'e gidin. |
| 9 |
Yapıl andırmalar 'ı tıklatın ve OpenFrame eklentisinin OpenFrame Yapılandırmaları listesinde görün düğünden emin olun.
|
| 1 |
Dosya adı: Web Excc-ServiceNow-update-setv (X) .xml
|
| 2 |
ServiceNow örneğinizde, pencerenin sol üst köşesindeki Filtre gezgini alanından .
|
| 3 |
XML'den Güncelleme Kümesini İçe Aktar bağlantısını tıklatın.
|
| 4 |
Dosya Seç'i tıklatın, Sistem Güncelleme Kümesi XML dosyasını seçin ve ardından Yükle'yi tıkl atın.
Güncelleme kümesi, Alınan Güncelleme Kümeleri listesinde görünür ve Yüklenmiş durum undadır.
|
| 5 |
Alınan Güncelleştirme Kü meleri listesinden Güncelleştirme Kümesi Dosya Adını (bağlantı) tıklatarak Güncelleme Kümesini açın.
|
| 6 |
Pencerenin sağ üst köşesindeki Güncelleştirme Kümesini Öniz le'yi tıklatarak gün celleştirme kümesinde sorun olup olmadığını kontrol edin.
|
| 7 |
Önizleme tamamlandıktan sonra Set Önizlemesini Güncelle iletişim kutusunda Kapat'ı tıkl atın.
|
| 8 |
Güncelleme Kümesini Teslim Et seçeneğini tıkl atın.
|
| 9 |
Güncelleme Kü mesi işleme tamam landıktan sonra Güncell eme Kümesi İşlemi iletişim kutusunda Kapat'ı tıklatın.
|
| 1 |
Pencerenin sol üst köşesindeki Filtre gezgini alanına enter yazın
|
| 2 |
Sistem Özellikleri sayfasında, özellikleri güncellenen tarihe göre sıralayın. Aşağıdaki Webex İletişim Merkezi özelliklerini görebildiğinizden emin olun:
|
| 3 |
Sistem Özelli agentdesktop_urlği agentdesktop_url sayfasını açmak için tıklayın. |
| 4 |
Değer alanına, çalışma bölgesine göre Webex Contact Center Masaüstünün URL'sini girin.
|
| 5 |
Değişik likleri kaydet mek için Güncelle'yi tıklatın. |
| 6 |
(İsteğe bağlı) Etkinlik tablosu adını değiştirmek için, webexccactivit ytable özelliklerini gerektiği gibi düzenleyin. Sistem Özellikleri sayfasında, webex ccactivitytable'a tıklayın. Değer alanını gerektiği gibi değiştirin.
|
| 7 |
(İsteğe bağlı) Kullanıcı Grupları aşağıdaki şekillerde ekleyin:
|
| 1 |
Filtre gezgini alan ından
|
| 2 |
Yeni 'yi tıklatın.
|
| 3 |
URL için aşağıdaki özellikleri girin:
|
| 4 |
URL alanının sağındaki Kilit le düğmesini tıklatın ve URL
|
| 5 |
(İsteğe bağlı) Yapılandırmayı atamak için Kullanıcı/Aracı Gruplarını seçin.
|
| 6 |
Gönder 'i tıklayın. URL bir bağlantı olarak görünür.
|
| 7 |
OpenFrame telefonunu kullanmaya çalışmadan önce ServiceNow özel Masaüstü Düzeni JSON dosyasını Webex İletişim Merkezi'ne yüklediğinizden emin olun. Management Portal Daha fazla bilgi için bkz. Webex İletişim Merkezi'nde ServiceNow Masaüstü Düzeni Ayar lama. |
| 1 |
|
| 2 |
Gerekirse Masaüstü Düzeni dosyasındaki özellikleri güncelleyin. |
| 3 |
Webex İletişim Merke Management Portal zi'ne gidin. |
| 4 |
Gezinme çubu Management Portal ğundan Sağlama seçin.
|
| 5 |
Yeni Düzeni tıklatın ve masaüstü düzeninin ayrıntılarını girin. |
| 6 |
ServiceNow Desktop Layout JSON dosyasını yükleyin. |
| 7 |
Yapıl andırmayı kaydet mek için Kaydet'i tıklatın. Artık Webex Contact Center Masaüstünü ServiceNow konsolunda başlatabilirsiniz. |
| 8 |
Filtre gezgini alanından Hizmet İşlemleri .
|
Aşağıdaki bölümlerde lisanslı kurumsal örnekler için ServiceNow bağlayıcısını yükleme adımları açıklanmaktadır.
| 1 |
ServiceNow geliştirici portalı hesabınızda oturum açın ve Yönetim konsolunu açın. |
| 2 |
Hesap men üsünün Örneğ im alanından Oluş turmayı Başlat'ı tıklatın.
|
| 3 |
Geliştirici örneğinizde, pencerenin sol üst köşesindeki Filtre gezgini alanından Eklentiler'e gidin.
|
| 4 |
Openframe başlıklı Openframe eklentisini arayın. Listede gezinmeniz gerekebilir.
|
| 5 |
Openframe eklentisini yüklemek için Yükle'yi tıklayın. |
| 6 |
Eklentiyi Etkinleştir iletişim kutusunda Etkin leştir'i tıklatın.
|
| 7 |
Eklenti aktivasyonu tamamlandığında, Eklenti Etkinleştirme iletişim kutusunda Formu Kapat ve Yeniden Yük le'yi tıklatın.
|
| 8 |
Eklenti aktivasyonunu doğrulamak için, pencerenin sol üst köşesindeki Filtre gezg ini alanından OpenFram e'e gidin. |
| 9 |
Yapıl andırmalar 'ı tıklatın ve OpenFrame eklentisinin OpenFrame Yapılandırmaları listesinde görün düğünden emin olun.
|
Kurumsal lisanslara sahip örnekler, Webex Contact Center uygulamasını doğrudan ServiceNow Mağazasından yükleyebilir.
|
|
| 1 |
Pencerenin sol üst köşesindeki Filtre gezgini alanına girin
|
| 2 |
Sistem Özellikleri sayfasında, özellikleri güncellenen tarihe göre sıralayın. Aşağıdaki Webex İletişim Merkezi özelliklerini görebildiğinizden emin olun:
|
| 3 |
Sistem Özelli agentdesktop_urlği agentdesktop_url sayfasını açmak için tıklayın. |
| 4 |
Değer alanına, çalışma bölgesine göre Webex Contact Center Masaüstünün URL'sini girin.
|
| 5 |
Değişik likleri kaydet mek için Güncelle'yi tıklatın. |
| 6 |
(İsteğe bağlı) Etkinlik tablosu adını değiştirmek için, x_caci_webexcc.webexccactivitytable özelliklerini gerektiği gibi düzenleyin.
|
| 7 |
(İsteğe bağlı) Kullanıcı Grupları aşağıdaki şekillerde ekleyin:
|
| 1 |
Filtre gezgini alan ından
|
| 2 |
Yeni 'yi tıklatın.
|
| 3 |
URL için aşağıdaki özellikleri girin:
|
| 4 |
URL alanının sağındaki Kilit le düğmesini tıklatın ve URL
|
| 5 |
(İsteğe bağlı) Yapılandırmayı atamak için Kullanıcı/Aracı Gruplarını seçin.
|
| 6 |
Gönder 'i tıklayın. URL bir bağlantı olarak görünür.
|
| 7 |
Filtre gezgini alanından Hizmet İşlemleri .
|
| 8 |
(İsteğe bağlı) Kullanıcı Grubu listesinde, Webex Contact Center Masaüstüne erişebilen kullanıcı gruplarını Kullanılabilir'den Seç ili 'ye taşıyın. |
| 9 |
OpenFrame telefonunu kullanmaya çalışmadan önce ServiceNow özel Masaüstü Düzeni JSON dosyasını Webex İletişim Merkezi'ne yüklediğinizden emin olun. Management Portal Daha fazla bilgi için bkz. Webex İletişim Merkezi'nde ServiceNow Masaüstü Düzeni Ayar lama. |
| 1 |
|
| 2 |
Gerekirse Masaüstü Düzeni dosyasındaki özellikleri güncelleyin. |
| 3 |
Webex İletişim Merke Management Portal zi'ne gidin. |
| 4 |
Gezinme çubu Management Portal ğundan Sağlama seçin.
|
| 5 |
Yeni Düzeni tıklatın ve masaüstü düzeninin ayrıntılarını girin. |
| 6 |
ServiceNow Desktop Layout JSON dosyasını yükleyin. |
| 7 |
Yapıl andırmayı kaydet mek için Kaydet'i tıklatın. Artık Webex Contact Center Masaüstünü ServiceNow konsolunda başlatabilirsiniz. |
| 8 |
Filtre gezgini alanından Hizmet İşlemleri .
|
| 1 |
Filtre gezgini alan ından Olaylar > Olay ı Aç bölümüne gidin. |
| 2 |
Arayan alanına sağ tıklayın ve Sözlüğü Yapılandır'ı tıklayın.
|
| 3 |
Virgülle ayrılmış Nitelikler ekleyin.
Artık ServiceNow konsolunda Webex Contact Center Masaüstünü kullanmaya başlayabilirsiniz. |
| 4 |
Filtre gezgini alanından Hizmet İşlemleri .
|
- Yalnızca Salesforce (SFDC) ve Microsoft Dynamics (MS Dynamics) Bağlayıcıları için WebRTC Agent Desktop kullanarak oturum açmayı destekliyoruz.
- Şu anda, bu özellik yalnızca aracılar için geçerlidir.
Agent DesktopServiceNow Konsolu'nda
Dış arama yapmadan önce aşağıdakileri yaptığınızdan emin olun:
-
Outdial giriş noktasını oluşturun ve bir dış hat giriş noktası stratejisi oluşturun.
-
Aracı Profili için outdial ANI'yi etkinleştirin.
-
Dış arama ANI'sini Arama Numarası-Giriş Noktası eşlemesine ayarlayın.
Daha fazla bilgi için Cisco Webex Contact CenterKurulum ve Yönetim Kılavuz u'nun Sağlama bölümüne bakın.
Filtre gezgini alanından Hizmet İşlemleri .
Masaüstünün nasıl kullanılacağı hakkında bilgi için Webex İletişim Merkezi yardımındaki Aracı sekmesine bakın.
Genel Bakış
Bu makale, ServiceNow CRM bağlayıcısı için iş kurallarınızı özelleştirmenin çeşitli yollarını kapsar. Kullanım senaryolarını ServiceNow'a özgü iş kurallarına göre nasıl özelleştirebileceğinizi detaylandırır.
Müşteri bu kullanım senaryolarını ServiceNow'da kendi başına yönetmelidir. Yapılandırma, Webex Contact Center yazılımına veya uzmanlığına değil ServiceNow'a özeldir.
Bu, iş kurallarının değiştirilmesine yardımcı olacak bir referans dokümantasyonudur. ServiceNow geliştiricileri iş kurallarını oluşturacak ve yönetecek ve destek sağlayacaktır.
Cisco yalnızca örnek belgeler sağlar.
Aşağıdaki bölümlerde geliştirici ve kurumsal örnekler için Eylemler widget'ının nasıl kurulacağı, etkinleştirileceği ve yönetileceği hakkında ayrıntılı bilgi verilmektedir.
Eylemler Widget'ı Güncelleme Kümesini İşleme
Lisanslı kurumsal örnekler için ServiceNow mağazasından en son Webex Contact Center uygulamasını yükleyin.
Geliştirici örnekleri için Eylemler widget'ını ayarlamak için github deposunda bulunan en son Sistem Güncelleme Kümesi XML dosyasını şu konumdan indirin: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Dosya adı webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Eylemler widget'ı için güncelleme kümesini işlemek için Güncelleme Kümesini Teslim Etme bölümündeki 2 ila 9 adımları inceleyin.
Eylemler Widget'ı Etkinleştir
Eylemler widget'ını etkinleştirmek için isWidgetDisplayEnabled özelliğini kullanın. Özel masaüstü düzeninin başsız bölümünde bu özelliğin değerini değiştirmemelisiniz. Özellik, özel masaüstü düzeninin başsız bölümünde her zaman false olarak ayarlanır. Özelliğin değerini yalnızca özel masaüstü düzeninin panel bölümünde güncellemeniz gerekir.
Özel masaüstü düzeninde Eylemler widget'ını etkinleştirdikten sonra aşağıdaki işlemleri gerçekleştirebilirsiniz:
- Etkinlik Kayıtlarını Yönet—Arayan ile ilişkili etkinlik kayıtlarının listesini görüntülemek için Etkinlik Kaydını Görüntüle/Düzen le'yi tıklatın.
- CRM Nesnelerini İlişkilendir—Etkin lik kaydına çağrı türü (gelen veya giden), çağrı nesnesi, çağrı notları vb. gibi CRM nesneleri eklemek için etkinlik kayıtlarıyla ilişkilendir 'i tıklatın.
- Olayları Yönet—Olay Oluştur'u tıklatın. Arayan ayrıntılarının önceden doldurulmasıyla yeni bir olay oluşturulur. Olay için gerekli güncellemeleri yapabilirsiniz. Kayıt türünü olaydan duruma, İK modülüne vb. gereksinimlerinize göre değiştirmeyi seçebilirsiniz. Kayıt türünü değiştirmek için Eylemler widget yapılandırmasında typeOfRecord özelli ğinin değerini değiştirin. Örneğin:
{ "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" } } ] } - Canlı arama notları ekle—Metin alanında arama hakkında ek bilgiler yakalayabilir ve aramayı tamamlayabilirsiniz. Etkinlik kaydında çağrı notları olarak eklenen bu notları görebilirsiniz.
ServiceNow'da kod değişikliği
Komut Dosyası değişiklikleri içerir-
Filtre gezginine gidin ve komut
dosyası içeriklerini arayın
.Sistem kullanıcı arabirimi altında Komut Dosy ası İçerir seçeneğini seçin.
-
Adı filtreleyin ve
PropUtils'i arayın.
-
Komut Dosyasındaki
UserGetSysID
yöntemini değiştirin.Akım:
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(); return sysid; },Olay için yeni örnek kod:
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; return JSON.stringify(sysidlist); },
-
Filtre gezginine gidin ve arayın
UI page.Sistem kullanıcı arabirimi altında UI sayf alarını seçin.
-
Adı filtreleyin ve
agentdesk
top'u arayın. -
İstemci kom
ut dosyasındaki screenpop
işlevini değiştirin.Mevcut fonksiyon:
// 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 });Olay için örnek kod:
// 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' }); } }
Arayan bilgileri CRM'de mevcutsa ve bu kişiyle zaten yeni bir olay açıldıysa, uygulama devam etmeyen olayı açar
Arayan bilgileri CRM'de yoksa, uygulama yeni bir olay açar
Arayan bilgileri CRM'de mevcutsa, uygulama önceden doldurulmuş ayrıntılarla yeni bir olay açar
Genel Bakış
Bu kullanım senaryosu, ServiceNow tablosuna fazladan bir sütun ekleme webexcc_imp_activity ve Webex CC for ServiceNow sn_openframe_phone_log CRM Bağlayıcısı yüklendikten sonra oluşturma işlemini detaylandırır.
Varsayılan olarak, tablo belirli kullanıma hazır sistem alanlarını ve değerlerini içerir.
WebExCC Akış tasarımcısının içinde daha işletmeye özgü değişkenler (CAD Değişkenleri) oluşturabilir ve CAD değişkenlerini ServiceNow arama sonrası etkinlik günlüğünün içine ekleyebilir ve bunu arama sonrası etkinlik tablosu verilerine tutabilirsiniz.
Bu yalnızca bir referans dokümantasyonudur ve müşteri adını IVR içinde depolayan ve bunu ServiceNow'a gönderen Müşteri Adı adlı örnek bir CAD değişkeni için bunun nasıl yapılacağını gösterir.
İş ortağı+müşteri hizmetleriNow geliştiricilerinin, mevcut bağlayıcıya yönelik bir özelleştirme olduğu için bu yapılandırmayı yapılandırması ve yönetmesi beklenir.
Cisco yalnızca konektörün nasıl özelleştirileceği ve genişletileceği ile ilgili teknikleri sağlar.
Bu makaleden itibaren Cisco ekibi, aşağıda açıklanan tekniği kullanarak Etkinlik Günlüğü ve Etkinlik Tablosuna CAD değişkeninin eklenmesine yönelik desteği doğruladı:
WebExCC IMP Etkinliğine Sütun Ekle
-
Tabloyu ServiceNow'un geliştirici sürümünde düzenleyin.

-
Filtre gezginine gidin ve stüdyoyu arayın.

Webex İletişim
Merkezi'ni seçin
veya



-
WebExCC IMP Etkinlik tablosunu
seçin
-
Yeni bir sütun ekleyin, örneğin,
CustomerName


Telefon Günlüğüne Sütun Ekle
-
Telefon günlüğü tablosunu düzenleyin.


-
Yeni bir sütun ekleyin, örneğin,
CustomerName
.

WebExCC Etkinlik Dönüştürme Haritası

Yeni bir sütun ekleyin, örneğin, CustomerName
alan eşlemesi.


Liste Sütunlarını Kişiselleştirme

Service Now önerdiği gibi, Seçim eylemini oluştur'dan yoksayma olarak değiştirin.


Telefon günlükleri listesini yapılandırma

Komut Dosyasına Git Dahil Et
Yalnızca bir satır ekleyin webexcc. u_customername=ActInfo.CustomerName to PropUtils
.



Satıra bakın: webexcc. u_customername=ActInfo.customer Name; destekleyici bir yorum ile.
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;//return 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;
// This line is Added - to capture it in the Activity Log
webexcc.u_customername=actInfo.CustomerName;
sys_id=webexcc.insert();
//Activities on Incident record;
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();
}
}
}
return sys_id;
},
type: 'propUtils'
});
Flow designer'da bir CAD değişkeni oluşturma

CAD değişkenini Masaüstü Düzeni'ne ekleme
Örnek
"CadName1:SnowField1,CadName2:SnowField2"
CadName1 is CustomerName
SnowField1 is also used as CustomerName which is part of sample scirpt showen above "actInfo.CustomerName".

Demo ekran görüntüleri
WebExCC Etkinlik tablosunda yeni eklenen CAD değişkenini görüntüleyin.



Flow Designer için CAD değişkeni oluşturma
Olay aciliyeti
Olay etkisi

Service Now komut dosyası güncellemesi
Komut Dosyası Güncellemeleri İçerir
-
Filtre gezginine gidin ve arayın
script includesSistem kullanıcı arabiri mi altında Komut Dosyası Dahil seçeneğini seçin.

-
Adı ile filtreleyin
propUtils.
-
Komut Dosyası alanında
UserGetSysID
yöntemini değiştirin.
Geçerli komut dosyası:
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(); return sysid; },Olay için yeni örnek kod:
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; return JSON.stringify(sysidlist);//sysid; },
-
Filtre gezginine gidin ve arayın
UI pages.Sistem kullanıcı arab irimi altındaki UI Sayf aları seçeneğini seçin.

-
UI Sayfalarını A d ile filtre leyin ve arayın
agentdesktop.
-
Komut dosyası
alanındaki screenpop
işlevini değiştirin.
Mevcut fonksiyon:
// 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 }); }Olay için örnek kod:
// screen pop function 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)); }
Arayan bilgileri CRM'de mevcutsa ve yeni veya devam etmeyen bir olay yoksa, uygulama yeni bir olay açar


ServiceNow'daki kodu değiştirin
WebExCC IM
P Etkinlik tablosuna yeni sütunlar ekleme
WebExCC IMP Etkinlik tablosunu açın





Güncelle'ye tıklayın.


Telefon Günlüğü tablosuna yeni sütunlar
ekleme
Telefon Günlüğü tablosun
u açın





WebExCC Etkinlik Dönüştürme Haritası
Filtre gezgininden dönüştür
me haritasını açın


WebExCC Etkinlik TransformMap'e
tıklayın




Gün celle'yi tıklayın.

Komut Dosyası İçerdiği Değişiklikler
-
Filtre gezginine gidin ve “komut dosyası içerir” için arama yapın.
Sistem kullanıcı arabirimi altında Komut Dosy ası İçerir seçeneğini seçin.

-
Adı
ProPu
til s ile filtreleyin.
-
SetWebExccTable yöntemini
değiştirin.
Olay için yeni örnek kod:
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()) { //Activities 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 actInfo['interaction_sys_id']; delete actInfo['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=intenum; sys_id=webexcc.insert(); } return sys_id; },
UI sayfalarında yöntem değişiklikleri
-
Filtre gezginine gidin ve kullanıcı
arayüzü sayfalarını arayın
Sistem kullanıcı arab irimi altındaki UI Sayf aları seçeneğini seçin.

-
UI Sayfalarını Ad ile filtre leyin ve arayın
agentdesktop.
-
Komut dosyasındaki
NowActivities ve screenpop
işlevini değiştirin.
Mevcut fonksiyon:
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); }Olay için örnek kod:
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)); }
Güncellemeden sonraki sonuçlar

Aşağıdaki özelleştirmeler 1.0.5 ve sonraki sürümler için geçerlidir. Yeni sürüm 1.0.7 ve üstü için özelleştirmeler için yukarıdaki adımları izleyin.
Özelleştirme # 1 - Çağrı akışı kullanım durumları için özel iş kuralları ekleyin
Her arama için yeni bir olay kaydı oluşturunServiceNow'daki WebExCC CRM bağlayıcısına yapılan her yeni çağrı için Yeni Olay Kaydı oluşturun.
Filtre gezgininde İş Kurallarını Ara

Yeni'yi tıklayın.

Referans için örnek kod:
function 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", 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; } answer = url; return url; } function UserGetSysId(field, value) { var user = new GlideRecord("sys_user"); user.addQuery(field, value); user.query(); if (user.next()) return user.sys_id; else return null; }İş kuralının örnek yapılandırması

İstemciyi çağrılabilir etkinleştir

Olay İçin Bilgisayar Telefonu Entegrasyonu (CTI) İş leme Doğru olarak işaretlenmiştir.

Screenpop url'sini özel CTI Kuralı "cti.do? ile güncelleyin. sysparm_cti_rule=Olayı oluştur& = "sysparm_caller_phone

'ad' işlevin in adı olduğu sysparm_cti_rule= name, varsayılan kom ut dosyasını kullanmak yerine CTI İşleme için çağrılacaktır.
İstemci çağrılabilir olarak işaret sys_scriptlenmiş bir girişte işlevi tanım layın.
Fonksiyona herhangi bir GlidereCord (lar) eklemeniz, güncellemeniz veya silmeniz gerekiyorsa, güncellemeleri gerçekleştirmek için ayrı bir istemci çağrılabilir işlevi çağırın.
Bir komut dosyasını istemci olarak çağrılabilir yapmak için, giriş görüntülendiğinde görüntülenen formdaki istemci-çağrılabilir onay kutusunu işaretlemeniz gerekir. sys_script
İstemci çağrılabilir onay kutusu varsayılan olarak görünmez. Görüntülemek için, dişli simgesini ve slush kova mekanizmasını kullanarak formda gösterilen alanları değiştirmeniz gerekir.
Özelleştirme # 2 - Webex Contact Center etkinlik tablosuna CAD değişkeni ekleyin
Genel BakışBu makalede, ServiceNow CRM Bağlayıcısı için Webex CC yüklenmesi üzerine oluşturulan ServiceNow webexcc_activity tablosuna ek bir sütun ekleme işlemi ayrıntılarıyla açıklanmaktadır.
Varsayılan olarak, tablo kullanıma hazır sistem alanları ve değerleri içerir.
WebExCC Akış tasarımcısı içinde potansiyel olarak işletmeye özgü daha fazla değişken (CAD Değişkenleri) oluşturabilir ve bu CAD değişkenlerini ServiceNow arama sonrası etkinlik günlüğüne ekleyebilir ve bunu arama sonrası etkinlik tablosu verilerine tutabilirsiniz.
-
Bu yalnızca referans belgeleridir ve müşteri adını IVR içinde depolayan ve bunu ServiceNow'a gönderen Müşteri Adı adlı örnek bir CAD değişkeni için bunun nasıl yapılacağını gösterir.
-
İş ortağı+müşteri hizmetleriNow geliştiricileri, mevcut bağlayıcıya yönelik bir özelleştirme olduğu için bu yapılandırmayı yapılandıracak ve yönetecektir.
-
Cisco, yalnızca konektörün nasıl özelleştirileceği ve genişletileceği ile ilgili teknikleri sağlayacaktır.
-
Bu makaleden itibaren, Cisco ekibi, aşağıda açıklanan tekniği kullanarak Etkinlik Günlüğü ve Etkinlik Tablosuna CAD değişkeninin eklenmesine yönelik desteği doğruladı.
Tabloyu ServiceNow'un geliştirici sürümünde düzenleyin.

St zi'ne gidin.



WebExCC Etkinlik tablosunu seçin.

Örneğin, CustomerName.


WebExCC Etkinliği için Liste Düzeni'ni seçin.

Güncelleme Kümesi XML'ini kullanıyorsanız bu adım gerekli değildir - Yalnızca bir satırın eklenmesi gerekir "webexcc. u_customername=ActInfo.customerName "Proputils'a.



Örnek komut dosyası
Şu satıra bakın: webexcc. u_customername=ActInfo.customer Name; destekleyici bir yorum ile.
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;
// This line is Added - to capture it in the Activity Log
webexcc.u_customername=actInfo.CustomerName;
sys_id=webexcc.insert();
// Activities on Incident record;
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(acting string),null,2);
inc.comments =jsonPretty;
inc.update();
}
}
}
return sys_id;
},
type: 'propUtils2'
});
UI sayfasını yeni bir komut dosyası adıyla düzenleyin
Flow designer'da bir CAD değişkeni oluşturma
CAD değişkenini Masaüstü Mizanpajına ekleme
Demo ekran görüntüleri
WebExCC Etkinlik tablosunda yeni eklenen CAD değişkenini görüntüleyin.

CRM bağlayıcısı, masaüstü düzeni JSON'da belirtilen widget'ın sürümüne göre çalışır. Masaüstü Düzeni içindeki widget sürümünün güncel tutulmasını sağlamak son derece önemlidir.
Yöneticilerin, bu CRM bağlayıcısı için tüm masaüstü düzenlerinin bu widget sürümünü kullanmasını sağlamaları beklenir. If the layout is not updated to use the latest version, functionality will no longer be supported and may cease to work correctly.
- Son ServiceNow güncellemesi— ServiceNow_Desktop_0 .1.0_v5.0.3.json. Mart 2024 itibariyle paket sürümü 1.0.9
- Son XML güncellemesi—WebExcc-ServiceNow-Update-SetV7-1-ActionsWidget.xml, Haziran 2024











































