Uyurulan Webex ServiceNow (Sürüm 1—Eski)
Webex Contact Center'ı ServiceNow CRM konsoluyla entegre ettiğinizde, ServiceNow içinden Contact Center Desktop'ı Webex başlatabilirsiniz.
Ön Koşullar
Şu anda bu özellik yalnızca temsilciler için geçerlidir.
Webex Contact Center'ı ServiceNow CRM konsoluyla entegre etmeden önce, şunlara sahip olduğunuzdan emin olun:
-
Webex İletişim Merkezi'ne erişim.
-
Yöneticinin Control Hub at https://admin.webex.com ve Webex Contact Center Management Portal'a erişimi. Management Portal'ın URL'leri bölgenize özgüdür.
-
Kuzey Amerika: https://portal.wxcc-us1.cisco.com
-
İngiltere: https://portal.wxcc-eu1.cisco.com
-
Japonya: https://portal-v2.wxcc-jp1.cisco.com
-
Singapur: https://portal-v2.wxcc-sg1.cisco.com
-
-
Masaüstüne erişimi olan bir temsilci. Masaüstü URL'si bölgenize özgüdür.
-
Kuzey Amerika: https://desktop.wxcc-us1.cisco.com
-
İngiltere: https://desktop.wxcc-eu1.cisco.com
-
Japonya: https://desktop.wxcc-jp1.cisco.com
-
Singapur: https://desktop.wxcc-sg1.cisco.com
-
-
İçerik Güvenliği İlkesi İzin Verilenler Listesine eklenen aşağıdaki etki alanına temsilci erişimi:
-
*.service-now.com
İzin verilenler listesini tanımlama hakkında daha fazla bilgi için, Webex Bağlantı Merkezi'nin Güvenlik Ayarları makalesine bakın.
-
-
Bir ServiceNow geliştirici portalı hesabı. Bir hesap oluşturmak için, serviceNow geliştirici portalı olan https://developer.servicenow.com/dev.do gidin ve Kaydol ve Oluşturmayı Başlat'ı tıklayın.
-
Aşağıdaki dosyalara https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow :
-
ServiceNow Güncelleme Kümesi (XML)
-
ServiceNow Contact Center Masaüstü Yerleşimi (JSON)
-
- Contact Center'ın desteklediği ServiceNow sürümleri Vancouver, Utah, Tokya, Washington ve Xanadu'Webex. Daha fazla bilgi için bkz.Webex ServiceNow ile Contact Center Integration.
Aşağıdaki iki yöntemden birini izleyin:
Geliştirici örnekleri için, geliştirici örnek kılavuzu altındaki adımları takip kullanmanızı öneririz.
Kurumsal lisanslı bir örneğe sahipseniz, kuruluş lisanslı örnekler için yönergeleri izleyin.
Kurumsal lisanslı uygulamayı geliştirici havuzu örnekleriyle karıştırmanızı önermiyor.
Aşağıdaki bölümlerde, geliştirici örnekleri için ServiceNow bağlayıcısını yükleme adımları anlatılmaktadır.
1 |
ServiceNow geliştirici portalı hesabınızda oturum açın ve Yönetim konsolunuzu açın. |
2 |
Hesap menüsünün Örneğim alanında, Oluşturma İşlemini Başlat'ı tıklayın . |
3 |
Geliştirici örneğinizde, pencerenin sol üst kısmındaki Filtre gezgini alanından Eklentiler'e gidin. |
4 |
Openframe başlığına sahip Openframe eklentisini arayın. Listede gezinmeniz gerekebilir. |
5 |
Openframe eklentisini yüklemek için Yükle'yi tıklatın . |
6 |
Eklentiyi Etkinleştir iletişim kutusunda Etkinleştir'i tıklatın. |
7 |
Eklenti etkinleştirmesi tamamlandığında, Eklenti Etkinleştirme iletişim kutusunda Formu Kapat ve Yeniden Yükle'yi tıklatın . |
8 |
Eklenti etkinleştirmesini doğrulamak için, pencerenin sol üst kısmındaki Filtre gezgini alanından OpenFrame'e gidin. |
9 |
Yapılandırmalar'ı tıklatın ve OpenFrame eklentisinin OpenFrame Yapılandırmaları listesinde göründüğündan emin olun. |
1 |
Git sayfası repoda mevcut olan en yeni Sistem Güncelleme Kümesi XML dosyasını şu konumda indirin: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. Dosya Adı: webexcc-servicenow-update-setV(X).xml |
2 |
ServiceNow örneğinde, pencerenin sol üst kısmındaki Filtre gezgini alanından, Sistem Güncelleme Kümeleri> Update Setleri |
3 |
XML bağlantısından Güncelleme Kümesini Al'ı tıklatın. |
4 |
Dosya Seç'i tıklatın, Sistem Güncelleme Kümesi XML dosyasını seçin ve ardından Karşıya Yükle'yi tıklatın.
Güncelleme kümesi, Alınan Güncelleme Kümeleri listesinde görünür ve Yüklendi durumundadır .
|
5 |
Alınan Güncelleme Kümeleri listesinden , Güncelleme Kümesi Dosya Adını (bağlantısını) tıklayarak Güncelleme Kümesini açın. |
6 |
Pencerenin sağ üst kısmında, güncelleme kümesini sorun olup olmadığını kontrol etmek için Önizleme Güncelleme Kümesi'ne tıklayın . |
7 |
Önizleme tamamlandıktan sonra ÖnizlemeYi Güncelle iletişim kutusunu tıklayın . |
8 |
Güncelleme Kümesini Kaydet'i tıklatın. |
9 |
Güncelleme Kümesi tamamlandıktan sonra, Kaydet Kümesini Güncelle iletişim kutusunu tıklayın . |
1 |
Pencerenin sol üst tarafındaki Filtre gezgini alanına sys_properties.list |
2 |
Sistem Özellikleri sayfasında, özellikleri güncellenmiş tarihe göre sıralayın. Aşağıdaki İletişim Merkezi özelliklerini Webex görebildiğinize emin olun: |
3 |
Sistem Özelliği agentdesktop_url sayfasını açmak için agentdesktop_url tıklatın . |
4 |
Değer alanına, işlemin olduğu bölgeye göre Webex Contact Center Desktop URL'sini girin.
|
5 |
Değişiklikleri kaydetmek için Güncelle'yi tıklatın . |
6 |
(İsteğe bağlı) Etkinlik tablosu adını değiştirmek için webexccactivitytable özelliklerini gerektiği gibi düzenleyin . Sistem Özellikleri sayfasında, webexccactivitytable öğesinitıklayın. Değer alanını gerektiği gibi değiştirin. |
7 |
(İsteğe bağlı) Aşağıdaki yöntemlerle Kullanıcı Grupları ekleyin:
|
1 |
Filtre gezgini alanından OpenFrame . |
2 |
Yeni düğmesini tıklayın. |
3 |
URL için aşağıdaki özellikleri girin:
|
4 |
URL alanının sağındaki Kilit düğmesini tıklayın ve URL olarak agentdesktop.do |
5 |
(İsteğe bağlı) Yapılandırmayı atamak için Kullanıcı / Temsilci Grupları'nı seçin. |
6 |
Gönder'i tıklayın. URL bir bağlantı olarak görünür. |
7 |
OpenFrame telefonunu kullanmayı denemeden önce, ServiceNow özel Masaüstü Yerleşimi JSON dosyasını Webex Contact Center Management Portal'a yüklediğinizden emin olun. Daha fazla bilgi için bkz . Webex Contact Center'da ServiceNow Desktop Yerleşimini Ayarlama. |
Aşağıdaki bölümlerde lisanslı kurumsal örnekler için ServiceNow bağlayıcısını yükleme adımları anlatılmaktadır.
1 |
ServiceNow geliştirici portalı hesabınızda oturum açın ve Yönetim konsolunuzu açın. |
2 |
Hesap menüsünün Örneğim alanında, Oluşturma İşlemini Başlat'ı tıklayın . |
3 |
Geliştirici örneğinizde, pencerenin sol üst kısmındaki Filtre gezgini alanından Eklentiler'e gidin. |
4 |
Openframe başlığına sahip Openframe eklentisini arayın. Listede gezinmeniz gerekebilir. |
5 |
Openframe eklentisini yüklemek için Yükle'yi tıklatın . |
6 |
Eklentiyi Etkinleştir iletişim kutusunda Etkinleştir'i tıklatın. |
7 |
Eklenti etkinleştirmesi tamamlandığında, Eklenti Etkinleştirme iletişim kutusunda Formu Kapat ve Yeniden Yükle'yi tıklatın . |
8 |
Eklenti etkinleştirmesini doğrulamak için, pencerenin sol üst kısmındaki Filtre gezgini alanından OpenFrame'e gidin. |
9 |
Yapılandırmalar'ı tıklatın ve OpenFrame eklentisinin OpenFrame Yapılandırmaları listesinde göründüğündan emin olun. |
Kurumsal lisanslara sahip örnekler Webex Contact Center uygulamasını doğrudan ServiceNow Store'dan yükleyebilir.
Webex Contact Center paketini ServiceNow deposundan indirip yükleyin: https://store.servicenow.com/sn_appstore_store.do#!/store/application/6c8e2a4edbc73410e1c75e25ca961947. |
1 |
Pencerenin sol üst tarafındaki Filtre gezgini alanına sys_properties.list |
2 |
Sistem Özellikleri sayfasında, özellikleri güncellenmiş tarihe göre sıralayın. Aşağıdaki İletişim Merkezi özelliklerini Webex görebildiğinize emin olun: |
3 |
Sistem Özelliği agentdesktop_url sayfasını açmak için agentdesktop_url tıklatın . |
4 |
Değer alanına, işlemin olduğu bölgeye göre Webex Contact Center Desktop URL'sini girin.
|
5 |
Değişiklikleri kaydetmek 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ı) Aşağıdaki yöntemlerle Kullanıcı Grupları ekleyin:
|
1 |
Filtre gezgini alanından OpenFrame . |
2 |
Yeni düğmesini tıklayın. |
3 |
URL için aşağıdaki özellikleri girin:
|
4 |
URL alanının sağındaki Kilit düğmesini tıklayın ve URL'yi x_caci_webexcc_agentdesktop.do |
5 |
(İsteğe bağlı) Yapılandırmayı atamak için Kullanıcı / Temsilci Grupları'nı seçin. |
6 |
Gönder'i tıklayın. URL bir bağlantı olarak görünür. |
7 |
Filtre gezgini alanında, Hizmet İşlemleri Çalışma Alanı'na gidin. |
8 |
(İsteğe bağlı) Kullanıcı Grubu listesinde, Webex Contact Center Desktop'a erişebilecek kullanıcı gruplarını Uygun'dan Seçildi'ye taşıyın. |
9 |
OpenFrame telefonunu kullanmayı denemeden önce, ServiceNow özel Masaüstü Yerleşimi JSON dosyasını Webex Contact Center Management Portal'a yüklediğinizden emin olun. Daha fazla bilgi için bkz . Webex Contact Center'da ServiceNow Desktop Yerleşimini Ayarlama. |
1 |
Filtre gezgini alanında, Olaylar > Açık Olay konumuna gidin. |
2 |
Arayan alanını sağ tıklayın ve Sözlüğü Yapılandır'ı tıklayın. |
3 |
Virgülle ayrılmış Öznitelikler Artık ServiceNow konsolundaki Webex Contact Center Desktop'ı kullanmaya başlayabilirsiniz. |
4 |
Filtre gezgini alanında, Hizmet İşlemleri Çalışma Alanı'na gidin. |
Yalnızca WebRTC for Salesforce (SFDC) ve Microsoft Dynamics (MS Dynamics) Bağlayıcıları kullanarak Agent Desktop oturum açmayı destekliyoruz.
ServiceNow Console'da Agent Desktop
Dış aramalar yapmadan önce, aşağıdakileri yaptığınızdan emin olun:
-
Giden arama giriş noktasını oluşturun ve bir dış arama giriş noktası stratejisi ayarlayın.
-
Temsilci Profili için dış arama ANI'yi etkinleştirin.
-
Giden arama ANI'sini Bir Numaradan Giriş Noktasına Arama eşlemesine ayarlayın.
Daha fazla bilgi için Kurulum ve Yönetim Kılavuzu Cisco Webex Contact Center nun Hazırlama bölümüne bakın.
Filtre gezgini alanında, Hizmet İşlemleri Çalışma Alanı'na gidin.
Masaüstünü kullanma hakkında bilgi için İletişim Merkezi yardımı Webex Temsilci sekmesine bakın.
Genel Bakış
Bu makalede, ServiceNow CRM bağlayıcısı için iş kurallarınızı özelleştirmenin çeşitli yolları yer almakta. ServiceNow'a özel iş kurallarına dayalı olarak kullanım örneklerini nasıl özelleştirebileceğinizi ayrıntılı olarak içerir.
Müşterinin ServiceNow üzerindeki bu kullanım durumlarını kendi kendine yönetmesi gerekir. Yapılandırma ServiceNow'a özgüdür ve Contact Center yazılımı veya uzmanlık Webex değildir.
Bu belge, iş kurallarının değiştirilmesine yardımcı olmak için referans bir belgedir. ServiceNow geliştiricileri iş kurallarını oluşturup yönetecek ve destek sağlayacaktır.
Cisco yalnızca örnek belgeler sağlar.
İzleyen bölümlerde, geliştirici ve kurumsal örnekler için Eylemler aracı ayarlama, etkinleştirme ve yönetme hakkında ayrıntılar ve ayrıntılar sunulmaktadır.
Eylemler Aracı için Güncelleme Kümesini Kaydetme
Lisanslı kurumsal örnekler için, ServiceNow deposundan en yeni Webex Contact Center uygulamasınıyükleyin.
Geliştirici örneklerine yönelik Eylemler aracı ayarlamak için, gitscript repo'da bulunan en son Sistem Güncelleme Kümesi XML dosyasını indirin. Bu konumdaki: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Dosya adı webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Eylemler aracı için güncelleme kümesini kaydetmek için Güncelleme Kümesini Kaydetme'de2 ile 9 arasındaki adımlara bakın.
Eylemleri Etkinleştir Aracı
Eylemler bileşenini 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. Özel masaüstü düzeninin başsız bölümünde özellik her zaman false olarak ayarlanır. Özel masaüstü düzeninin yalnızca panel bölümünde özelliğin değerini güncellemelisiniz.
Özel masaüstü düzeninde Eylemler widget'ını etkinleştirdiğinizde aşağıdaki eylemleri gerçekleştirebilirsiniz:
- Etkinlik kayıtlarını yönetin—Arayanla ilişkili etkinlik kayıtlarının listesini görüntülemek için Etkinlik Kaydını Görüntüle/Düzenle öğesine tıklayın.
- CRM nesnelerini ilişkilendirin—Etkinlik 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ına ilişkilendir öğesine tıklayın.
- Olayları yönetin - Olay Oluştur'a tıklayın . Arayan kişinin bilgileri önceden doldurularak yeni bir olay oluşturulur. Olayla ilgili gerekli güncellemeleri yapabilirsiniz. İhtiyaçlarınıza bağlı olarak kayıt türünü olaydan vakaya, İK modülüne vb. göre değiştirmeyi seçebilirsiniz. Kayıt türünü değiştirmek için, Eylemler bileşeni yapılandırmasındaki typeOfRecord özelliğinin değerini değiştirin. Örnek:
{ "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" : "Olay Oluştur" }, "wrapper": { "title": "SNOW Eylemleri!", "maximizeAreaName": "app-maximize-area" } } ] }
- Canlı görüşme notları ekleyin—Metin alanına görüşme hakkında ek bilgiler alabilir ve görüşmeyi sonlandırabilirsiniz. Bu notları aktivite kaydında çağrı notu olarak eklenmiş olarak görebilirsiniz.
ServiceNow'da kod değişikliği
Komut Dosyası Değişiklikleri İçerir-
Filtre gezginine gidin ve şunu arayın:
Komut dosyası şunları içerir
.Sistem Kullanıcı Arayüzü altında Komut Dosyası İçeriği öğesini seçin.
-
Adı filtreleyin ve arayın
propUtils
. -
Yöntemi değiştir
KullanıcıGetSysId
Komut Dosyası içinde.Şu an:
UserGetSysId: function () { var açık_for; var kullanıcı = yeni GlideRecord("sys_user"); kullanıcı.addQuery(this.getParameter('alan'),this.getParameter('değer')); kullanıcı.query(); eğer (user.next()) açık_for=kullanıcı.sys_id; var grInt = yeni GlideRecord('etkileşim'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= açık_for; var sysid=grInt.insert(); return sysid; },
Olay için yeni örnek kod:
UserGetSysId: function () { var opens_for; //Olay ile ilgili değişiklikler var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opens_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', opens_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='telefon'; inc.short_description='Bu Kişiden Çağrı Alındı '+ this.getParameter('değer'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('etkileşim'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= open_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist); },
-
Filtre gezginine gidin ve
UI sayfasını
arayın.Sistem Kullanıcı Arayüzü altındaki Kullanıcı Arayüzü sayfalarınıseçin.
-
Adı filtreleyin ve arayın
ajanmasaüstü
. -
Değiştir
ekranpop
İstemci betiğindeki işlev.Mevcut fonksiyon:
// ekran açma fonksiyonu screenpop(callerani,callSessionInfo) { eğer(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('alan', 'telefon'); gaout.addParam('değer', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ varlık: 'etkileşim', sorgu: 'sys_id='+sysid });
Olay için örnek kod:
// ekran açma fonksiyonu 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(); // Olayla ilgili değişiklik için var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ varlık: 'olay', sorgu: 'sys_id='+sysObj.incsysid, 'etkileşim_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ varlık: 'olay', sorgu: 'sys_id=-1', 'etkileşim_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }
Arayan bilgisi CRM'de mevcutsa ve bu kişiyle ilgili yeni bir olay açılmışsa, uygulama devam eden olayı açar
Arayan bilgisi CRM'de mevcut değilse uygulama yeni bir olay açar
Arayan bilgisi CRM'de mevcutsa, uygulama önceden doldurulmuş ayrıntılarla yeni bir olay açar
Genel Bakış
Bu kullanım örneği, ServiceNow CRM Connector için Webex CC kurulumu sırasında ServiceNow tablosuna webexcc_imp_activity adında ekstra bir sütun ekleme ve sn_openframe_phone_log oluşturma sürecini ayrıntılı olarak açıklamaktadır.
Varsayılan olarak tablo, belirli hazır sistem alanlarını ve değerlerini içerir.
WebexCC Flow tasarımcısının içinde daha fazla işletmeye özgü değişkenler (CAD Değişkenleri) oluşturabilir ve CAD değişkenlerini ServiceNow çağrı sonrası etkinlik günlüğüne ekleyebilir ve bunları çağrı sonrası etkinlik tablosu verilerine kalıcı hale getirebilirsiniz.
Bu yalnızca bir referans dokümanıdır ve bunu, IVR içinde müşteri adını depolayan ve bunu ServiceNow'a gönderen Müşteri Adı adlı örnek bir CAD değişkeni için nasıl yapacağınızı gösterir.
Bu yapılandırmanın mevcut bağlayıcıya özel bir düzenleme olması nedeniyle, ortak+müşteri ServiceNow geliştiricilerinin bu yapılandırmayı yapılandırması ve yönetmesi beklenmektedir.
Cisco yalnızca konektörün nasıl özelleştirileceği ve genişletileceğine ilişkin teknikler sağlar.
Bu makale itibarıyla 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'ın geliştirici sürümünde düzenleyin.
-
Filtre gezginine gidin ve stüdyoyu arayın.
Seç
Webex Contact Center
veya
-
Seçin
WebexCC IMP Etkinliği
masa -
Örneğin yeni bir sütun ekleyin:
MüşteriAdı
Telefon Kaydına Sütun Ekle
-
Telefon kayıt tablosunu düzenleyin.
-
Örneğin yeni bir sütun ekleyin:
MüşteriAdı
.
WebexCC Etkinlik Dönüşüm Haritası
Örneğin yeni bir sütun ekleyin: MüşteriAdı
Alan haritalaması.
Kişisel Liste Sütunları
Service Now'ın önerdiği gibi, Seçim eylemini oluştur'dan yok say'a değiştirin.
Telefon günlükleri listesini yapılandırın
Komut Dosyasına Git
Sadece bir satır ekle webexcc.u_customername=actInfo.MüşteriAdı
propUtils'a.
Destekleyici bir yorumla birlikte şu satırı görün: 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 opens_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('alan'),this.getParameter('değer')); user.query(); if (user.next()) açıldı_için=kullanıcı.sys_id;//kullanıcı.sys_id'yi döndür; // değilse // null döndür; var grInt = new GlideRecord('etkileşim'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= açıldı_için; var sysid=grInt.insert(); sysid'yi döndür; }, Webexcctable'ı ayarla: function () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable')); webexcc.addQuery("çağrı nesnesi", 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; // Bu satır Eklendi - Etkinlik Günlüğüne kaydetmek için webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); // Olay kaydındaki Etkinlikler; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery("telefon", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('olay'); inc.addQuery('arayan_kimliği', 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 tasarımcısında bir CAD değişkeni oluşturun
Masaüstü Düzenine CAD değişkenini ekleyin
Örnek
"CadName1:SnowField1,CadName2:SnowField2" CadName1, CustomerName'dir SnowField1, yukarıda gösterilen örnek betiğin bir parçası olan CustomerName olarak da kullanılır "actInfo.CustomerName".
Demo ekran görüntüleri
Yeni eklenen CAD değişkenini WebexCC Etkinlik tablosunda görüntüleyin.
Flow Designer için CAD değişkeni oluşturun
Olay aciliyetiOlay etkisi
Service Now komut dosyası güncellemesi
Komut Dosyasına Yapılan Güncellemeler Şunları İçerir:
-
Filtre gezginine gidin ve
script includes ifadesini arayın
Sistem Kullanıcı Arayüzü altında Komut Dosyası Şunları İçerirseçeneğini belirleyin.
-
Filtrele İsim ile
propUtils
. -
Yöntemi değiştir
KullanıcıGetSysId
içinde Senaryo alan.Mevcut komut dosyası:
UserGetSysId: function () { var açık_for; var kullanıcı = yeni GlideRecord("sys_user"); kullanıcı.addQuery(this.getParameter('alan'),this.getParameter('değer')); kullanıcı.query(); eğer (user.next()) açık_for=kullanıcı.sys_id; var grInt = yeni GlideRecord('etkileşim'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= açık_for; var sysid=grInt.insert(); return sysid; },
Olay için yeni örnek kod:
UserGetSysId: function () { var açık_for; var sysidlist = {}; var kullanıcı = new GlideRecordSecure("sys_user"); kullanıcı.addQuery(this.getParameter('alan'),this.getParameter('değer')); kullanıcı.query(); if(user.next()) { açık_for=user.sys_id;//return kullanıcı.sys_id; var inc = new GlideRecordSecure('olay'); inc.addQuery('arayan_kimliği', açık_for); inc.addQuery('durum','GİRİŞ','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='telefon'; inc.urgency=this.getParameter('IncUrgency'); inc.impact=this.getParameter('Impact'); inc.short_description='Bu Kişiden Çağrı Alındı '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('etkileşim'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= open_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist);//sysid; },
-
Filtre gezginine gidin ve şunu arayın:
UI sayfaları
.Seçin UI Sayfaları seçenek altında Sistem kullanıcı arayüzü.
-
Filtrele UI Sayfaları ile İsim ve ara
ajanmasaüstü
. -
Değiştir
ekranpop
Script alanındaki fonksiyon.Mevcut fonksiyon:
// ekran açma fonksiyonu screenpop(callerani,callSessionInfo) { eğer(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('alan', 'telefon'); gaout.addParam('değer', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ varlık: 'etkileşim', sorgu: '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('alan', 'telefon'); gaout.addParam('değer', callerani); gaout.addParam('Aciliyet', Aciliyet); gaout.addParam('Etki', Etki); 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 varsa ve yeni veya devam eden bir olay yoksa, uygulama yeni bir olay açar
ServiceNow'daki kodu değiştirme
Yeni sütunlar ekleyin WebexCC IMP Etkinliği
masa
Aç WebexCC IMP Etkinliğimasa
Güncelle'ye tıklayın.
Yeni sütunlar ekleyin Telefon Kaydı
masa
Aç Telefon Kaydı
masa
WebexCC Etkinlik Dönüşüm Haritası
Açık Haritayı Dönüştür
Filtre Gezgini'nden
Tıklamak WebexCC Etkinlik TransformMap
Güncelle'ye tıklayın.
Komut dosyası içeriklerinde yapılan değişiklikler
-
Filtre gezginine gidin ve "komut dosyası içerir" ifadesini arayın.
Sistem Kullanıcı Arabirimi altında Komut Dosyası Içermeleri'ni seçin.
-
Adı şununla filtreleyin:
propUtils (PropUtils)
. -
Yöntemi değiştirin
setWebexcctable
.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()) { //Olay kaydındaki etkinlikler; //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('olay'); inc.addQuery('caller_id', suser.sys_id); inc.addQuery('durum','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=tenum; sys_id=webexcc.insert(); } dönüş sys_id; },
UI sayfalarındaki yöntem değişiklikleri
-
Filtre gezginine gidin ve şunu arayın:
Kullanıcı arayüzü sayfaları
Sistem Kullanıcı Arayüzü altında UI Sayfalarıseçeneğini seçin.
-
UI Sayfalarını Ad ile filtreleyin ve agentdesktop'ı
arayın.
-
Değiştir
nowEtkinlikler ve ekran görüntüsü
Işlevinde komut dosyası bulunur.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 != tanımsız) { 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('alan', 'telefon'); gaout.addParam('değer', callerani); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ varlık: 'olay', sorgu: '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 altındaki sürümler için geçerlidir. Daha yeni sürüm 1.0.7 ve üzeri 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ı ekleme
Her çağrı için yeni bir olay kaydı oluşturmaServiceNow içindeki WebexCC CRM bağlayıcısına yapılan her yeni çağrı için Yeni Bir Olay Kaydı oluşturun.
Filtre gezgininde İş Kurallarını Arama
Yeni düğmesini tıklayın.
Referans için örnek kod:
function customcti() { var url = null; var ad = 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 &&id != '') { userID = UserGetSysId("employee_number",eid); } if (userID == null && name != null && name != '') { userID = UserGetSysId("ad", ad); } if (userID == null &&& phone != null && phone != '') { userID = UserGetSysId("telefon", telefon); } 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; } yanıt = url; dönüş URL'si; } işlev UserGetSysId(alan, değer) { var kullanıcı = yeni GlideRecord("sys_user"); user.addQuery(alan, değer); user.query(); if (user.next()) return user.sys_id; else return null; }
İş kuralının örnek yapılandırması
İstemcinin aranabilir özelliğini etkinleştirme
Olay İçin Bilgisayar Telefon Entegrasyonu (CTI) İşleme Doğru olarakişaretlenmiştir.
Ekran pop url'sini özel CTI Kuralı " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone=" ile güncelleyin.
'Ad' işlevin adı olan sysparm_cti_rule=ad CTI Varsayılan komut dosyasını kullanmak yerine İşleniyoriçin çağrılacak addır.
İstemci tarafından aranabilir olarak işaretlenmiş sys_script birgirişte işlevi tanımlayın.
İşleve GlideRecords eklemeniz, güncellemeniz veya silmeniz gerekirse, güncellemeleri gerçekleştirmek için ayrı bir istemci olmayan çağırılabilir işlevi çağırın.
Komut dosyasının istemci tarafından aranabilir olması için, formda sys_script girişi görüntülendiğinde görüntülenen, istemci tarafından aranabilir onay kutusunu işaretlemeniz gerekir.
İstemci tarafından aranabilir onay kutusu varsayılan olarak görünmemektedir. Görüntülemek için, dişli çark simgesi ve sulu su demet mekanizmasını kullanarak formda görünen alanları değiştirmeniz gerekir.
Özelleştirme # 2 - Contact Center etkinlik tablosunda Webex CAD değişkeni ekleyin
Genel BakışBu makalede, ServiceNow tablosuna ek bir sütun ekleme işleminin ayrıntıları verilmiştir - webexcc_activity ServiceNow CRM Bağlayıcısı için Webex CC'nin yüklenmesi üzerine oluşturulmuştur.
Varsayılan olarak tablo, kutu dışı sistem alanları ve değerler içerir.
WebexCC Akışı tasarımcısı içinde, işletmeye özel daha fazla değişken (CAD Değişkenleri) oluşturabilir ve bu CAD değişkenlerini ServiceNow çağrı sonrası etkinlik günlüğü içine ekleyebilir ve bunu çağrı sonrası etkinlik tablosu verilerinde sürdürebilirsiniz.
-
Bu yalnızca referans belgeleridir ve müşteri adını IVR içinde depolayan ve ServiceNow'a postalayan Müşteri Adı adı verilen örnek bir CAD değişkeni için bunun nasıl yapıldığını gösterir.
-
İş ortağı+müşteri HizmetiŞimdi geliştiriciler, mevcut bağlayıcı için bir özelleştirme olduğundan bu yapılandırmayı yapılandırır ve yönetir.
-
Cisco yalnızca bağlayıcıyı özelleştirme ve genişletme tekniklerini sağlar.
-
Bu makaleden dolayı, 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ğrulamıştır.
Tabloyu ServiceNow'un geliştirici sürümünde düzenleyin.
Stüdyoya
gidin.WebexCC Etkinlik tablosunu seçin .
Örneğin, CustomerName.
WebexCC Etkinliği için Liste Yerleşimi seçin.
Güncelleme Kümesi XML kullanıyorsanız bu adım gerekli değildir - propUtils'e "webexcc.u_customername=actInfo.CustomerName" eklenmesi için yalnızca bir hat gerekir.

Örnek komut dosyası
Şu ile hattı görün: webexcc.u_customername=actInfo.CustomerName; bir destek yorumuyla.
var propUtils2 = Class.create(); propUtils2.prototype = Object.extendsObject(genel. AbstractAjaxWebor,{ getWebexccProp: işlev () { 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'); dönüş JSON.stringify(webexccprop); }, setWebexcctable: function () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')), var webexcc = yeni 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; // Bu hat eklenir - bunu Etkinlik Günlüğü webexcc'nde yakalamak için. u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Olay kaydındaki etkinlikler; var actInfoString =this.getParameter('actInfo'); var suser = yeni GlideRecordSecure("sys_user"); suser.addQuery("telefon", bu.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(); } } } dönüş sys_id; }, tür: 'propUtils2' });
Ui sayfasını yeni bir komut dosyası adıyla düzenleme
Flow tasarımcısında CAD değişkeni oluşturma
CAD değişkenini Masaüstü Yerleşimine ekleme
Demo ekran görüntüleri
WebexCC Etkinlik tablosunda yeni eklenen CAD değişkenini görüntüleyin.
