H1 Webex i ServiceNow
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 tarafındaki Filtre gezgini alanından, Gidin. |
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. |
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, bu konumdaki gitscript repo'unda bulunan en yeni Sistem Güncelleme Kümesi 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. 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 aracını etkinleştirmek için isWidgetDisplayEnabled özelliğini kullanın. Özel masaüstü yerleşiminin başsız bölümünde bu özelliğin değerini değiştirmemelisiniz. Özel masaüstü yerleşiminin başsız bölümünde özellik her zaman false olarak ayarlanır. Özelliğin değerini yalnızca özel masaüstü yerleşiminin panel bölümünde güncellemeniz gerekir.
Eylemler aracı özel masaüstü yerleşiminde etkinleştirdikten sonra, aşağıdaki eylemleri gerçekleştirebilirsiniz:
- Etkinlik kayıtlarını yönetme—Arayanla ilişkili etkinlik kayıtlarının listesini görüntülemek için Etkinlik Kaydını Görüntüle/Düzenle'yi tıklayın .
- CRM nesnelerini ilişkilendir—Etkinlik kaydına çağrı türü (gelen veya giden), çağrı nesnesi, çağrı notları vb. CRM nesneleri eklemek için Etkinlik kayıtlarıyla ilişkilendir'i tıklatın .
- Olayları yönetme—Olay Oluştur'u tıklayın. Arayan ayrıntıları önceden doldurulurken yeni bir olay oluşturulur. Olayla ilgili gerekli güncellemeleri yapabilirsiniz. Kayıt türünü olaydan büyük/küçük harfe, İk modülüne vb. gereksinimlerinize göre değiştirmeyi seçebilirsiniz. Kayıt türünü değiştirmek için, Eylemler aracı yapılandırmasında typeOfRecord özelliğinin değerini değiştirin. Örnek:
{ "comp": "md-tab-panel", "nitelikler": { "yuva": "panel", "sınıf": "araç bölmesi" }, "children": [ { "comp": "agentx-custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "properties": { "isWidgetDisplayEnabled": true, "typeOfRecord" : "Create Incident" }, "kaplayıcı": { "title": "SNOW Actions ", "maximizeAreaName": "app-maximize-area" } } }
- Canlı arama notları ekleme—Metin alanında aramayla ilgili ek bilgiler yakalayabilir ve çağrıyı özetleyebilirsiniz. Bu notların etkinlik kaydına çağrı notları olarak eklendiğini görebilirsiniz.
ServiceNow üzerinde kod değişikliği
Komut Dosyası değişiklikleri içerir-
Gezgini filtrelemeye gidin ve
Komut dosyası şunları içerir
.Sistem UI altında Komut Dosyası İçeriğiniseçin.
-
Adı filtreleme ve arama
propUtils
. -
Yöntemi değiştirme
KullanıcıGetSysId
Komut dosyasındadır .Kur:
UserGetSysId: function () { var opened_for; var kullanıcısı = yeni GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')), user.query(); if (user.next()) opened_for=user.sys_id; vargint = yeni GlideRecord('interaction'); griInt.initialize(); grInt.assigned_to= gs.getUserID(); webInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=ctsint.insert(); return sysid; },
Olay için yeni örnek kod:
UserGetSysId: function () { var opened_for; //Olayla 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=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.getUniqueAyrınma(); }else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='phone'; inc.short_description=''Çağrı '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var sint = yeni GlideRecordSecure('interaction'); ctsnInt.initialize(); grInt.assigned_to= gs.getUserID(); cts.type= 'telefon'; grInt.opened_for= opened_for; var sysid=griint.insert(); sysidlist.sysid=sysid; dönüş JSON.stringify(sysidlist); },
-
Gezgini filtrelemeye gidin ve UI sayfasını
arayın
.Sistem UI altından UI sayfalarını seçin.
-
Adı filtreleme ve arama
Temsilci masası
. -
'nı değiştirme
Ekran doldurma
Işlevi istemci komut dosyasındadır .Geçerli işlev:
ekran pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } varout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'), gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ varlık: 'interaction', query: 'sys_id='+sysid });
Olayın örnek kodu:
ekran pop function screenpop(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, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ varlık: 'olay', sorgu: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); }
ARAYAN bilgileri CRM'de mevcutsa ve bu iletişim kaydında zaten yeni bir olay açıksa, uygulama bu proje dışı olayı açar.
ARAYAN bilgileri CRM'de mevcut değilse, uygulama yeni bir olay açar
ARAYAN bilgileri CRM'de mevcutsa, uygulama önceden doldurulmuş ayrıntılarla birlikte yeni bir olay açar
Genel Bakış
Bu kullanım konusu, ServiceNow tablosuna ek bir sütun ekleme işleminin ayrıntılarını içerir - webexcc_imp_activity ve ServiceNow CRM Bağlayıcısı için Webex CC'nin yüklenmesi üzerine sn_openframe_phone_log oluşturun.
Varsayılan olarak, tablo kutu dışında belirli sistem alanlarını ve değerlerini içerir.
WebexCC Akışı tasarımcısının içinde, işletmeye özel daha fazla değişken (CAD Değişkenleri) oluşturabilir ve ServiceNow çağrı sonrası etkinlik günlüğünün içine CAD değişkenlerini ekleyebilir ve ayrıca bunu çağrı sonrası etkinlik tablosu verilerinde sürdürebilirsiniz.
Bu yalnızca referans belgelerdir 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.
Mevcut bağlayıcı için bir özelleştirme olduğundan, iş ortağı+müşteri ServiceNow geliştiricilerin bu yapılandırmayı yapılandırıp yöneteceği beklenir.
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:
WebexCC IMP Etkinliğine Sütun Ekleme
-
Tabloyu ServiceNow'un geliştirici sürümünde düzenleyin.
-
Filtre gezginine gidin ve stüdyoyu arayın.
Seç
Webex Contact Center
veya
-
Öğesini seçin.
WebexCC IMP Etkinliği
masa -
Örneğin yeni bir sütun ekleyin.
Müşteri Adı
Telefon Günlüğüne Sütun Ekleme
-
Telefon günlüğü tablosunu düzenleyin.
-
Örneğin yeni bir sütun ekleyin.
Müşteri Adı
.
WebexCC Etkinlik Dönüşüm Haritası
Örneğin yeni bir sütun ekleyin. Müşteri Adı
Alan eşleme.
Liste Sütunlarını Kişiselleştirme
Service Now'ın önerdiği gibi, Seçim eylemini oluşturmadan yoksaymaya değiştirin.
Telefon günlükleri listesini yapılandırma
Komut Dosyası Dahil Et'e git
Yalnızca bir hat ekleme webexcc.u_customername=actInfo.CustomerName
propUtils için.
Örnek komut dosyası
Bkz. hat: webexcc.u_customername=actInfo.CustomerName; bir destek yorumuyla.
var propUtils = Class.create(); propUtils.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); }, UserGetSysId: function () { var opened_for; var kullanıcı = yeni 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 sint = yeni GlideRecord('interaction'); ctsnInt.initialize(); grInt.assigned_to= gs.getUserID(); cts.type= 'telefon'; grInt.opened_for= opened_for; var sysid=griint.insert(); return sysid; }, 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 Eklendi - onu Etkinlik Günlüğü webexcc.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(actInfoString),null,2); inc.comments =jsonPretty; inc.update(); } } } dönüş sys_id; }, tür: 'propUtils' });
Flow tasarımcısında CAD değişkeni oluşturma
CAD değişkenini Masaüstü Yerleşimine ekleme
Örnek
"CadName1:SnowField1,CadName2:SnowField2" CadName1 is CustomerName SnowField1, "actInfo.CustomerName" üzerindeki örnek scirpt showen'ın parçası olan CustomerName olarak da kullanılır.
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ın aciliyet süresiOlayın etkisi
Service Now komut dosyası güncellemesi
Komut Dosyasındaki Güncellemeler şunları içerir
-
Filtre gezginine gidin ve komut dosyası için
arama şunları içerir
Sistem UI altında Komut Dosyası İçerenLerseçeneğini belirleyin.
-
Adı propUtils ile
filtreleyin
. -
Yöntemi değiştirme
KullanıcıGetSysId
öğesini seçin .Geçerli komut dosyası:
UserGetSysId: function () { var opened_for; var kullanıcısı = yeni GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')), user.query(); if (user.next()) opened_for=user.sys_id; vargint = yeni GlideRecord('interaction'); griInt.initialize(); grInt.assigned_to= gs.getUserID(); webInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=ctsint.insert(); return sysid; },
Olay için yeni örnek kod:
UserGetSysId: function () { var opened_for; var sysidlist = {}; var kullanıcı = yeni 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.getUniqueOte(); }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 sint = yeni GlideRecordSecure('interaction'); ctsnInt.initialize(); grInt.assigned_to= gs.getUserID(); cts.type= 'telefon'; grInt.opened_for= opened_for; var sysid=griint.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist)//sysid; },
-
Filtre gezginine gidin ve UI sayfalarını arayın
.
Sistem UI altındaki UI Sayfaları seçeneğini belirleyin.
-
KULLANıCı Arabirimi Sayfalarını Adla filtreleyin ve temsilci masası araması
yapın
. -
'nı değiştirme
Ekran doldurma
Komut dosyası alanındaki işlevi.Geçerli işlev:
ekran pop 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(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ varlık: 'interaction', query: 'sys_id='+sysid }); }
Olayın örnek kodu:
ekran pop fonksiyonu screenpop(callerani,callSessionInfo) { var Impact=3; if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact != tanımlanmamış) { Impact=callSessionInfo.callAssociatedData.Impact.value; } var IncUrgency=3; if(callSessionInfo.callAssociatedData.Urgency != null && callSessionInfo.callAssociatedData.Urgency != tanımlanmamış) { IncUrgency=callSessionInfo.callAssociatedData.Urgency.value; } if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = yeni GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', arayan); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam('Etki', Etki); 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({ varlık: 'olay', sorgu: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }
ARAYAN bilgileri CRM'de mevcutsa ve yeni veya profesyonel olmayan bir olay yoksa, uygulama yeni bir olay açar
ServiceNow üzerindeki kodu değiştirme
'e yeni sütunlar ekleme WebexCC IMP Etkinliği
masa
'nı açın. WebexCC IMP Etkinliğimasa Yeni sütun ekleme - EtkileşimSayısı Yeni sütun ekleme - OlaySayısı
Güncelle'yi tıklayın.
'e yeni sütunlar ekleme Telefon Günlüğü
masa
'nı açın. Telefon Günlüğü
masa
WebexCC Etkinlik Dönüşüm Haritası
Açık Dönüşüm haritası
Filtre gezgininden
Tıklayın WebexCC Etkinlik Dönüşüm Haritası
Güncelle'ye tıklayın.
Komut Dosyasındaki Değişiklikler şunları içerir
-
Gezgini filtrelemeye gidin ve "komut dosyası içerir" ifadesini arayın.
Sistem UI altında Komut Dosyası İçeriğiniseçin.
-
Adı Şu şekilde filtrele:
propUtils
. -
Yöntemi değiştirme
setWebexcctable
.Olay için yeni örnek kod:
setWebexcctable: function () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')), var webexcc = yeni 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="; sil actInfo['interaction_sys_id']; actInfo['incident_sys_id']; if( interactionsysid!= null &&& interactionsysid != tanımlanmamış){ var inte = yeni GlideRecordSecure('interaction'); //inte.get('sys_id', interactionsysid); inte.addQuery('sys_id', interactionsysid ); inte.query(); if (inte.next()) { intenum=inte.number; // inte.setNot('state','Closed Complete'); inte.work_notes='Durumu kapalı olarak güncelle.'; inte.update(); } } if( incsysid!= null && incsysid != tanımlanmamış){ var inci = yeni GlideRecordSecure('olay'); 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(); } dönüş sys_id; },
UI sayfalarında yöntem değişiklikleri
-
Gezgini filtrelemeye gidin ve
UI sayfaları
Sistem UI altındaki UI Sayfalarıseçeneğini belirleyin.
-
KULLANıCı Arabirimi Sayfalarını Adla filtreleyin ve temsilci masası araması
yapın
. -
'nı değiştirme
nowActivities ve screenpop
Işlevini kullanın.Geçerli 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); }
Olayın örnek kodu:
function nowActivities(actInfo, ani) { var sysObjstr = window.localStorage.getItem("screenpopinteraction"); if(sysObjstr != null && sysObjstr != tanımlanmamış) { 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); } işlev screenpopu(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({ varlık: 'olay', sorgu: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ varlık: '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 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 olarak iş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üzenlemeFlow 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.