Webex Contact Center'ı ServiceNow ile Entegre Etme (Sürüm 1—Eski)
Ön koşullar
Şu anda bu özellik yalnızca aracılar için geçerlidir.
İletişim Merkezi'Webex ServiceNow CRM konsoluyla entegremadan önce, aşağıdakilere sahip olduğundan emin olun:
-
Webex Kişi Merkezine Erişim.
-
https://admin.webex.com ve Webex Contact Center Yönetim Portalı'nda Control Hub'a yönetici erişimi. Yönetim Portalına yönelik URL'ler bölgenize özeldir.
-
Kuzey Amerika: https://portal.wxcc-us1.cisco.com
-
Birleşik Krallık: 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 aracı. Masaüstü için URL bölgenize özeldir.
-
Kuzey Amerika: https://desktop.wxcc-us1.cisco.com
-
Birleşik Krallık: 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 aracı erişimi:
-
*.service-now.com
İzin verilenler listesini tanımlama hakkında daha fazla bilgi için Kişi Merkezi için Güvenlik Ayarları Webex bakın.
-
-
ServiceNow geliştirici portalı hesabı. Bir hesap oluşturmak için serviceNow geliştirici portalına gidin ve Kaydol'u https://developer.servicenow.com/dev.do ve Binayı Başlat öğesini tıklatın.
-
Şu dosyalara şunda erişin https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
ServiceNow Güncelleme Seti (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 Contact Center Entegrasyonu.
Aşağıdaki iki yöntemden birini uygulayın:
Geliştirici örnekleri için geliştirici örneği kılavuzu altındaki adımları izlemenizi öneririz.
Işletme lisanslı bir örneğiniz varsa işletme lisanslı örnekler için yönergeleri izleyin.
Kuruluş lisanslı uygulamanın geliştirici sandbox örnekleriyle karıştırılmasını önermiyoruz.
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ında , Binaya Başla'ya tıklayın. |
3 |
Geliştirici örneğinizde, pencerenin sol üst tarafındaki Filtre gezgini alanından Eklentiler’e gidin. |
4 |
Openframe başlığına sahip Openframe eklentisini arayın. Listede ekranı kaydırabilirsiniz. |
5 |
Openframe eklentisini yüklemek için Yükle'yi tıklatın. |
6 |
Eklentiyi Etkinleştir iletişim kutusu Etkinleştir'e tıklayın. |
7 |
Eklenti etkinleştirme tamamlandığında Eklenti Etkinleştirme iletişim kutusunda Formu Kapat ve Yeniden Yükle ’ye tıklayın. |
8 |
Eklenti etkinleştirmesini doğrulamak için pencerenin sol üst köşesindeki Filter navigator alanından OpenFrame'e gidin. |
9 |
Yapılandırmalar'a tıklayın ve OpenFrame eklentisinin OpenFrame Yapılandırmaları listesinde göründüğünden emin olmak için. |
1 |
Şu konumdaki github repo’da bulunan en son Sistem Güncelleme Seti XML dosyasını indirin: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. Dosya Adı: webexcc-servicenow-update-setV(X).xml |
2 |
ServiceNow örneğinizde, pencerenin sol üst köşesindeki Filtre gezgini alanında, ’ye gidin. |
3 |
XML'den Ayarlanmış Güncellemeyi İçe Aktar bağlantısına tıklayın. |
4 |
Dosya Seçin’e tıklayın, Sistem Güncelleme Seti XML dosyasını seçin ve ardından Yükle’ye tıklayın.
Güncelleme seti, Alınan Güncelleme Setleri listesinde görünür ve Yüklenen durumdadır .
|
5 |
Alınan Güncelleme Setleri listesinden, Güncelleme Seti Dosya Adını (bağlantı) tıklayarak Güncelleme Setini açın. |
6 |
Pencerenin sağ üst köşesinde, sorunlar için güncelleme setlerini kontrol etmek için Güncelleme Setlerini Öle'ye tıklayın. |
7 |
Önizleme tamamlandıktan sonra Güncelleme Ayarı Önizlemesi iletişim kutusunda Kapat ’a tıklayın. |
8 |
Güncelle'yi Tamamla'ya tıklayın. |
9 |
Güncelleme Seti işlemi tamamlandıktan sonra Güncelleme Seti Taahhüt iletişim kutusunda Kapat ’a tıklayın. |
1 |
Pencerenin sol üst tarafındaki Filtre gezgini alanına |
2 |
Sistem Özellikleri sayfasında, özellikleri güncel tarihe göre sırala. İletişim Merkezi özellikleri için aşağıdaki Webex emin edin: |
3 |
Sistem agentdesktop_url Özelliği sayfasını açmak için tıklatın agentdesktop_url . |
4 |
Değer alanına, çalışma bölgesine göre Webex Contact Center Desktop URL’sini girin.
|
5 |
Değişiklikleri kaydetmek için Güncelle'ye tıklayın. |
6 |
(İsteğe bağlı) Etkinlik tablosu adını değiştirmek için webexccactivitytable özelliklerini gerektiğinde düzenleyin. Sistem Özellikleri sayfasında webexccactivitytable’a tıklayın. Değer alanını gerektiği gibi değiştirin. |
7 |
(Isteğe bağlı) Kullanıcı Gruplarını aşağıdaki yöntemlerle ekleyin:
|
1 |
Filter navigator alanında, OpenFrame ve Yapılandırmalar |
2 |
Yeni öğesini tıklayın. |
3 |
URL için aşağıdaki özellikleri girin:
|
4 |
URL alanının sağında Kilitle düğmesine tıklayın ve |
5 |
(Isteğe bağlı) Yapılandırmayı atamak için Kullanıcı/Temsilci Gruplarını seçin. |
6 |
Gönder’e tıklayın. URL bağlantı olarak görünür. |
7 |
OpenFrame telefonunu kullanmayı denemeden önce, ServiceNow özel Masaüstü Düzeni JSON dosyasını Webex Iletişim Merkezi Yönetim Portalı'na yüklediğinizden emin olun. Daha fazla bilgi için bkz. Webex Contact Center’da ServiceNow Masaüstü Düzenini Ayarlama. |
1 |
ServiceNow için masaüstü düzenini şuradan indirin: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
Gerekirse, Masaüstü Düzeni dosyasındaki özellikleri güncelleyin. |
3 |
Webex Kişi Merkezi Yönetim Portalı'ne gidin. |
4 |
Yönetim Portalı navigasyon çubuğunda, |
5 |
Yeni Düzen'e tıklayın ve masaüstü düzeni için ayrıntıları girin. |
6 |
ServiceNow Masaüstü Düzeni JSON dosyasını yükleyin. |
7 |
Yapılandırmayı kaydetmek için Son’a tıklayın. Artık ServiceNow konsolunda Webex Kişi Merkezi Masaüstü'nu başlatabilirsiniz. |
8 |
Filtre gezgini alanından ’na gidin. |
Aşağıdaki bölümlerde, lisanslı kuruluş ö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ında , Binaya Başla'ya tıklayın. |
3 |
Geliştirici örneğinizde, pencerenin sol üst tarafındaki Filtre gezgini alanından Eklentiler’e gidin. |
4 |
Openframe başlığına sahip Openframe eklentisini arayın. Listede ekranı kaydırabilirsiniz. |
5 |
Openframe eklentisini yüklemek için Yükle'yi tıklatın. |
6 |
Eklentiyi Etkinleştir iletişim kutusu Etkinleştir'e tıklayın. |
7 |
Eklenti etkinleştirme tamamlandığında Eklenti Etkinleştirme iletişim kutusunda Formu Kapat ve Yeniden Yükle ’ye tıklayın. |
8 |
Eklenti etkinleştirmesini doğrulamak için pencerenin sol üst köşesindeki Filter navigator alanından OpenFrame'e gidin. |
9 |
Yapılandırmalar'a tıklayın ve OpenFrame eklentisinin OpenFrame Yapılandırmaları listesinde göründüğünden emin olmak için. |
Kuruluş lisansına sahip örnekler, Webex Contact Center uygulamasını doğrudan ServiceNow Store’dan yükleyebilir.
ServiceNow mağazasından Webex Contact Center paketini indirip yükleyin: https://store.servicenow.com/sn_appstore_store.do#!/store/application/6c8e2a4edbc73410e1c75e25ca961947. |
1 |
Pencerenin sol üst köşesindeki Filter navigator alanına .list |
2 |
Sistem Özellikleri sayfasında, özellikleri güncel tarihe göre sırala. İletişim Merkezi özellikleri için aşağıdaki Webex emin edin: |
3 |
Sistem agentdesktop_url Özelliği sayfasını açmak için tıklatın agentdesktop_url . |
4 |
Değer alanına, çalışma bölgesine göre Webex Contact Center Desktop URL’sini girin.
|
5 |
Değişiklikleri kaydetmek için Güncelle'ye tıklayın. |
6 |
(Isteğe bağlı) Etkinlik tablosu adını değiştirmek için x_caci_webexcc.webexccactivitytable özelliklerini gerektiği gibi düzenleyin.
|
7 |
(Isteğe bağlı) Kullanıcı Gruplarını aşağıdaki yöntemlerle ekleyin:
|
1 |
Filter navigator alanında, OpenFrame ve Yapılandırmalar |
2 |
Yeni öğesini tıklayın. |
3 |
URL için aşağıdaki özellikleri girin:
|
4 |
URL alanının sağında Kilitle düğmesine tıklayın ve URL olarak |
5 |
(Isteğe bağlı) Yapılandırmayı atamak için Kullanıcı/Temsilci Gruplarını seçin. |
6 |
Gönder’e tıklayın. URL bağlantı olarak görünür. |
7 |
Filtre gezgini alanından ’na gidin. |
8 |
(Isteğe bağlı) Kullanıcı Grubu listesinde, Webex Contact Center Desktop'a Kullanılabilir 'dan Seçili'ye erişebilecek kullanıcı gruplarını taşıyın. |
9 |
OpenFrame telefonunu kullanmayı denemeden önce, ServiceNow özel Masaüstü Düzeni JSON dosyasını Webex Iletişim Merkezi Yönetim Portalı'na yüklediğinizden emin olun. Daha fazla bilgi için bkz. Webex Contact Center’da ServiceNow Masaüstü Düzenini Ayarlama. |
1 |
ServiceNow için masaüstü düzenini şuradan indirin: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
Gerekirse, Masaüstü Düzeni dosyasındaki özellikleri güncelleyin. |
3 |
Webex Kişi Merkezi Yönetim Portalı'ne gidin. |
4 |
Yönetim Portalı navigasyon çubuğunda, |
5 |
Yeni Düzen'e tıklayın ve masaüstü düzeni için ayrıntıları girin. |
6 |
ServiceNow Masaüstü Düzeni JSON dosyasını yükleyin. |
7 |
Yapılandırmayı kaydetmek için Son’a tıklayın. Artık ServiceNow konsolunda Webex Kişi Merkezi Masaüstü'nu başlatabilirsiniz. |
8 |
Filtre gezgini alanından ’na gidin. |
1 |
Filtre gezgini alanından Olaylar > Olayı Aç’a gidin. |
2 |
Arayan alanına sağ tıklayın ve Sözlüğü Yapılandır’a tıklayın. |
3 |
Virgülle ayrılmış Artık ServiceNow konsolunda Webex Contact Center Desktop'ı kullanmaya başlayabilirsiniz. |
4 |
Filtre gezgini alanından ’na gidin. |
Şu anda Masaüstü seçeneğini (WebRTC) kullanarak Agent Desktop’ta oturum açmayı desteklemiyoruz.
ServiceNow Konsolundaki Temsilci Masaüstü
Dışarıyı aramadan önce şunları gerçekleştirin:
-
Dışarıyı giriş noktasını oluşturun ve outdial giriş noktası stratejisi ayarlayın.
-
Aracı Profili için dışarıyı ANI'yi etkinleştirin.
-
Dışarıyı ANI'yi Çevir Numarası- Giriş Noktası eşlemesi olarak ayarlayın.
Daha fazla bilgi için Cisco Webex Contact Center Kurulum ve Yönetim Kılavuzu 'nun Sağlama bölümüne bakın.
Filtre gezgini alanından ’na gidin.
Masaüstünü kullanma hakkında bilgi için Webex Contact Center yardımındaki 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ı anlatılmaktadır. ServiceNow'a özel iş kurallarına göre kullanım durumlarını nasıl özelleştirebileceğinizi detaylandırır.
Müşteri, bu kullanım durumları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 özgüdür.
Bu, iş kurallarında değişiklik yapılmasına yardımcı olan bir referans belgedir. ServiceNow geliştiricileri iş kurallarını oluşturur ve yönetir ve destek sağlar.
Cisco yalnızca örnek belgeler sağlar.
Aşağıdaki bölümlerde, geliştirici ve kurumsal örnekler için Eylemler pencere öğesinin nasıl kurulacağı, etkinleştirileceği ve yönetileceği hakkında bilgiler verilmektedir.
Eylemler için Güncelleme Ayarını Işleme Aracı
Lisanslı kurumsal örnekler için ServiceNow mağazasından en son Webex Contact Center uygulamasını yükleyin.
Geliştirici örnekleri için Eylemler pencere öğesini ayarlamak için şu konumdaki github repo'da bulunan en son Sistem Güncelleme Seti XML dosyasını indirin: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Dosya adı webexcc-servicenow-update-setv7-1-ActionsWidget.xml'dir. Eylemler pencere öğesi için güncelleme ayarını uygulamak için Güncelleme Setini Uygula'daki 2'den 9'a kadar olan adımlara bakın.
Eylemler Pencere Öğesini Etkinleştir
Eylemler pencere öğesini 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üncellemelisiniz.
Özel masaüstü düzeninde Eylemler pencere öğesini etkinleştirdikten sonra, aşağıdaki eylemleri gerçekleştirebilirsiniz:
- Etkinlik kayıtlarını yönet—Arayanla ilişkili etkinlik kayıtlarının listesini görüntülemek için Etkinlik Kaydını Görüntüle/Düzenle ’ye tıklayın.
- CRM nesnelerini ilişkilendir—Etkinlik kaydına çağrı türü (gelen veya giden), çağrı nesnesi, çağrı notları vb. gibi CRM nesnelerini eklemek için Etkinlik kayıtlarıyla ilişkilendir seçeneğine tıklayın.
- Olayları yönet—Olay Oluştur’a tıklayın. Arayan ayrıntıları önceden doldurulmuş yeni bir olay oluşturulur. Olayla ilgili gerekli güncellemeleri yapabilirsiniz. Gereksinimlerinize bağlı olarak kayıt türünü olaydan duruma, IK modülüne vb. değiştirmeyi seçebilirsiniz. Kayıt türünü değiştirmek için Eylemler pencere öğesi 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" : "Olay Oluştur" }, "sarmalayıcı": { "title": "KAR Eylemleri !", "maximizeAreaName": "app-maximize-area" } } ] }
- Canlı çağrı notları ekleme—Metin alanında çağrıyla ilgili ek bilgiler yakalayabilir ve çağrıyı toparlayabilirsiniz. Bu notları, etkinlik kaydında çağrı notları olarak eklendiğini görebilirsiniz.
ServiceNow’da kod değişikliği
Komut Dosyası Değişiklikleri içerir-
Filtre gezgini’ne gidin ve
komut içerenleri
araması yapın.Sistem UI ’nin altında Komut Dosyaları Dahil’i seçin.
-
Ad ’ı filtreleyin ve
propUtils
araması yapın. -
Script
’te UserGetSysId yöntemini değiştirin.Işleyici:
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; //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()) { opened_for=kullanıcı.sys_id;//kullanıcıyı geri gönderin.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='telefon'; 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Örnek 1. sysid() Example
-
Filtre Gezgini'ne gidin ve
UI sayfası
arayın.Sistem Kullanıcı Arabirimi altında Kullanıcı Arabirimi sayfaları'nı seçin.
-
Ad ’ı filtreleyin ve
agentdesktop
araması yapın. -
Istemci komut dosyasındaki
screenpop işlevini değiştirin.Mevcut işlev:
// ekran pop işlevi 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: 'etkileşim', sorgu: 'sys_id='+sysid });
Vaka için örnek kod:
// ekran pop işlevi 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 var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'olay', sorgu: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'olay', sorgu: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }
Arayan bilgisi CRM’de varsa ve bu kişiyle zaten yeni bir olay açıksa uygulama işlem olayını açar
Arayan bilgileri CRM'de yoksa uygulama yeni bir olay açar
Arayan bilgileri CRM'de varsa uygulama önceden doldurulmuş ayrıntılarla yeni bir olay açar
Genel Bakış
Bu kullanım durumu, ServiceNow tablosuna ek bir sütun ekleme ve ServiceNow CRM Bağlayıcısı için Webex CC yüklendikten sonra webexcc_imp_activity oluşturma sn_openframe_phone_log işlemini detaylandırır.
Varsayılan olarak, tablo kutunun dışındaki bazı sistem alanlarını ve değerleri içerir.
WebexCC Flow tasarımcısının içinde daha fazla işletmeye özgü değişken (CAD Değişkenleri) oluşturabilir ve CAD değişkenlerini ServiceNow sonrası etkinlik günlüğü içine ekleyebilir ve bunu çağrı sonrası etkinlik tablosu verilerine devam edebilirsiniz.
Bu yalnızca referans belgeleridir - ve bunun, müşteri adını IVR'de depolayan ve bunu ServiceNow'a gönderen Müşteri Adı adlı örnek bir CAD değişkeni için nasıl yapılacağını gösterir.
Mevcut bağlayıcıya yönelik bir özelleştirme olması nedeniyle, iş ortağı+müşteri ServiceNow geliştiricilerinin bu yapılandırmayı yapılandırması ve yönetmesi beklenmektedir.
Cisco, yalnızca bağlayıcının nasıl özelleştirileceği ve uzatılacağına ilişkin teknikler 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 eklenmesi için desteği doğruladı:
WebexCC IMP Etkinliğine Sütun Ekle
-
Tabloyu ServiceNow geliştirici sürümünde düzenleyin.
-
Filtre gezgini'ne gidin ve stüdyoyu arayın.
Webex Contact Center
’ı seçinveya
-
WebexCC IMP Etkinliği
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üşüm Haritası
Yeni bir sütun ekleyin, örneğin, CustomerName
alan eşlemesi.
Liste Sütunlarını Kişiselleştirme
Service Now’ın önerdiği gibi, oluşturma işleminden yoksaymak üzere Seçim eylemini değiştirin.
Telefon günlükleri listesini yapılandır
Betik Ekle’ye git
propUtils’e yalnızca bir satır webexcc.u_customername=actInfo.CustomerName
ekleyin.
Örnek komut dosyası
Hatta bakın: webexcc.u_customername=actInfo.CustomerName; destekleyici bir yorumla birlikte.
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.CallType; webexcc.calldisposition=actInfo.CallDisposition; // Bu hat Eklenmiştir - webexcc Etkinlik Günlüğünde yakalamak için.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_idSessiz ol.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; }, tür: 'propUtils' });
Akış tasarımcısında bir CAD değişkeni oluştur
CAD değişkenini Masaüstü Düzenine ekle
Örnek
"CadName1:SnowField1,CadName2:SnowField2" CadName1 CustomerName SnowField1 aynı zamanda "actInfo.CustomerName" üzerinde örnek scirpt showen parçası olan CustomerName olarak da kullanılır.
Demo ekran görüntüleri
Yeni eklenen CAD değişkenini WebexCC Etkinlik tablosunda görüntüleyin.
Akış Tasarımcısı için CAD değişkeni oluştur
Arıza aciliyetiArıza etkisi
Service Now komut dosyası güncellemesi
Betik Güncellemeleri Şunları Içerir:
-
Filtre gezgini'ne gidin ve
komut içerenleri
araması yapınSistem UI ’nin altında Komut Dosyaları Dahil seçeneğini belirleyin.
-
Ad ’ı
propUtils
ile filtreleyin. -
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=kullanıcı.sys_id;//kullanıcıyı geri gönderin.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_forvar sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist);//sysid; },
-
Filtre gezgini'ne gidin ve
UI sayfaları
arayın.Sistem Kullanıcı Arabirimi altında UI Sayfaları seçeneğini belirleyin.
-
Kullanıcı Arayüzü SayfalarınıAd ile filtreleyin ve
agentdesktop
araması yapın. -
Komut alanında
screenpop
işlevini değiştirin.Mevcut işlev:
// ekran pop işlevi 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: 'etkileşim', sorgu: 'sys_id='+sysid }); }
Vaka için örnek kod:
// ekran pop işlevi screenpop(callerani,callSessionInfo) { var Impact=3; if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact!value; } var IncUrgency=3; if(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: 'olay', sorgu: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'olay', sorgu: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem ("screenpopinteraction",JSON.stringify(sysObj)); }
Arayan bilgileri CRM’de varsa ve yeni veya ilerleme durumu yoksa uygulama yeni bir olay açar
ServiceNow’daki kodu değiştirin
WebexCC IMP Etkinliği
tablosuna yeni sütunlar ekleyin
WebexCC IMP Etkinliğitablosunu açın Yeni bir sütun ekleyin - InteractionsNumber Yeni bir sütun ekleyin - IncidentNumber
Güncelle’ye tıklayın.
Telefon Günlüğü
tablosuna yeni sütunlar ekleyin
Telefon Günlüğü
tablosunu açın
WebexCC Etkinlik Dönüşüm Haritası
Filtre gezgininden dönüşüm haritasını
aç
WebexCC Activity TransformMap
’e tıklayın
Güncelle öğesine tıklayın.
Komut Dosyasındaki Değişiklikler Şunları Içerir:
-
Filtre gezgini'ne gidin ve "komut içerenleri" araması yapın.
Sistem UI ’nin altında Komut Dosyaları Dahil’i seçin.
-
Ad ’ı
propUtils
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=""; eylemBilgisini sil ['interaction_sys_id']; eylemBilgisini sil['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_idSessiz ol.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=eklenmiştir; webexcc.u_interactionsnumber=intenum; sys_id=webexcc.insert(); } return sys_id; },
Kullanıcı arayüzü sayfalarındaki yöntem değişiklikleri
-
Filtre gezgini’ne gidin ve
UI sayfaları
arayınSistem Kullanıcı Arabirimi altında UI Sayfaları seçeneğini belirleyin.
-
Kullanıcı Arayüzü Sayfalarını
Ad
ile filtreleyin ve agentdesktop araması yapın. -
Komutta
nowActivities ve screenpop
işlevini değiştirin.Mevcut işlev:
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); }
Vaka 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: 'olay', sorgu: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'olay', sorgu: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem ("screenpopinteraction",JSON.stringify(sysObj)); }
Güncellemeden sonra sonuçlar
Aşağıdaki özelleştirmeler, 1.0.5 ve aşağıdaki sürümler için geçerlidir. Yeni 1.0.7 ve üzeri sürümlerin özelleştirmeleri için yukarıdaki adımları uygulayın.
Özelleştirme No 1 - Çağrı akışı kullanım durumları için özel iş kuralları ekleyin
Her çağrı için yeni bir olay kaydı oluşturServiceNow’daki WebexCC CRM bağlayıcısına yapılan her yeni çağrı için Yeni bir Olay Kaydı oluşturun.
Filtre gezgininde Iş Kurallarını arayın
Yeni’ye tıklayın.
Referans için örnek kod:
function customcti() {var url = null; var name = sysparm_caller_name; ramazan = sysparm_caller_id; var telefon = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; if (fQuery == null) fQuery = ''; var view = sysparm_view; eğer (görünüm == boş || 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; } eğer (url == null) { url = "incident.do?sys_id=-1"; if (fQuery != null) url += "&sysparm_query=" + fQuery; } answer = url; return url; } function UserGetSysId(alan, değer) { var user = new GlideRecord("sys_user"); user.addQuery(alan, değer); user.query(); if (user.next()) return user.sys_id; aksi takdirde boş döndürür; }
Iş kuralının örnek yapılandırması
Sessiz Istemciyi etkinleştir
Arıza için Bilgisayar Telefon Entegrasyonu (CTI) IşlemeTrue olarak işaretlenir.
Ekran açılır url’sini özel CTI Kuralı ile güncelleyin " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="
sysparm_cti_rule=ad ; 'ad', bir fonksiyonun adıdır ve CTI Işleme için varsayılan komut dosyası kullanmak yerine çağrılacaktır.
sys_script Sessiz istemci olarak işaretlenmiş bir girişte işlevi tanımlayın.
Fonksiyona herhangi bir GlideRecords eklemeniz, güncellemeniz veya silmeniz gerekirse güncellemeleri gerçekleştirmek için ayrı bir istemci olmayan sessiz işlevi arayın.
Bir betiği istemci-sessiz hale getirmek için, sys_script giriş görüntülenirken görüntülenen formda istemci-sessiz onay kutusunu işaretlemeniz gerekir.
Istemci tarafından kapatılabilir onay kutusu varsayılan olarak gösterilmez. 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 No 2 - Webex Iletişim Merkezi etkinlik tablosuna CAD değişkeni ekleme
Genel BakışBu makalede, webexcc_activity ServiceNow CRM Bağlayıcısı için Webex CC yüklendiğinde oluşturulan ServiceNow tablosuna ek bir sütun ekleme süreci açıklanmaktadır.
Varsayılan olarak, tablo kutu dışı sistem alanlarını ve değerlerini içerir.
Potansiyel olarak, WebexCC Flow tasarımcısı içinde daha fazla işletmeye özgü 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 devam ettirebilirsiniz.
-
Bu yalnızca referans belgeleridir - ve bunun, müşteri adını IVR'de depolayan ve bunu ServiceNow'a gönderen Müşteri Adı adlı örnek bir CAD değişkeni için nasıl yapılacağını gösterir.
-
Iş ortağı+müşteri ServiceNow 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önetecek.
-
Cisco, yalnızca bağlayıcının nasıl özelleştirileceği ve uzatılacağına ilişkin 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 eklenmesi için desteği doğruladı.
Tabloyu ServiceNow geliştirici sürümünde düzenleyin.
’a gidin.
WebexCC Etkinliği tablosunu seçin.
Örneğin, CustomerName.
WebexCC Etkinliği için Liste Düzeni'ni seçin.
Güncelleme Seti XML’sini kullanıyorsanız bu adım gerekli değildir - propUtils’e “webexcc.u_customername=actInfo.CustomerName” ifadesinin eklenmesi yalnızca bir satır gereklidir.
Örnek komut dosyası
Şu ifadeyle bakın:webexcc.u_customername=actInfo.CustomerName; destekleyici bir yorumla birlikte.
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.CallType; webexcc.calldisposition=actInfo.CallDisposition; // Bu hat Eklenmiştir - webexcc Etkinlik Günlüğünde yakalamak için.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_idSessiz ol.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; }, tür: 'propUtils2' });
Kullanıcı Arayüzü sayfasını yeni bir komut dosyası adıyla düzenleyinAkış tasarımcısında bir CAD değişkeni oluştur
CAD değişkenini Masaüstü Düzenine ekle
Demo ekran görüntüleri
Yeni eklenen CAD değişkenini WebexCC Etkinlik tablosunda görüntüleyin.