Webex contact center 'ı servicenow CRM konsoluyla tümleştirdiğinizde, Webex Contact center Desktop 'ı servicenow içinden başlatabilirsiniz.
Webex Contact Center 'ı servicenow CRM konsoluyla entegre etmeden önce, aşağıdakileri kullandığınızdan emin olun:
-
Webex destek merkezi 'ne erişim.
-
https://admin.webex.com ve Webex Contact Center Management Portal ' da kontrol Hub 'ına yönetici erişimi. Yönetim portalının URL 'Leri bölgenize özgüdür.
-
Kuzey Amerika: https://portal.wxcc-us1.cisco.com
-
INGILTERE: https://portal.wxcc-eu1.cisco.com
-
Japonya: https://portal-v2.wxcc-jp1.cisco.com
-
-
Masaüstüne erişimi olan bir temsilci. Masaüstünün URL adresi sizin bölgenize özgüdür.
-
Kuzey Amerika: https://desktop.wxcc-us1.cisco.com
-
INGILTERE: https://desktop.wxcc-eu1.cisco.com
-
-
Içerik Güvenlik Ilkesi Izin verilenler listesine eklenen aşağıdaki etki alanına temsilci erişimi:
-
*. service-now.com
Izin verilenler listesi 'nin nasıl tanımlanacağı konusunda daha fazla bilgi için Webex bağlantı merkezi 'ndeki güvenlik ayarları ' na bakın.
-
-
Bir ServiceNow geliştirici portalı hesabı. Bir hesap oluşturmak için https://developer.servicenow.com/dev.do ' nde ServiceNow Developer Portal'a gidin ve kaydı Başlat ' ı tıklatın .
-
https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow aşağıdaki dosyalara erişim:
-
ServiceNow güncelleme seti (XML)
-
Iletişim Merkezi hizmet DÜZENI (JSON)
-
Lütfen aşağıdaki iki yöntemden birini izleyin: Geliştirici örnekleri için, geliştirici örneği Kılavuzu altındaki adımların takip ederiz. Kurumsal lisansa sahip bir örneğe sahipseniz, lütfen Kurumsal lisanslı örneklere yönelik yönergelere uyun. Kurumsal lisanslı uygulamanın geliştirici korumalı alan örnekleriyle karıştırılmıyoruz. |
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 |
Servislerinizi geliştirici portalı hesabınızda oturum açın ve Yönetim Konsolu 'nu açın. |
2 |
Hesap menüsündeki olgu alanından oluşturmayı Başlat ' ı tıklayın . |
3 |
Geliştirici örneğiniz için, pencerenin sol üst tarafındaki filtre Gezgini alanından eklentiler ' e gidin. |
4 |
Başlığı Içeren OpenFrame eklentisi 'ni arayın. Listeyi kaydırabilirsiniz. |
5 |
OpenFrame eklentisini yüklemek için Yükle ' yi tıklayın . |
6 |
Eklentiyi Etkinleştir iletişim kutusunda Etkinleştir ' i tıklatın. |
7 |
Eklenti etkinleştirme tamamlandığında, & eklenti etkinleştirme iletişim kutusunda Kapat 'ı yeniden yükleme 'yi tıklatın .
|
8 |
Eklenti etkinleştirmeyi doğrulamak için, pencerenin sol üst tarafındaki filtre Gezgini alanından OpenFrame 'e gidin. |
9 |
Yapılandırmalar ' ı tıklayın ve OpenFrame (OpenFrame yapılandırmaları ) listesi 'nde yer aldığından emin olun. |
1 |
Bu konumdaki github repo 'da bulunan en son sistem güncelleştirme kümesi XML dosyasını karşıdan yükleyin: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. Dosya adı : Web, c-ServiceNow-güncelleme-setV (X). xml |
2 |
Servisiniz örneğinde, pencerenin sol üst tarafındaki filtre Gezgini alanından sistem güncelleştirme kümelerine olarak güncelleyin. |
3 |
XML bağlantısından alma güncelleme setini tıklayın. |
4 |
Dosya seç ' i tıklatın , sistem güncelleştirme kümesi XML dosyasını seçin ve karşıya yükle ' yi tıklatın. Güncelleme seti alınan güncelleme kümeleri listesinde görünür ve yüklenme durumunda olur .
|
5 |
Alınan güncelleştirme kümeleri listesinden, güncelleme kümesini açmak Için güncelleme dosya adını (bağlantısını) tıklayın. |
6 |
Pencerenin sağ üst tarafında, güncelleştirme kümesini sorun için denetlemek üzere Önizlemeyi güncelle ' yi tıklayın . |
7 |
Önizleme ayarlama tamamlandıktan sonra Güncelle iletişim kutusunda Kapat ' ı tıklatın . |
8 |
Güncelleme setini Kaydet'i tıklayın. |
9 |
Güncelleme kümesi tamamlandıktan sonra, kaydı Kaydet iletişim kutusunda Kapat ' ı tıklayın . |
1 |
Pencerenin sol üst tarafındaki filtre Gezgini alanında sys_properties. listesi yazın ve ENTER'a basın. |
2 |
Sistem özellikleri sayfasında, özellikleri güncelleyerek tarihine göre sıralayın. Aşağıdaki Webex iletişim merkezi özelliklerini görebilmenizi sağlayın: |
3 |
Agentdesktop_url sayfasını açmak için agentdesktop_url ' ı tıklayın . |
4 |
değer alanına, Webex bağlantı merkezi masaüstünün URL 'sini işlem bölgesine göre girin.
|
5 |
Değişiklikleri kaydetmek için Güncelle ' yi tıklayın . |
6 |
Isteğe bağlı Etkinlik tablosu adını değiştirmek için, Web, cactivitytable özelliklerini gerektiği gibi düzenleyin. Sistem özellikleri sayfasında, Web, cactivitytable öğesini 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 |
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ğında , kilitle DÜĞMESINI tıklayın ve URL olarak agentdesktop.do |
5 |
Isteğ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, özel masaüstü düzeni JSON dosyasını Webex Contact Center Management Portal 'a karşıya yüklemeyi unutmayın. Daha fazla bilgi için bkz . Webex kişi merkezi 'nde servisgöster masaüstü yerleşimini ayarlama. |
1 |
https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow için Masaüstü yerleşimini karşıdan yükleyin. |
2 |
Gerekirse, Masaüstü yerleşim dosyasındaki özellikleri güncelleyin. |
3 |
Webex Contact Center Management Portal'a gidin. |
4 |
Yönetim Portalı gezinti çubuğundan, kaynak ayırma > masaüstü düzeni |
5 |
Yeni yerleşim ' i tıklatın ve Masaüstü düzeninin ayrıntılarını girin. |
6 |
ServiceNow masaüstü düzeni JSON dosyasını karşıya yükleyin. |
7 |
Yapılandırmayı kaydetmek için Kaydet ' i tıklayın . Artık, servicenow konsolunda Webex Contact Center Desktop 'ı başlatabilirsiniz . |
8 |
Filtre Gezgini alanından, temsilci çalışma alanı > gidin. Sol alt telefon simgesini tıklayın. |
Aşağıdaki bölümlerde, lisanslı kurumsal örnekler için ServiceNow bağlayıcısını yükleme adımları açıklanmaktadır.
1 |
Servislerinizi geliştirici portalı hesabınızda oturum açın ve Yönetim Konsolu 'nu açın. |
2 |
Hesap menüsündeki olgu alanından oluşturmayı Başlat ' ı tıklayın . |
3 |
Geliştirici örneğiniz için, pencerenin sol üst tarafındaki filtre Gezgini alanından eklentiler ' e gidin. |
4 |
Başlığı Içeren OpenFrame eklentisi 'ni arayın. Listeyi kaydırabilirsiniz. |
5 |
OpenFrame eklentisini yüklemek için Yükle ' yi tıklayın . |
6 |
Eklentiyi Etkinleştir iletişim kutusunda Etkinleştir ' i tıklatın. |
7 |
Eklenti etkinleştirme tamamlandığında, & eklenti etkinleştirme iletişim kutusunda Kapat 'ı yeniden yükleme 'yi tıklatın .
|
8 |
Eklenti etkinleştirmeyi doğrulamak için, pencerenin sol üst tarafındaki filtre Gezgini alanından OpenFrame 'e gidin. |
9 |
Yapılandırmalar ' ı tıklayın ve OpenFrame (OpenFrame yapılandırmaları ) listesi 'nde yer aldığından emin olun. |
Kurumsal lisanslarla olan örnekler, Webex Contact Center uygulamasını doğrudan servicenow mağazasından yükleyebilir.
Webex Contact Center paketini servicenow deposu 'ndan karşıdan yükleyin ve kurun: https://store.servicenow.com/sn_appstore_store.do#!/store/application/6c8e2a4edbc73410e1c75e25ca961947.
|
1 |
Pencerenin sol üst tarafındaki filtre Gezgini alanında sys_properties. listesi ' ni girin. |
2 |
Sistem özellikleri sayfasında, özellikleri güncelleyerek tarihine göre sıralayın. Aşağıdaki Webex iletişim merkezi özelliklerini görebilmenizi sağlayın: |
3 |
Agentdesktop_url sayfasını açmak için agentdesktop_url ' ı tıklayın . |
4 |
değer alanına, Webex bağlantı merkezi masaüstünün URL 'sini işlem bölgesine göre girin.
|
5 |
Değişiklikleri kaydetmek için Güncelle ' yi tıklayın . |
6 |
Isteğe bağlı Etkinlik tablosu adını değiştirmek için, x_caci_webexcc. webbir cactivitytable özelliklerini gerektiği gibi düzenleyin .
|
7 |
Isteğe bağlı Kullanıcı gruplarını aşağıdaki yöntemlerle 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ğında , kilit düğmesini tıklayın ve X_CACI_WEBEXCC_AGENTDESKTOP ekleyin . URL olarak yapın |
5 |
Isteğ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ından, temsilci çalışma alanı > gidin. Sol alt telefon simgesini tıklayın. |
8 |
Isteğe bağlı kullanıcı grubu listesinde, Webex bağlantı merkezi masaüstüne erişebilen kullanıcı gruplarını seçili ' e taşıyın. |
9 |
Openframe telefonunu kullanmayı denemeden önce, özel masaüstü düzeni JSON dosyasını Webex Contact Center Management Portal 'a karşıya yüklemeyi unutmayın. Daha fazla bilgi için bkz . Webex kişi merkezi 'nde servisgöster masaüstü yerleşimini ayarlama. |
1 |
https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow için Masaüstü yerleşimini karşıdan yükleyin. |
2 |
Gerekirse, Masaüstü yerleşim dosyasındaki özellikleri güncelleyin. |
3 |
Webex Contact Center Management Portal'a gidin. |
4 |
Yönetim Portalı gezinti çubuğundan, kaynak ayırma > masaüstü düzeni |
5 |
Yeni yerleşim ' i tıklatın ve Masaüstü düzeninin ayrıntılarını girin. |
6 |
ServiceNow masaüstü düzeni JSON dosyasını karşıya yükleyin. |
7 |
Yapılandırmayı kaydetmek için Kaydet ' i tıklayın . Artık, servicenow konsolunda Webex Contact Center Desktop 'ı başlatabilirsiniz . |
8 |
Filtre Gezgini alanından, temsilci çalışma alanı > gidin. Sol alt telefon simgesini tıklayın. |
1 |
Filtre Gezgini alanından, olay açma > olayları ' na gidin . |
2 |
Arayan alanına sağ tıklayın ve sözlüğü Yapılandır ' ı tıklayın. |
3 |
Virgülle ayrılmış "ref_contributions = show_phone özniteliklerini şimdi, servicenow konsolunda Webex Contact Center Desktop 'ı kullanmaya başlayabilirsiniz. |
4 |
Filtre Gezgini alanından, temsilci çalışma alanı > . Sol alt telefon simgesini tıklayın. |
Arama aramaları yapmadan önce, aşağıdakileri yapmanız gerekir:
-
Giden arama giriş noktası oluşturun ve bir dış arama noktası stratejisi ayarlayın.
-
Temsilci profili için giden aramayı etkinleştirin.
-
Giden arama ANı 'yi bir numara giriş noktası eşlemesine ayarlayın.
Daha fazla bilgi için Cisco Webex Contact Center kurulum ve yönetim kılavuzu ' nın hazırlama bölümüne bakın.
Filtre Gezgini alanından, temsilci çalışma alanı > gidin.
Sol alt telefon simgesini tıklayın.
Masaüstü kullanımı hakkında bilgi için Cisco Webex Contact Center Agent Desktop kullanım kılavuzu ' na bakın .
Genel Bakış
Bu makalede, ServiceNow CRM Bağlayıcısı için iş kurallarınızı özelleştirmenin çeşitli yolları ele alınmaktadır. BT, ServiceNow 'a özel iş kurallarına dayalı olarak kullanım örneklerini nasıl özelleştirebileceğinizi ayrıntıdan alır.
Müşterinin bu kullanım örneklerini ServiceNow 'da kendi yönetmesi gerekir. Yapılandırma, Webex iletişim merkezi yazılımı veya uzmanlığına değil, hizmet vermek için özeldir.
Bu, iş kurallarının değiştirilmesine yardım eden bir başvuru belgedir. ServiceNow geliştiricileri iş kurallarını oluşturur ve yönetir ve destek sağlar. Cisco yalnızca örnek belgeler sağlar. |
Servisdurumunda kod değişikliği
-
Filtre Gezgini 'ne gidin ve "komut dosyası eklemeleri" ni arayın.
SISTEM UI altında komut dosyası dahil öğesini seçin.
-
Adı filtreleyin ve "aputils" aratın.
-
Komut dosyasında "kullanıcıgetsysıd" yöntemini değiştirin.
Perde:
Usergetsysıd: Function () {var opened_for; var Kullanıcı = New GlideRecord ("sys_user"); Kullanıcı. addQuery (bu. GetParameter (' Value '), bu. getParameter (' değer ')) ve User. Query (); Eğer (User. Next ()) opened_for = user.sys_id; var Grınt = New GlideRecord (' Internet '); grInt. Initialize (); grInt.assigned_to = gs. GetUserID (); grInt. Type = ' Phone '; grInt.opened_for = opened_for; var sysid = Grınt. Insert (); dönüş sysıd;},
Olay için yeni örnek kod:
Usergetsysıd: Function () {var opened_for; nıncident ile ilgili değişiklikler var sysıdlist = {}; var Kullanıcı = New GlideRecordSecure ("sys_user"); Kullanıcı. addQuery (bu. getParameter (' FIELD '), bu. getParameter (' Value ')); (User. Query (); Eğer (Kullanıcı. Next ()) {opened_for = user.sys_id; dan Return user.sys_id; var Inc = New GlideRecordSecure (' olay '); Inc. addQuery (' caller_id ', opened_for); Ltd. addQuery (' State ', ' ın ', ' 1, 2 '); Inc. orderByDesc (' sys_created_on '); Ltd. Query (); if (Inc. Next ()) {sysıdlist. ınsysid = Inc. getUniqueValue (); } Else {Inc. Initialize (); inc.caller_id = opened_for; inc.contact_type = ' Phone '; inc.short_description = ' çağrı alındı ve ' + this. getParameter (' Value '); sysıdlist. ınsysid = Inc. Insert ();}} var Grınt = New GlideRecordSecure (' ınteretkileşim '); Grınt. Initialize (); grInt.assigned_to = gs. GetUserID (); Grınt. tür = ' telefon '; grInt.opened_for = opened_for; var sysid = Grınt. Insert (); sysıdlist. sysid = sysıd; JSON. stringbelirt (sysıdlist) döndürür; },
-
Filtre Gezgini ve UI ara sayfasına gidin.
Sistem UI altında UI sayfalarını seçin.
-
Adı filtreleyin ve "AgentDesktop" için arama yapın.
-
İstemci komut dosyasında "screenpop" işlevini değiştirme.
Geçerli işlev:
ekran pop işlevi ekranpop (calleranı = = = callSessionInfo. phoneNumber) {calleranı = stripPrefixes (calleranı);} var gaout = New Durumdeajax (' propUtils '); gaout. addParam (' sysparm_name ', ' UserGetSysId '); gaout. addParam (' alan ', ' telefon '); gaout. addParam (' Value ', calleranı); gaout. getXMLWait (), var sysid = gaout. getAnswer (); Openframeapı. openServiceNowForm ({varlık: ' etkileşim ', sorgu: ' sys_id = ' + sysıd});
Olay için örnek kod:
ekran pop işlevi screenpop (calleranı, Callsessionınfo) {if (calleranı = = = Callsessionınfo. phoneNumber) {calleranı = stripPrefixes (calleranı);} var gaout = New, Deajax (' propUtils '); gaout. addParam (' sysparm_name ', ' UserGetSysId '); gaout. AddParam (' FIELD ', ' Phone '); gaout calleranı); gaout. getXMLWait ();//olayla ilgili değişiklik Için var sysObj = JSON. Parse (gaout. getAnswer ()); if (sysObj. ınsysid) {Openframeapı. openServiceNowForm ({Entity: ' olay ', sorgu: ' sys_ ID = ' + sysObj. ınsysid, ' interaction_sys_id ': sysObj. sysıd}); } Else {Openframeapı. openServiceNowForm ({Entity: ' olay ', sorgu: ' sys_id =-1 ', ' interaction_sys_id ': sysObj. sysid//' a2ba0ba62fd 121106446cc96f699b6b8 '});}}
Arayan bilgileri CRM 'de varsa ve bu kişi ile zaten yeni bir olay açıldıysa, uygulama sürüyor olayı açar
Arayan bilgileri CRM 'de yoksa, uygulama yeni bir olay açar
Arayan bilgileri CRM 'de varsa, uygulama önceden doldurulmuş ayrıntılara sahip yeni bir olay açar
Genel Bakış
Bu kullanım örneği ayrıntıları, servicenow tablo-webexcc_imp_activity 'e fazladan bir sütun ekleme ve servicenow CRM bağlayıcısı Webex CC 'nin yüklenmesinden sonra sn_openframe_phone_log oluşturma işlemidir.
Varsayılan olarak tablo, kutudan çıkmak için sistem alanlarını ve değerlerini içerir.
Webtot akış Tasarımcısı içinde daha fazla işletmeye özel değişken oluşturabilir ve bunu aramaya çağrı sonrası etkinlik günlüğünün içine (CAD değişkenleri) ekleyebilir ve bunu geri gönderme etkinlik tablosu verilerine da kaydedebilirsiniz.
Bu yalnızca başvuru belgeleri-ve IVR 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 yapılacağını gösterir. İş ortağı + müşteri Servicengöster geliştiricilerin mevcut bağlayıcıya bir özelleştirme olduğu için bu yapılandırmayı yapılandırıp yöneteceğini bekliyorduk. Cisco, yalnızca bağlayıcının nasıl özelleştirildiği ve genişletileceği konusunda teknikler sağlar. Bu makalede itibariyle, Cisco ekibi, aşağıda açıklanan tekniği kullanarak etkinlik günlüğüne ve etkinlik tablosuna CAD değişkeni ekleme desteğini doğruladı: |
Webgümrük c 'ye sütun Ekle IMP etkinliği
-
Tabloyu ServiceNow geliştirici sürümünde düzenleyin.
-
Filtre Gezgini 'ne gidin ve stüdyo ara.
"kişi merkezi Webex" öğesini seçin
veya
-
"Webgümrük c Imp Activity" tablosunu seçin
-
Yeni sütun ekleme, örneğin "CustomerName"
Telefon günlüğüne sütun ekleme
-
Telefon günlüğü tablosunu düzenleme.
-
"Müşteri adı" gibi yeni bir sütun ekleyin.
Webgümrük c etkinlik dönüşüm Haritası
Yeni bir sütun ekleyin; örneğin, "CustomerName" alan eşlemesi.
Liste sütunlarını kişiselleştirme
Hizmet şimdi önerdiği için, Oluştur ' dan Yoksay'a kadar seçim eylemini değiştirin.
Telefon günlükleri listesini yapılandırma
Komut dosyasına gidin
PropUtils için yalnızca bir hat "webexcc.u_customername = Actınfo. CustomerName" ekleyin. |
Şu hattı görüntüleyin: webexcc.u_customername = Actsınfo. CustomerName; bir destek yorumu ile.
var propUtils = Class. Create (); propUtils. prototype = Object. extendsObject (Global. Soyut Ctacikistan Axprocessor, {Getwebglcprop: Function () {var web, cprop = {}; webgümrük cprop. ınstanceurl = ' https://'+gs.getProperty('instance_name')+'.service-now.com/ '; x_caci_webexcc Web,. agentdesktop_url '); ve//Web, wecprop. popupurl = gs. getProperty (' x_caci_webexcc. screenpop_url '); JSON. stringbelirt (Web, cprop);}, Usergetsysıd: Function () {var opened_for; var Kullanıcı = New GlideRecord ("sys_user"); Kullanıcı. addQuery (this. getParameter (' alan '), this. getParameter (' Value ')); Eğer (User. Next () ise if (.) opened_for = user.sys_id;/dönüş user.sys_id; değilse//null döndürür; var Grınt = New GlideRecord (' ınteretkileşim '); Grınt. Initialize (); grInt.assigned_to = gs. GetUserID (); Grınt. tür = ' telefon '; grInt.opened_for = opened_for; var sysid = Grınt. Insert (); dönüş sysid; }, Setweb, CTable: Function () {var sys_id = 0; var Actınfo = JSON. Parse (bu. getParameter (' Actınfo ')); var web, c = New GlideRecordSecure (GS. getProperty (' x_caci_webexcc. Web, cactivitytable ')); Web, c. addQuery ("callobject", Actınfo. CallObject); Web, c. Query (); if (! webgümrük c. Next ()) {Web, c. anı = Acttionsınfo. anı; Web, c. DNIS = actınfo. DNIS; Web, c. wrapuptime = actinfo. wrapuptime; Web, c. callduration = actınfo. CallDurationInSeconds; weblec. ringingtime = Actınfo. ringingtime; webi c. ActivityDate = Actınfo. ActivityDate; Web, c. callobject = Actınfo. CallObject; Web, c. CallType = Actınfo. CallType; Web, c. calldisposition = actInfo. CallDisposition; Bu hat, etkinlik günlüğünde yakalamak için eklenir webexcc.u_customername = Actınfo. CustomerName; sys_id = Web, c. Insert (); Olay kaydındaki etkinlikler; var actInfoString = this. getParameter (' Actınfo '); var suser = New GlideRecordSecure ("sys_user"); suser. addQuery ("telefon", this. getParameter (' anı ')); suser. Query (); if (suser. Next ()) {var Inc = New GlideRecordSecure (' Incident '); Inc. addQuery (' caller_id ', suser.sys_id); Ltd. orderByDesc (' sys_created_on '); Ltd. Query (); if (Inc. Next ()) {var JSON, JSON. stringbelirt (JSON. Parse (actInfoString), null, 2); Ltd. Comments = Jsonoldukça; Inc. Update ();}}} dönüş sys_id; }, şunu yazın: ' propUtils '});
Akış Tasarımcısı 'nda CAD değişkeni oluşturma
CAD değişkenini masaüstü düzenine ekleme
Örnek
"CadName1: SnowField1, CadName2: SnowField2" CadName1 iş müşteri adı SnowField1, "actInfo. CustomerName" örnek scirpt showen 'nin parçası olan bir müşteri adı olarak da kullanılır
.
Gösteri ekran görüntüleri
Yeni ekli CAD değişkenini Webgümrük c aktivitesi tablosunda görüntüleyin.
Akış Tasarımcısı için CAD değişkeni oluştur
Hizmet şimdi komut dosyası güncelleştirmesi
-
Filtre Gezgini 'ne gidin ve komut dosyası eklemeleri arasında arama yapın
SISTEM UI altında komut dosyası içerme seçeneğini işaretleyin.
-
Adı, isputils ile filtreleyin.
-
Komut dosyası alanında "kullanıcıgetsysıd" yöntemini değiştirin.
Geçerli komut dosyası:
Usergetsysıd: Function () {var opened_for; var Kullanıcı = New GlideRecord ("sys_user"); Kullanıcı. addQuery (bu. GetParameter (' Value '), bu. getParameter (' değer ')) ve User. Query (); Eğer (User. Next ()) opened_for = user.sys_id; var Grınt = New GlideRecord (' Internet '); grInt. Initialize (); grInt.assigned_to = gs. GetUserID (); grInt. Type = ' Phone '; grInt.opened_for = opened_for; var sysid = Grınt. Insert (); dönüş sysıd;},
Olay için yeni örnek kod:
Usergetsysıd: Function () {var opened_for; var sysıdlist = {}; var Kullanıcı = New GlideRecordSecure ("sys_user"); Kullanıcı. addQuery (bu. getParameter (' FIELD '), bu. getParameter (' Value ')); (Kullanıcı. Query (); Eğer (User. Next ()) {opened_for = user.sys_id; d Return user.sys_id; var Inc = New GlideRecordSecure (' Incident '); inc. addQuery (' caller_id ', opened_for); Ltd. addQuery (' State ', ' ın ', ' 1, 2 '); Inc. orderByDesc (' sys_created_on '); Ltd. Query (); if (Inc. Next ()) {sysıdlist. ınsysid = Inc. getUniqueValue ();} Else {Inc. Initialize (); inc.caller_id = opened_for; inc.contact_type = ' Phone '; Inc. AC= this. getParameter (' IncUrgency '); Ltd. ACT = this. getParameter (' Imp, '); inc.short_description = ' çağrı from ' + this. getParameter (' Value '); sysıdlist. ınsysid = Inc. Insert ();}} var Grınt = New GlideRecordSecure (' ınteretkileşim '); Grınt. Initialize (); grInt.assigned_to = gs. GetUserID (); Grınt. tür = ' telefon '; grInt.opened_for = opened_for; var sysid = Grınt. Insert (); sysıdlist. sysid = sysıd; JSON. stringbelirt (sysıdlist);//SID; },
-
Filtre Gezgini 'ne gidin ve UI sayfalarını arayın.
SISTEM UI altındaki UI sayfaları seçeneğini işaretleyin.
-
Kullanıcı arabirimi sayfalarını, ad ve aracısız Masaüstü araması ile filtreleyin.
-
Komut dosyası alanında "screenpop" işlevini değiştirin.
Geçerli işlev:
ekran pop işlevi ekranpop (calleranı = = = callSessionInfo. phoneNumber) {calleranı = stripPrefixes (calleranı);} var gaout = New Durumdeajax (' propUtils '); gaout. addParam (' sysparm_name ', ' UserGetSysId '); gaout. addParam (' alan ', ' telefon '); gaout. addParam (' Value ', calleranı); gaout. getXMLWait (), var sysid = gaout. getAnswer (); Openframeapı. openServiceNowForm ({varlık: ' etkileşim ', sorgu: ' sys_id = ' + sysıd});}
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) {calleranı = stripPrefixes (calleranı);} var gaout = New, Deajax (' propUtils '); gaout. addParam (' sysparm_name ', ' UserGetSysId '); gaout. addParam (' alan ', ' telefon '); gaout. addParam (' Value ', calleranı); gaout. addParam (' IncUrgency ', IncUrgency); gaout. addParam (' Impact ', Impact); gaout. getXMLWait (); var sysid = gaout. getAnswer (); var sysObj = JSON. Parse (gaout. getAnswer ()); if (sysObj. ınsysid) {Openframeapı. openServiceNowForm ({Entity: ' Incident ', Query: ' sys_id = ' + sysObj. ınsysid, ' interaction_sys_id ': sysObj. sysıd});} Else {Openframeapı. openServiceNowForm ({Entity: ' olay ', sorgu: ' sys_id =-1 ', ' interaction_sys_id ': sysObj. sysid});} Window. localStorage. SetItem ("screenpopetkileşim", JSON. stringbelirt (sysObj)); }
Arayan bilgileri CRM 'de varsa ve yeni veya sürüyor olayı yoksa, uygulama yeni bir olay açar
ServiceNow 'da kodu değiştirme
"Webgümrük c IMP Activity" tablosuna yeni sütunlar ekleme
Güncelle ' yi tıklayın.
"Telefon günlüğü" tablosuna yeni sütunlar ekleme
Webgümrük c etkinlik dönüşüm Haritası
Güncelle'ye tıklayın.
Komut dosyası değişikliklerini değiştirir
-
Filtre Gezgini 'ne gidin ve "komut dosyası eklemeleri" ni arayın.
SISTEM UI altında komut dosyası dahil öğesini seçin.
-
"Proputils" ile birlikte bir ad filtreleyin.
-
"Setwebgümrük CTable" yöntemini değiştirin.
Olay için yeni örnek kod:
Setweb, CTable: Function () {var sys_id = 0; var olan Actınfo = JSON. Parse (bu. getParameter (' Actınfo ')); var web, c = New GlideRecordSecure (GS. getProperty (' Web, cactivitytable ')); Web, c. addQuery ("u_callobject", Actınfo. CallObject), Web, c. Query (); ise (! webstac. Next ()) {/olay kaydındaki etkinlikler;/nVar actInfoString = this. getParameter (' Actınfo '); var ınsysid = actInfo.incident_sys_id; var interactionsysid = actInfo.interaction_sys_id; var ınnum = ""; var güum = ""; Sil Actınfo [' interaction_sys_id ']; Actınfo silme [' 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', ınsysıd); inci. Query (); if (inci. Next ()) {ınnum = inci. Number; var JSON, JSON. stringbelirt (Actınfo, null, 2);/Njson.stringbelirt (JSON. Parse (actInfoString), null, 2); inci. Comments = JSON; inci. Update ();}} Else {var suser = New GlideRecordSecure ("sys_user"); suser. addQuery ("Phone", bu. getParameter (' anı ')); suser. Query (); Eğer (suser. Next ()) {var Inc = New GlideRecordSecure (' Incident '); Ltd. addQuery (' caller_id ', suser.sys_id); Ltd. addQuery (' State ', ' ın ', ' 1, 2 '); Inc. orderByDesc (' sys_created_on '); Ltd. Query (); if (Inc. Next ()) {var Jsonoldukça = JSON. stringbelirt (actInfo, null, 2); Inc. Comments = Jsonoldukça; Inc. Update ();}}} webexcc.u_ani = Actınfo. ani; webexcc.u_dnis = Actsınfo. DNIS; webexcc.u_queuename = Acttionsınfo. SıraAdı; webexcc.u_wrapuptime = Actsınfo. wrapuptime; webexcc.u_callduration = Actsınfo. CallDurationInSeconds; webexcc.u_ringingtime = Actsınfo. ringingtime; webexcc.u_activitydate = Actsınfo. ActivityDate; webexcc.u_callobject = Actsınfo. CallObject; webexcc.u_calltype = Actsınfo. CallType; webexcc.u_calldisposition = Actsınfo. CallDisposition; webexcc.u_incidentnumber = ınnum; webexcc.u_interactionsnumber = güçlendirme; sys_id = Web, c. Insert (); } dönüş sys_id; },
Kullanıcı arabirimi sayfalarındaki Yöntem değişiklikleri
-
Filtre Gezgini 'ne gidin ve "UI sayfaları" nı arayın .
SISTEM UI altındaki UI sayfaları seçeneğini işaretleyin.
-
Kullanıcı arabirimi sayfalarını, ad ve aracısız Masaüstü araması ile filtreleyin.
-
Komut dosyasındaki "Şimdi etkinlikler ve screenpop" işlevini değiştirin.
Geçerli işlev:
işlev şimdi Etkinlikler (Actınfo, anı) {var gaout = New, Deajax (' propUtils '); gaout. addParam (' sysparm_name ', ' Setweb, CTable '); gaout. addParam (' Actınfo ', JSON. stringbelirt (Actınfo)); gaout. addParam (' anı ', stripPrefixes (anı)); gaout. getXML (SetCCsysId);}
Olay için örnek kod:
Function şimdi Etkinlikler (Actınfo, anı) {var sysObjstr = Window. localStorage. GetItem ("screenpopetkileşimin"); If (sysObjstr! = null & & sysObjstr! = tanımsız) {var sysObjjson = JSON. Parse (sysObjstr); actInfo.interaction_sys_id = sysObjjson. sysid; actInfo.incident_sys_id = sysObjjson. ınsysid;} var gaout = New, Deajax (' propUtils '); gaout. addParam (' sysparm_name ', ' Setwebgümrük CTable '); gaout. addParam (' Actınfo ', JSON. stringbelirt (Actınfo)); gaout. addParam (' anı ', stripPrefixes (anı)); gaout. getXML (SetCCsysId); } işlev ekran pop (calleranı, Callsessionınfo) {if (calleranı = = = Callsessionınfo. phoneNumber) {calleranı = stripPrefixes (calleranı);} var gaout = New, Deajax (' propUtils '); gaout. addParam (' sysparm_name ', ' UserGetSysId '); gaout. AddParam (' FIELD ', ' Phone ') gaout. getXMLWait ();//var sysid = gaout. getAnswer (); var sysObj = JSON. Parse (gaout. getAnswer ()); If (sysObj. ınsysid) {Openframeapı. openServiceNowForm ({Entity: ' olay ', sorgu: ' sys_id = ' + sysObj. ınsysid, ' interaction_sys_id ': sysObj. sysıd}); } Else {Openframeapı. openServiceNowForm ({Entity: ' olay ', sorgu: ' sys_id =-1 ', ' interaction_sys_id ': sysObj. sysıd});} Window. localStorage. SetItem ("screenpopetkileşimin etkileşimi", JSON. stringbelirt (sysObj)); }
Güncelleme sonrası sonuçlar
Aşağıdaki özelleştirmeler, 1.0.5 ve altı sürümler için geçerlidir. Daha yeni sürüm 1.0.7 ve üstüyle ilgili özelleştirmeler için yukarıdaki adımları uygulayın. |
Özelleştirme # 1-çağrı akışı kullanım örnekleri için özel iş kuralları ekleme
Her yeni çağrı için serviskılavuzu ' nda Webikna edin CRM bağlayıcısına yeni bir olay kaydı oluşturun.
-
Filtre Gezgini 'nde Iş kurallarını ara
-
Yeni düğmesini tıklayın.
Başvuru için örnek kod:
function customcti() { var url = null; var name = sysparm_caller_name; eid = sysparm_caller_id; var phone = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; if (fQuery == null) fQuery = ''; var view = sysparm_view; if (view == null || view == '') view = "itil"; var userID = null; if (eid != null && eid != '') { userID = UserGetSysId("employee_number",eid); } if (userID == null && name != null && name != '') { userID = UserGetSysId("name", adı); } if (userID == null && phone != null && phone != '') { userID = UserGetSysId("phone", phone); } if (userID != null) { if (fQuery.length > 0) fQuery += "ˆ"; fQuery += "caller_id=" + userID; } if (url == null) { url = "incident.do?sys_id=-1"; if (fQuery != null) url += "&sysparm_query=" + fQuery; } answer = url; dönüş URL 'si; } işlev UserGetSysId (alan, değer) {var Kullanıcı = New GlideRecord ("sys_user"); Kullanıcı. addQuery (alan, değer); Kullanıcı. Query (); Eğer (User. Next ()), user.sys_id döndürür; değilse null geri döndürür;}
İş kuralının örnek yapılandırması
-
Istemcinin çağrılabilir olduğu etkin
olay için bilgisayar telefon entegrasyonu (CTI) işleme doğru olarak işaretlenmiştir.
-
Screenpop url 'sini özel CTI kuralıyla güncelleyin " cti.do? sysparm_cti_rule = createıncident & sysparm_caller_phone = "
sysparm_cti_rule = ad ' ad ', varsayılan komut dosyası yerine CTI işleme için çağrılacak bir işlevin adıdır.
İşlevi, istemci çağrılabilir olarak işaretlenen bir sys_script girdisinde tanımlayın.
İşlevdeki herhangi bir GlideRecords eklemek, güncellemek veya silmek istiyorsanız, güncelleştirmeleri gerçekleştirmek için bağımsız bir istemci olmayan çağrılabilir bir işlev arayın.
Komut dosyası istemcisini çağrılabilir yapmak için, sys_script girişi görüntülendiğinde görüntülenen formda istemci tarafından çağrılabilir onay kutusunu işaretlemeniz gerekir. İstemci tarafından çağrılabilir onay kutusu varsayılan olarak gösterilmez. Görüntülemek için, dişli simgesi ve Slush demet mekanizmasını kullanarak formda görünen alanları değiştirmeniz gerekir. |
özelleştirme # 2-Webex Contact Center etkinlik tablosunda CAD değişkeni ekleme
Bu makale, servicenow CRM bağlayıcısı için Webex CC kurulumu yapıldıktan sonra oluşturulan servicenow tablosuna (webexcc_activity yeni bir sütun ekleme işlemini ayrıntılarıyla gösterir.
Varsayılan olarak, tabloda sistemde bulunmayan sistem alanları ve değerleri yer alır.
Büyük olasılıkla Webgümrük c akışı Tasarımcısı içinde daha fazla işe özel değişken oluşturabilir ve bu CAD değişkenlerini, çağrı sonrası etkinlik günlüğüne ekleyebilir ve çağrı sonrası etkinlik tablosu verilerine devam edebilirsiniz.
|
-
Tabloyu ServiceNow geliştirici sürümünde düzenleyin.
-
Stüdyo
gidin. -
Webheyecan c etkinlik tablosu seçin .
-
Örneğin, müşterisadı.
-
Webheyecan c etkinliği Için liste düzeni seçin.
Güncelleştirme kümesini kullanıyorsanız bu adım gerekli değildir XML: " webexcc.u_customername = actinfo. customername " için yalnızca bir hat eklenmelidir. |



Şu hizaya bakın: webexcc.u_customername = Actsınfo. CustomerName; bir destek yorumu ile.
var propUtils2 = Class. Create (); propUtils2. prototype = Object. extendsObject (Global. Soyut Ctacikistan Axprocessor, {Getweb, Cprop: Function () {var web, cprop = {}; Web, cprop. ınstanceurl = ' https://'+gs.getProperty('instance_name')+'.service-now.com/ '; Web, agentdesktop_url '); URL = gs. getProperty (' x_caci_webexcc popupurl = gs. getProperty (' x_caci_webexcc. screenpop_url '); geri dönüş JSON. stringbelirt (Web, cprop);}, setweb, CTable: Function () {var sys_id = 0; var Actınfo = JSON. Parse (bu. GetParameter (' Actınfo ')); var web, c = New GlideRecordSecure (GS. GetProperty ('s x_caci_ Web, c. Web, cactivitytable ')); Web, c. addQuery ("callobject", Actınfo. CallObject); Web, c. Query (); if (! webgümrük c. Next ()) {Web, c. anı = Acttionsınfo., vb. Web, c. DNIS = actinfo. DNIS; Web, c. wrapuptime = actinfo. wrapuptime; Web, c. callduration = Actınfo. CallDurationInSeconds; weblec. ringingtime = Actınfo. ringingtime; weblec. ActivityDate = Actsınfo. ActivityDate; Web, c. callobject = Actınfo. CallObject; Web, c. calltür = Actınfo. CallType; Web, c. calldisposition = actInfo. CallDisposition;//bu hat, etkinlik günlüğünde yer almak için eklenmiştir. u_customername = Actsınfo. CustomerName; sys_id = Web, c. Insert (); Olay kaydındaki etkinlikler; var actInfoString = this. getParameter (' Actınfo '); var suser = New GlideRecordSecure ("sys_user"); suser. addQuery ("telefon", this. getParameter (' anı ')); suser. Query (); if (suser. Next ()) {var Inc = New GlideRecordSecure (' Incident '); Inc. addQuery (' caller_id ', suser.sys_id); Ltd. orderByDesc (' sys_created_on '); Ltd. Query (); if (Inc. Next ()) {var JSON, JSON. stringbelirt (JSON. Parse (davranan dize), null, 2); Ltd. Comments = Jsonoldukça; Inc. Update ();}}} dönüş sys_id; }, tür: ' propUtils2 '});



Yeni ekli CAD değişkenini Webgümrük c aktivitesi tablosunda görüntüleyin.

