Webex İletişim Merkezi'ni ServiceNow (Sürüm 1—Eski) ile entegre edin

list-menuGeri Bildirim?
Webex Contact Center'ı ServiceNow CRM konsoluyla tümleştirdiğinizde, Webex Contact Center Masaüstünü ServiceNow içinden başlatabilirsiniz.

Önkoşullar

Softphone arayüzü için desteklenen minimum boyut 500 pikseldir. 500 pikselden daha düşük herhangi bir değer ekran veya işlevsellik sorunlarına neden olabilir.

Webex Contact Center'ı ServiceNow CRM konsoluyla tümleştirmeden önce aşağıdakilere sahip olduğunuzdan emin olun:

Aşağıdaki iki yöntemden birini izleyin:

  • Geliştirici örnekleri için geliştirici örnek kılavuzunun altındaki adımları izlemenizi öneririz.
  • Kurumsal lisanslı bir bulut sunucunuz varsa kurumsal lisanslı bulut sunucularına ilişkin yönergeleri izleyin.

Kurumsal lisanslı uygulamayı geliştirici sanal alan örnekleriyle karıştırmanızı önermiyoruz.

Sohbet ve e-posta gibi dijital kanallar CRM bağlayıcılarıyla desteklenmez. Bu, bu bağlayıcıları kullanan tüm CRM entegrasyonları için geçerlidir. Lütfen dağıtım ve müşteri katılımı iş akışlarınızı buna göre planlayın.

Aşağıdaki bölümlerde, geliştirici örnekleri için ServiceNow bağlayıcısını yükleme adımları açıklanmaktadır.

1

ServiceNow geliştirici portalı hesabınızda oturum açın ve Yönetim konsolunu açın.

2

Hesap men üsünün Örneğ im alanından Oluş turmayı Başlat'ı tıklatın.

ServiceNow developer portal screenshot with ‘Start Building’ button highlighted.

3

Geliştirici örneğinizde, pencerenin sol üst köşesindeki Filtre gezgini alanından Eklentiler'e gidin.

ServiceNow developer instance showing a search for ‘plugins’ filter navigator.

4

Openframe başlıklı Openframe eklentisini arayın. Listede gezinmeniz gerekebilir.

ServiceNow developer instance on the Applications screen, showing the search and results for ‘OpenFrame.’

5

Openframe eklentisini yüklemek için Yükle'yi tıklayın.

6

Eklentiyi Etkinleştir iletişim kutusunda Etkin leştir'i tıklatın.

ServiceNow developer instance showing OpenFrame plugin popup with the ‘Activate’ button highlighted.

7

Eklenti aktivasyonu tamamlandığında, Eklenti Etkinleştirme iletişim kutusunda Formu Kapat ve Yeniden Yük le'yi tıklatın.

ServiceNow developer instance showing OpenFrame plugin activation loading.

ServiceNow developer instance showing OpenFrame plugin activation success window with the ‘Close & Reload Form’ button highlighted.

8

Eklenti aktivasyonunu doğrulamak için, pencerenin sol üst köşesindeki Filtre gezg ini alanından OpenFram e'e gidin.

9

Yapıl andırmalar 'ı tıklatın ve OpenFrame eklentisinin OpenFrame Yapılandırmaları listesinde görün düğünden emin olun.

ServiceNow developer instance showing OpenFrame Configurations in the filter navigator search.

1

GitHub deposunda bulunan en son Sistem Güncelleme Seti XML dosyasını şu konumdan indirin: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Dosya adı: Web Excc-ServiceNow-update-setv (X) .xml

Github repo screenshot for Webex Contact Center CRM integrations – ServiceNow.

2

ServiceNow örneğinizde, pencerenin sol üst köşesindeki Filtre gezgini alanından Sistem Güncelleme Kümeleri > Taahhüt Edilecek Kümeleri Gün celleştir'e gidin.

ServiceNow developer instance showing a search in the filter navigator on the ‘All’ tab for ‘Update set’ and ‘Update Sets to Commit’ option highlighted.

3

XML'den Güncelleme Kümesini İçe Aktar bağlantısını tıklatın.

ServiceNow developer instance on the Update Sets results page with ‘Related Links: Import Update Set from XML’ highlighted.

4

Dosya Seç'i tıklatın, Sistem Güncelleme Kümesi XML dosyasını seçin ve ardından Yükle'yi tıkl atın.

ServiceNow developer instance import XML screen.

ServiceNow developer portal retrieved update sets list.

Güncelleme kümesi, Alınan Güncelleme Kümeleri listesinde görünür ve Yüklenmiş durum undadır.
5

Alınan Güncelleştirme Kü meleri listesinden Güncelleştirme Kümesi Dosya Adını (bağlantı) tıklatarak Güncelleme Kümesini açın.

ServiceNow developer portal retrieved update sets list for an updated file.

6

Pencerenin sağ üst köşesindeki Güncelleştirme Kümesini Öniz le'yi tıklatarak gün celleştirme kümesinde sorun olup olmadığını kontrol edin.

ServiceNow developer portal retrieved update sets list for an updated file with the ‘Preview Update Set’ button highlighted.

7

Önizleme tamamlandıktan sonra Set Önizlemesini Güncelle iletişim kutusunda Kapat'ı tıkl atın.

ServiceNow developer portal with the update set preview success notification.

8

Güncelleme Kümesini Teslim Et seçeneğini tıkl atın.

ServiceNow developer portal retrieved update sets list for an updated file with the ‘Commit Update Set’ button highlighted.

9

Güncelleme Kü mesi işleme tamam landıktan sonra Güncell eme Kümesi İşlemi iletişim kutusunda Kapat'ı tıklatın.

ServiceNow developer portal with the update set commit success notification.

1

Pencerenin sol üst köşesindeki Filtre gezgini alanına enter yazın sys_properties.listve tuşuna basın.

ServiceNow developer instance showing a search in the filter navigator on the ‘All’ tab for ‘sys_properties.list’

2

Sistem Özellikleri sayfasında, özellikleri güncellenen tarihe göre sıralayın. Aşağıdaki Webex İletişim Merkezi özelliklerini görebildiğinizden emin olun:

ServiceNow developer instance system properties page.

3

Sistem Özelli agentdesktop_urlği agentdesktop_url sayfasını açmak için tıklayın.

4

Değer alanına, çalışma bölgesine göre Webex Contact Center Masaüstünün URL'sini girin.

ServiceNow developer instance system property details for agentdesktop_url.

5

Değişik likleri kaydet mek için Güncelle'yi tıklatın.

6

(İsteğe bağlı) Etkinlik tablosu adını değiştirmek için, webexccactivit ytable özelliklerini gerektiği gibi düzenleyin.

Sistem Özellikleri sayfasında, webex ccactivitytable'a tıklayın.

Değer alanını gerektiği gibi değiştirin.

ServiceNow developer instance system property details for webexactivitytable.

7

(İsteğe bağlı) Kullanıcı Grupları aşağıdaki şekillerde ekleyin:

  1. Pencerenin sol üst köşesindeki Filtre gezgini alanında, Sistem Güvenliği altındaki Gru plar'a gidin.

    ServiceNow developer instance filter navigator search for ‘Groups’ under ‘System Security’
  2. Yeni bir kullanıcı grubu oluşturun veya mevcut bir kullanıcı grubu kullanın.

    ServiceNow developer instance group page for WebexccAgentsGroup.

  3. Düzenle'yi tıklatın.

  4. Koleksiyon sn_openframe_useraltında arayın ve kullanıcı grubunuza taşıyın.

    ServiceNow developer instance group edit members page showing a search for a collection.

    ServiceNow developer instance group edit members page showing a collection moved into the roles list.

  5. Kaydet'i tıklayın.

  6. Kullanıcıyı grup üyesi olarak ekleyin.

    ServiceNow developer instance group page with user roles assigned.

1

Filtre gezgini alan ından OpenFrame > Yapılandırmalar'a gidin.

ServiceNow developer instance filters navigator with ‘openframe’ in the search field and ‘Configurations’ under ‘OpenFrame’ highlighted in the results.

2

Yeni 'yi tıklatın.

ServiceNow developer instance OpenFrame Configurations page with ‘New’ highlighted.

3

URL için aşağıdaki özellikleri girin:

  • İsim: Webex İletişim Merkezi Masaüstü

  • Başlık: Webex İletişim Merkezi

  • Genişlik: 550 (Önerilen)

  • Yükseklik: 600 (Önerilen)

4

URL alanının sağındaki Kilit le düğmesini tıklatın ve URL agentdesktop.doolarak ekleyin. (Yapılandırmayı UI Sayfasına yönlendirmek için bu adımı yapın)

ServiceNow developer instance OpenFrame Configurations – New Record page with the lock icon highlighted.

5

(İsteğe bağlı) Yapılandırmayı atamak için Kullanıcı/Aracı Gruplarını seçin.

ServiceNow developer instance OpenFrame Configurations – New Record user group selection.

6

Gönder 'i tıklayın. URL bir bağlantı olarak görünür.

ServiceNow developer instance OpenFrame Configurations – New Record page showing the URL link that appears after submitting the user group selections.

7

OpenFrame telefonunu kullanmaya çalışmadan önce ServiceNow özel Masaüstü Düzeni JSON dosyasını Webex İletişim Merkezi'ne yüklediğinizden emin olun. Management Portal Daha fazla bilgi için bkz. Webex İletişim Merkezi'nde ServiceNow Masaüstü Düzeni Ayar lama.

1

ServiceNow için Masaüstü düzenini https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow adresinden indirin.

Github screen for Webex Contact Center CRM Integrations – Desktop Layouts – ServiceNow.

2

Gerekirse Masaüstü Düzeni dosyasındaki özellikleri güncelleyin.

3

Webex İletişim Merke Management Portal zi'ne gidin.

4

Gezinme çubu Management Portal ğundan Sağlama > Mas aüstü Düzeni 'ni seçin.

Webex Contact Center Management Portal provisioning page with Desktop Layout highlighted in the left navigation.

5

Yeni Düzeni tıklatın ve masaüstü düzeninin ayrıntılarını girin.

6

ServiceNow Desktop Layout JSON dosyasını yükleyin.

7

Yapıl andırmayı kaydet mek için Kaydet'i tıklatın.

Artık Webex Contact Center Masaüstünü ServiceNow konsolunda başlatabilirsiniz.

8

Filtre gezgini alanından Hizmet İşlemleri Çalışma Alanı'na gidin.

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

Aşağıdaki bölümlerde lisanslı kurumsal örnekler için ServiceNow bağlayıcısını yükleme adımları açıklanmaktadır.

1

ServiceNow geliştirici portalı hesabınızda oturum açın ve Yönetim konsolunu açın.

2

Hesap men üsünün Örneğ im alanından Oluş turmayı Başlat'ı tıklatın.

ServiceNow developer portal screenshot with ‘Start Building’ button highlighted.

3

Geliştirici örneğinizde, pencerenin sol üst köşesindeki Filtre gezgini alanından Eklentiler'e gidin.

ServiceNow developer instance showing a search for ‘plugins’ filter navigator.

4

Openframe başlıklı Openframe eklentisini arayın. Listede gezinmeniz gerekebilir.

ServiceNow developer instance on the Applications screen, showing the search and results for ‘OpenFrame.’

5

Openframe eklentisini yüklemek için Yükle'yi tıklayın.

6

Eklentiyi Etkinleştir iletişim kutusunda Etkin leştir'i tıklatın.

ServiceNow developer instance showing OpenFrame plugin popup with the ‘Activate’ button highlighted.

7

Eklenti aktivasyonu tamamlandığında, Eklenti Etkinleştirme iletişim kutusunda Formu Kapat ve Yeniden Yük le'yi tıklatın.

ServiceNow developer instance showing OpenFrame plugin activation loading.

ServiceNow developer instance showing OpenFrame plugin activation success window with the ‘Close & Reload Form’ button highlighted.

8

Eklenti aktivasyonunu doğrulamak için, pencerenin sol üst köşesindeki Filtre gezg ini alanından OpenFram e'e gidin.

9

Yapıl andırmalar 'ı tıklatın ve OpenFrame eklentisinin OpenFrame Yapılandırmaları listesinde görün düğünden emin olun.

ServiceNow developer instance showing OpenFrame Configurations in the filter navigator search.

1

Pencerenin sol üst köşesindeki Filtre gezgini alanına girin sys_properties.list.

ServiceNow developer instance showing a search in the filter navigator on the ‘All’ tab for ‘sys_properties.list’

2

Sistem Özellikleri sayfasında, özellikleri güncellenen tarihe göre sıralayın. Aşağıdaki Webex İletişim Merkezi özelliklerini görebildiğinizden emin olun:

ServiceNow developer instance system properties page results.

3

Sistem Özelli agentdesktop_urlği agentdesktop_url sayfasını açmak için tıklayın.

4

Değer alanına, çalışma bölgesine göre Webex Contact Center Masaüstünün URL'sini girin.

ServiceNow developer instance system property details page for agentdesktop_url.

5

Değişik likleri kaydet mek için Güncelle'yi tıklatın.

6

(İsteğe bağlı) Etkinlik tablosu adını değiştirmek için, x_caci_webexcc.webexccactivitytable özelliklerini gerektiği gibi düzenleyin.

  1. Sistem Özellikleri sayfasında x_caci_webexcc.webexccactivitytable'a tıklayın.

    ServiceNow developer instance system properties page results for x_caci_webexcc.webexccactivitytable.

  2. Değer alanını gerektiği gibi değiştirin.

    ServiceNow developer instance system property page for x_caci_webexcc.webexccactivitytable.

7

(İsteğe bağlı) Kullanıcı Grupları aşağıdaki şekillerde ekleyin:

  1. Pencerenin sol üst köşesindeki Filtre gezgini alanında, Sistem Güvenliği altındaki Gru plar'a gidin.

    ServiceNow developer instance filter navigator results for ‘Groups.’

    SeviceNow developer instance group page for webexccagentsgroup.

  2. Düzenle'yi tıklatın ve aşağıdaki rolleri ekleyin:

    • sn_openframe_user

    • x_caci_webexcc.ajan

    • agent_workspace_user

    • x_caci_webexcc. webexcc_imp_activity_user

    • x_caci_webexcc. webex_contact_center

    SeviceNow developer instance group page for webexccagentsgroup with rolls added.

1

Filtre gezgini alan ından OpenFrame > Yapılandırmalar'a gidin.

ServiceNow developer instance filters navigator with ‘openframe’ in the search field and ‘Configurations’ under ‘OpenFrame’ highlighted in the results.

2

Yeni 'yi tıklatın.

ServiceNow developer instance OpenFrame Configurations page with ‘New’ highlighted.

3

URL için aşağıdaki özellikleri girin:

  • İsim: Webex İletişim Merkezi Masaüstü

  • Başlık: Webex İletişim Merkezi

  • Genişlik: 550 (Önerilen)

  • Yükseklik: 600 (Önerilen)

4

URL alanının sağındaki Kilit le düğmesini tıklatın ve URL x_caci_webexcc_agentdesktop.doolarak ekleyin. (Yapılandırmayı UI Sayfasına yönlendirmek için bu adımı yapın)

ServiceNow developer instance OpenFrame Configurations – New Record page with the lock icon highlighted.

5

(İsteğe bağlı) Yapılandırmayı atamak için Kullanıcı/Aracı Gruplarını seçin.

ServiceNow developer instance OpenFrame Configurations – New Record user group selection.

6

Gönder 'i tıklayın. URL bir bağlantı olarak görünür.

ServiceNow developer instance OpenFrame Configurations – New Record with URL added.

7

Filtre gezgini alanından Hizmet İşlemleri Çalışma Alanı'na gidin.

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

8

(İsteğe bağlı) Kullanıcı Grubu listesinde, Webex Contact Center Masaüstüne erişebilen kullanıcı gruplarını Kullanılabilir'den Seç ili 'ye taşıyın.

9

OpenFrame telefonunu kullanmaya çalışmadan önce ServiceNow özel Masaüstü Düzeni JSON dosyasını Webex İletişim Merkezi'ne yüklediğinizden emin olun. Management Portal Daha fazla bilgi için bkz. Webex İletişim Merkezi'nde ServiceNow Masaüstü Düzeni Ayar lama.

1

ServiceNow için Masaüstü düzenini https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow adresinden indirin.

Github screen for Webex Contact Center CRM Integrations – Desktop Layouts – ServiceNow.

2

Gerekirse Masaüstü Düzeni dosyasındaki özellikleri güncelleyin.

3

Webex İletişim Merke Management Portal zi'ne gidin.

4

Gezinme çubu Management Portal ğundan Sağlama > Mas aüstü Düzeni 'ni seçin.

Webex Contact Center Management Portal provisioning page with Desktop Layout highlighted in the left navigation.

5

Yeni Düzeni tıklatın ve masaüstü düzeninin ayrıntılarını girin.

6

ServiceNow Desktop Layout JSON dosyasını yükleyin.

7

Yapıl andırmayı kaydet mek için Kaydet'i tıklatın.

Artık Webex Contact Center Masaüstünü ServiceNow konsolunda başlatabilirsiniz.

8

Filtre gezgini alanından Hizmet İşlemleri Çalışma Alanı'na gidin.

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

1

Filtre gezgini alan ından Olaylar > Olay ı Aç bölümüne gidin.

2

Arayan alanına sağ tıklayın ve Sözlüğü Yapılandır'ı tıklayın.

ServiceNow developer instance Incidents window with the Configure Directory option highlighted.

3

Virgülle ayrılmış Nitelikler ekleyin. “ref_contributions=show_phone,

ServiceNow developer instance call incident window for a Directory Entry.

Artık ServiceNow konsolunda Webex Contact Center Masaüstünü kullanmaya başlayabilirsiniz.

4

Filtre gezgini alanından Hizmet İşlemleri Çalışma Alanı'na gidin.

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

  • Yalnızca Salesforce (SFDC) ve Microsoft Dynamics (MS Dynamics) Bağlayıcıları için WebRTC Agent Desktop kullanarak oturum açmayı destekliyoruz.
  • Şu anda, bu özellik yalnızca aracılar için geçerlidir.

Agent DesktopServiceNow Konsolu'nda

Dış arama yapmadan önce aşağıdakileri yaptığınızdan emin olun:

  • Outdial giriş noktasını oluşturun ve bir dış hat giriş noktası stratejisi oluşturun.

  • Aracı Profili için outdial ANI'yi etkinleştirin.

  • Dış arama ANI'sini Arama Numarası-Giriş Noktası eşlemesine ayarlayın.

Daha fazla bilgi için Cisco Webex Contact CenterKurulum ve Yönetim Kılavuz u'nun Sağlama bölümüne bakın.

Filtre gezgini alanından Hizmet İşlemleri Çalışma Alanı'na gidin.

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

Masaüstünün nasıl kullanılacağı hakkında bilgi için Webex İletişim Merkezi yardımındaki Aracı sekmesine bakın.

Genel Bakış

Bu makale, ServiceNow CRM bağlayıcısı için iş kurallarınızı özelleştirmenin çeşitli yollarını kapsar. Kullanım senaryolarını ServiceNow'a özgü iş kurallarına göre nasıl özelleştirebileceğinizi detaylandırır.

Müşteri bu kullanım senaryolarını ServiceNow'da kendi başına yönetmelidir. Yapılandırma, Webex Contact Center yazılımına veya uzmanlığına değil ServiceNow'a özeldir.

Bu, iş kurallarının değiştirilmesine yardımcı olacak bir referans dokümantasyonudur. ServiceNow geliştiricileri iş kurallarını oluşturacak ve yönetecek ve destek sağlayacaktır.

Cisco yalnızca örnek belgeler sağlar.

Aşağıdaki bölümlerde geliştirici ve kurumsal örnekler için Eylemler widget'ının nasıl kurulacağı, etkinleştirileceği ve yönetileceği hakkında ayrıntılı bilgi verilmektedir.

Eylemler Widget'ı Güncelleme Kümesini İşleme

Lisanslı kurumsal örnekler için ServiceNow mağazasından en son Webex Contact Center uygulamasını yükleyin.

Geliştirici örnekleri için Eylemler widget'ını ayarlamak için github deposunda bulunan en son Sistem Güncelleme Kümesi XML dosyasını şu konumdan indirin: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Dosya adı webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Eylemler widget'ı için güncelleme kümesini işlemek için Güncelleme Kümesini Teslim Etme bölümündeki 2 ila 9 adımları inceleyin.

Eylemler Widget'ı Etkinleştir

Eylemler widget'ını etkinleştirmek için isWidgetDisplayEnabled özelliğini kullanın. Özel masaüstü düzeninin başsız bölümünde bu özelliğin değerini değiştirmemelisiniz. Özellik, özel masaüstü düzeninin başsız bölümünde her zaman false olarak ayarlanır. Özelliğin değerini yalnızca özel masaüstü düzeninin panel bölümünde güncellemeniz gerekir.

Özel masaüstü düzeninde Eylemler widget'ını etkinleştirdikten sonra aşağıdaki işlemleri gerçekleştirebilirsiniz:

  • Etkinlik Kayıtlarını Yönet—Arayan ile ilişkili etkinlik kayıtlarının listesini görüntülemek için Etkinlik Kaydını Görüntüle/Düzen le'yi tıklatın.
  • CRM Nesnelerini İlişkilendir—Etkin lik kaydına çağrı türü (gelen veya giden), çağrı nesnesi, çağrı notları vb. gibi CRM nesneleri eklemek için etkinlik kayıtlarıyla ilişkilendir 'i tıklatın.
  • Olayları Yönet—Olay Oluştur'u tıklatın. Arayan ayrıntılarının önceden doldurulmasıyla yeni bir olay oluşturulur. Olay için gerekli güncellemeleri yapabilirsiniz. Kayıt türünü olaydan duruma, İK modülüne vb. gereksinimlerinize göre değiştirmeyi seçebilirsiniz. Kayıt türünü değiştirmek için Eylemler widget yapılandırmasında typeOfRecord özelli ğinin değerini değiştirin. Örneğin:
    {
                  "comp": "md-tab-panel",
                  "attributes": { "slot": "panel", "class": "widget-pane" },
                  "children": [
                    {
                      "comp": "agentx-custom-desktop",
                      "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js",
                      "properties": {
                        "isWidgetDisplayEnabled": true,
                        "typeOfRecord" : "Create Incident" 
                      },
                      "wrapper": {
                        "title": "SNOW Actions !",
                        "maximizeAreaName": "app-maximize-area"
                      }
                    }
                  ]
                }
  • Canlı arama notları ekle—Metin alanında arama hakkında ek bilgiler yakalayabilir ve aramayı tamamlayabilirsiniz. Etkinlik kaydında çağrı notları olarak eklenen bu notları görebilirsiniz.

ServiceNow'da kod değişikliği

Komut Dosyası değişiklikleri içerir
  1. Filtre gezginine gidin ve komut dosyası içeriklerini arayın.

    Sistem kullanıcı arabirimi altında Komut Dosy ası İçerir seçeneğini seçin.

  2. Adı filtreleyin ve PropUtils'i arayın.

  3. Komut Dosyasındaki UserGetSysID yöntemini değiştirin.

    Akım:

    UserGetSysId : function () {
    var opened_for;
    var user = new GlideRecord("sys_user");
    user.addQuery(this.getParameter('field'),this.getParameter('value'));
    user.query();
    if (user.next())
    opened_for=user.sys_id;
    var grInt = new GlideRecord('interaction');
    grInt.initialize();
    grInt.assigned_to= gs.getUserID();
    grInt.type= 'phone';
    grInt.opened_for= opened_for;
    var sysid=grInt.insert();
    return sysid;
    },

    Olay için yeni örnek kod:

    UserGetSysId : function () {
                var opened_for;
    
            //Incident related changes
                 var sysidlist = {};
                var user = new GlideRecordSecure("sys_user");
                  user.addQuery(this.getParameter('field'),this.getParameter('value'));
                  user.query();
                  if(user.next()) {
                     opened_for=user.sys_id;//return user.sys_id;
                        var inc = new GlideRecordSecure('incident');
                                inc.addQuery('caller_id', opened_for);
                                inc.addQuery('state','IN','1,2');
                                inc.orderByDesc('sys_created_on');
                                inc.query();
                                    if (inc.next()) {
                                        sysidlist.incsysid=inc.getUniqueValue();
                                   }else{
                                        inc.initialize();
                                        inc.caller_id=opened_for;
                                        inc.contact_type='phone';
                                        inc.short_description='Call Received From '+ this.getParameter('value');
                                        sysidlist.incsysid=inc.insert();
                                    }
                  } 
                var grInt = new GlideRecordSecure('interaction');
                    grInt.initialize(); 
                    grInt.assigned_to= gs.getUserID(); 
                    grInt.type= 'phone'; 
                    grInt.opened_for= opened_for; 
                var sysid=grInt.insert();
                sysidlist.sysid=sysid;
                
                return JSON.stringify(sysidlist);
            },

UI sayfalarında yöntem değişikliği
  1. Filtre gezginine gidin ve arayın UI page.

    Sistem kullanıcı arabirimi altında UI sayf alarını seçin.

  2. Adı filtreleyin ve agentdesk top'u arayın.

  3. İstemci kom ut dosyasındaki screenpop işlevini değiştirin.

    Mevcut fonksiyon:

    // screen pop
    function screenpop(callerani,callSessionInfo) {
    
    
    
    if(callerani===callSessionInfo.phoneNumber){
    callerani=stripPrefixes(callerani);
    }
    var gaout = new GlideAjax('propUtils');
    gaout.addParam('sysparm_name', 'UserGetSysId');
    gaout.addParam('field', 'phone');
    gaout.addParam('value', callerani);
    gaout.getXMLWait();
    
    
    var sysid = gaout.getAnswer();
      
    openFrameAPI.openServiceNowForm({
    entity: 'interaction',
    query: 'sys_id='+sysid
    });

    Olay için örnek kod:

    // screen pop
    function screenpop(callerani,callSessionInfo) {
       
    
        if(callerani===callSessionInfo.phoneNumber){
            callerani=stripPrefixes(callerani);
        }
        
        var gaout = new GlideAjax('propUtils');
            gaout.addParam('sysparm_name', 'UserGetSysId');
            gaout.addParam('field', 'phone');
            gaout.addParam('value', callerani);
            gaout.getXMLWait();
    
    // For Incident-related change
          var sysObj = JSON.parse(gaout.getAnswer());
        
        if(sysObj.incsysid){
            openFrameAPI.openServiceNowForm({
            entity: 'incident',
            query: 'sys_id='+sysObj.incsysid, 
            'interaction_sys_id': sysObj.sysid  
           });
        }else{
            openFrameAPI.openServiceNowForm({
            entity: 'incident',
            query: 'sys_id=-1',
            'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8'  
           });
        }
       
    }

Arayan bilgileri CRM'de mevcutsa ve bu kişiyle zaten yeni bir olay açıldıysa, uygulama devam etmeyen olayı açar

Arayan bilgileri CRM'de yoksa, uygulama yeni bir olay açar

Arayan bilgileri CRM'de mevcutsa, uygulama önceden doldurulmuş ayrıntılarla yeni bir olay açar

Genel Bakış

Bu kullanım senaryosu, ServiceNow tablosuna fazladan bir sütun ekleme webexcc_imp_activity ve Webex CC for ServiceNow sn_openframe_phone_log CRM Bağlayıcısı yüklendikten sonra oluşturma işlemini detaylandırır.

Varsayılan olarak, tablo belirli kullanıma hazır sistem alanlarını ve değerlerini içerir.

WebExCC Akış tasarımcısının içinde daha işletmeye özgü değişkenler (CAD Değişkenleri) oluşturabilir ve CAD değişkenlerini ServiceNow arama sonrası etkinlik günlüğünün içine ekleyebilir ve bunu arama sonrası etkinlik tablosu verilerine tutabilirsiniz.

Bu yalnızca bir referans dokümantasyonudur ve müşteri adını IVR içinde depolayan ve bunu ServiceNow'a gönderen Müşteri Adı adlı örnek bir CAD değişkeni için bunun nasıl yapılacağını gösterir.

İş ortağı+müşteri hizmetleriNow geliştiricilerinin, mevcut bağlayıcıya yönelik bir özelleştirme olduğu için bu yapılandırmayı yapılandırması ve yönetmesi beklenir.

Cisco yalnızca konektörün nasıl özelleştirileceği ve genişletileceği ile ilgili teknikleri sağlar.

Bu makaleden itibaren Cisco ekibi, aşağıda açıklanan tekniği kullanarak Etkinlik Günlüğü ve Etkinlik Tablosuna CAD değişkeninin eklenmesine yönelik desteği doğruladı:

WebExCC IMP Etkinliğine Sütun Ekle

  1. Tabloyu ServiceNow'un geliştirici sürümünde düzenleyin.

    ServiceNow developer instance WebexCC IMP activity table.

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

    ServiceNow developer instance filter navigator on the All tab with ‘studio’ entered in the filter.

    Webex İletişim Merkezi'ni seçin

    Studio app for ServiceNow with the Select Application window open.

    veya

    Studio app for ServiceNow with the Select Application window open and ‘Select Store App to Customize’ selected.

    Studio app for ServiceNow with the ‘Select Store App to Customize’ window open and ‘Webex Contact Center’ selected.

    Studio app for ServiceNow with Webex Contact Center application file details.

  3. WebExCC IMP Etkinlik tablosunu seçin

    Studio app for ServiceNow WebexCC IMP Activity table.

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

    Studio app for ServiceNow WebexCC IMP Activity table new column example.

    Studio app for ServiceNow WebexCC IMP Activity table new column example with new column added.

Telefon Günlüğüne Sütun Ekle

  1. Telefon günlüğü tablosunu düzenleyin.

    ServiceNow developer instance search for a phone log table.

    ServiceNow developer instance phone log table.

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

    ServiceNow developer instance phone log table new column examples.

    ServiceNow developer instance phone log table new column example with new column added.

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

Studio app for ServiceNow WebexCC Activity Transform Map.

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

Studio app for ServiceNow WebexCC Activity Transform Map new column example for CustomerName field mapping.

Studio app for ServiceNow WebexCC Activity Transform Map new column example with CustomeName selected in the Target field.

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

Studio app for ServiceNow WebexCC Activity Transform Map with popup window to personalized list columns. Choice action option is highlighted in the Selected column.

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

Studio app for ServiceNow WebexCC Activity Transform Map with the Choice action column, showing the dropdown to choose ‘ignore’ or ‘create.’

Studio app for ServiceNow WebexCC Activity Transform Map with the Choice action column and ‘ignore’ highlighted for the customer name source field.

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

Studio app for ServiceNow configuring phone log list with CustomerName highlighted in the Selected column.

Komut Dosyasına Git Dahil Et

Yalnızca bir satır ekleyin webexcc. u_customername=ActInfo.CustomerName to PropUtils.

ServiceNow developer instance filter navigator search for ‘script includes.’

ServiceNow developer instance Script Includes page.

Örnek komut dosyası

Satıra bakın: webexcc. u_customername=ActInfo.customer Name; destekleyici bir yorum ile.

var propUtils = Class.create();
propUtils.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{
         getWebexccProp : function () {
           var webexccprop = {};
           webexccprop.instanceurl= 'https://'+gs.getProperty('instance_name')+'.service-now.com/';
           webexccprop.url=gs.getProperty('x_caci_webexcc.agentdesktop_url');
          // webexccprop.popupurl=gs.getProperty('x_caci_webexcc.screenpop_url');
           return  JSON.stringify(webexccprop);
      
        },
        UserGetSysId : function () {
            var opened_for;
            var user = new GlideRecord("sys_user");
              user.addQuery(this.getParameter('field'),this.getParameter('value'));
              user.query();
              if (user.next())
                 opened_for=user.sys_id;//return user.sys_id;
//            else
//               return null;
            var grInt = new GlideRecord('interaction');
                grInt.initialize();
                grInt.assigned_to= gs.getUserID();
                grInt.type= 'phone';
                grInt.opened_for= opened_for;
            var sysid=grInt.insert();
            return sysid;
        },
        setWebexcctable : function () {
            var sys_id=0;
             
            var actInfo = JSON.parse(this.getParameter('actInfo'));
            var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable'));
            webexcc.addQuery("callobject", actInfo.CallObject);
            webexcc.query();
            if(!webexcc.next()) {
                webexcc.ani = actInfo.ani;
                webexcc.dnis =actInfo.dnis;
                webexcc.queuename =actInfo.queuename;
                webexcc.wrapuptime =actInfo.wrapuptime;
                webexcc.callduration =actInfo.CallDurationInSeconds;
                webexcc.ringingtime =actInfo.ringingtime;
                webexcc.activitydate =actInfo.ActivityDate;
                webexcc.callobject =actInfo.CallObject;
                webexcc.calltype =actInfo.CallType;
                webexcc.calldisposition=actInfo.CallDisposition;
                 
                // This line is Added - to capture it in the Activity Log
               webexcc.u_customername=actInfo.CustomerName;
                 
                sys_id=webexcc.insert();
 
                //Activities on Incident record;
                var actInfoString =this.getParameter('actInfo');
                var suser = new GlideRecordSecure("sys_user");
                    suser.addQuery("phone", this.getParameter('ani'));
                    suser.query();
                    if(suser.next()) {
                    var inc = new GlideRecordSecure('incident');
                            inc.addQuery('caller_id', suser.sys_id);
                            inc.orderByDesc('sys_created_on');
                            inc.query();
                                if (inc.next()) {
                                    var jsonPretty = JSON.stringify(JSON.parse(actInfoString),null,2); 
                                    inc.comments =jsonPretty;
                                inc.update();
     
                            }
                    }
            }  
            return sys_id;
       },
 
    type: 'propUtils'
});

Flow designer'da bir CAD değişkeni oluşturma

Webex Contact Center CAD variable flow designer with Add Flow Variable popup for CustomerName.

CAD değişkenini Masaüstü Düzeni'ne ekleme

Örnek

"CadName1:SnowField1,CadName2:SnowField2"
 CadName1 is CustomerName
 SnowField1 is also used as CustomerName which is part of sample scirpt showen above "actInfo.CustomerName".

Example source code for adding the CAD variable to the Desktop Layout.

Demo ekran görüntüleri

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

ServiceNow example of the newly added CAD variable in the WebexCC Activity table, showing ‘Customer Name’ in the Cisco WebexCC popup.

ServiceNow example of the newly added CAD variable in the WebexCC Activity table, showing ‘CustomerName’ in the comments section under ‘Activity’ and ‘System Administrator.’

ServiceNow developer instance example of the newly added CAD variable in the WebexCC Activity table, showing the ‘CustomerName’ column.

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

Olay aciliyeti

Webex Contact Center flow designer create CAD variable screen showing the edit flow variable popup for an incident urgency flow variable.

Olay etkisi

Webex Contact Center flow designer create CAD variable screen showing the edit flow variable popup for an incident urgency flow variable.

Service Now komut dosyası güncellemesi

Komut Dosyası Güncellemeleri İçerir

  1. Filtre gezginine gidin ve arayın script includes

    Sistem kullanıcı arabiri mi altında Komut Dosyası Dahil seçeneğini seçin.

    ServiceNow developer instance filter navigator search for ‘script includes’

  2. Adı ile filtreleyin propUtils.

    ServiceNow developer instance Script Includes name filter by ‘propUtils’

  3. Komut Dosyası alanında UserGetSysID yöntemini değiştirin.

    ServiceNow developer instance Script Includes – propUtils details page.

    Geçerli komut dosyası:

    UserGetSysId : function () {
    var opened_for;
    var user = new GlideRecord("sys_user");
    user.addQuery(this.getParameter('field'),this.getParameter('value'));
    user.query();
    if (user.next())
    opened_for=user.sys_id;
    var grInt = new GlideRecord('interaction');
    grInt.initialize();
    grInt.assigned_to= gs.getUserID();
    grInt.type= 'phone';
    grInt.opened_for= opened_for;
    var sysid=grInt.insert();
    return sysid;
    },

    Olay için yeni örnek kod:

    UserGetSysId : function () {
                var opened_for;
                
                var sysidlist = {};
                var user = new GlideRecordSecure("sys_user");
                  user.addQuery(this.getParameter('field'),this.getParameter('value'));
                  user.query();
                  if(user.next()) {
                     opened_for=user.sys_id;//return user.sys_id;
                        var inc = new GlideRecordSecure('incident');
                                inc.addQuery('caller_id', opened_for);
                                inc.addQuery('state','IN','1,2');
                                inc.orderByDesc('sys_created_on');
                                inc.query();
                                    if (inc.next()) {
                                        sysidlist.incsysid=inc.getUniqueValue();
                                   }else{
                                        inc.initialize();
                                        inc.caller_id=opened_for;
                                        inc.contact_type='phone';
                                        inc.urgency=this.getParameter('IncUrgency');
                                        inc.impact=this.getParameter('Impact');
                                        inc.short_description='Call Received From '+ this.getParameter('value');
                                        sysidlist.incsysid=inc.insert();
                                    }
                  } 
                var grInt = new GlideRecordSecure('interaction');
                    grInt.initialize(); 
                    grInt.assigned_to= gs.getUserID(); 
                    grInt.type= 'phone'; 
                    grInt.opened_for= opened_for; 
                var sysid=grInt.insert();
                sysidlist.sysid=sysid;
                
                return JSON.stringify(sysidlist);//sysid;
            },

UI sayfalarında bir yöntem değişikliği
  1. Filtre gezginine gidin ve arayın UI pages.

    Sistem kullanıcı arab irimi altındaki UI Sayf aları seçeneğini seçin.

    ServiceNow developer instance filter navigator search for ‘Ui page’

  2. UI Sayfalarını A d ile filtre leyin ve arayın agentdesktop.

    ServiceNow developer instance UI Pages name filter to search ‘agentdesktop’

  3. Komut dosyası alanındaki screenpop işlevini değiştirin.

    ServiceNow developer instance UI Page – agentdesktop details page.

    Mevcut fonksiyon:

    // screen pop
    function screenpop(callerani,callSessionInfo) {
    
    
    if(callerani===callSessionInfo.phoneNumber){
    callerani=stripPrefixes(callerani);
    }
    var gaout = new GlideAjax('propUtils');
    gaout.addParam('sysparm_name', 'UserGetSysId');
    gaout.addParam('field', 'phone');
    gaout.addParam('value', callerani);
    gaout.getXMLWait();
    
    
    var sysid = gaout.getAnswer();
      
    openFrameAPI.openServiceNowForm({
    entity: 'interaction',
    query: 'sys_id='+sysid
    });
    
    }

    Olay için örnek kod:

    // screen pop
    function screenpop(callerani,callSessionInfo) {
       
        var Impact=3;
        if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact != undefined)
        {
            Impact=callSessionInfo.callAssociatedData.Impact.value;
        }
        var IncUrgency=3;
        if(callSessionInfo.callAssociatedData.Urgency != null && callSessionInfo.callAssociatedData.Urgency != undefined)
        {
            IncUrgency=callSessionInfo.callAssociatedData.Urgency.value;
        }
        if(callerani===callSessionInfo.phoneNumber){
            callerani=stripPrefixes(callerani);
        }
        
        var gaout = new GlideAjax('propUtils');
            gaout.addParam('sysparm_name', 'UserGetSysId');
            gaout.addParam('field', 'phone');
            gaout.addParam('value', callerani);
            gaout.addParam('IncUrgency', IncUrgency);
            gaout.addParam('Impact', Impact);
            gaout.getXMLWait();
          // var sysid = gaout.getAnswer();
          var sysObj = JSON.parse(gaout.getAnswer());
        
        if(sysObj.incsysid){
            openFrameAPI.openServiceNowForm({
            entity: 'incident',
            query: 'sys_id='+sysObj.incsysid, 
            'interaction_sys_id': sysObj.sysid  
           });
        }else{
            openFrameAPI.openServiceNowForm({
            entity: 'incident',
            query: 'sys_id=-1',
            'interaction_sys_id': sysObj.sysid  
           });
        }
        window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj));
       
    }

Arayan bilgileri CRM'de mevcutsa ve yeni veya devam etmeyen bir olay yoksa, uygulama yeni bir olay açar

ServiceNow example of an incident.

ServiceNow example of an interaction.

ServiceNow'daki kodu değiştirin

WebExCC IM P Etkinlik tablosuna yeni sütunlar ekleme

WebExCC IMP Etkinlik tablosunu açın

ServiceNow developer instance WebexCC Activity TransformMap.

ServiceNow developer instance WebexCC Activity TransformMap details page.

Yeni bir sütun ekle - InteractionsNumber

ServiceNow developer instance WebexCC Activity TransformMap new column, InteractionNumber.

ServiceNow developer instance WebexCC Activity TransformMap details page showing the new ‘interactionnumber’ column added.

Yeni bir sütun ekle - IncidentNumber

ServiceNow developer instance WebexCC Activity TransformMap details page showing adding a new ‘incidentnumber’ column.

Güncelle'ye tıklayın.

ServiceNow developer instance WebexCC Activity TransformMap details page showing editing the max length for the IncidentNumber column.

ServiceNow developer instance WebexCC Activity TransformMap details page showing the new ‘incidentnumber’ column added.

Telefon Günlüğü tablosuna yeni sütunlar ekleme

Telefon Günlüğü tablosun u açın

ServiceNow developer instance Phone Log table.

Yeni bir sütun ekle - InteractionsNumber

ServiceNow developer instance Directory Entry – New Record page showing a new column for InteractionsNumber.

ServiceNow Developer instance Phone Log table with InteractionsNumber column added.

Yeni bir sütun ekle - IncidentNumber

ServiceNow developer instance Directory Entry – New Record page showing a new column for IncidentNumber.

ServiceNow Developer instance Phone Log table with IncidentNumber column added.

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

Filtre gezgininden dönüştür me haritasını açın

ServiceNow developer instance filter navigator search for ‘transform map’

ServiceNow developer instance Table Transform Maps showing WebexCC Activity TransformMap in results.

WebExCC Etkinlik TransformMap'e tıklayın

ServiceNow developer instance WebexCC Activity TransformMap.

Yeni ekle - Etkileşim Numarası Haritası için

ServiceNow developer instance WebexCC Activity TransformMap with ‘InteractionNumber’ entered into the ‘Target field’

ServiceNow developer instance WebexCC Activity TransformMap with ‘InteractionNumber’ added.

Yeni ekle - Olay Numarası Haritası için

ServiceNow developer instance WebexCC Activity TransformMap with ‘IncidentNumber’ entered into the ‘Target field’

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

ServiceNow developer instance WebexCC Activity TransformMap with ‘IncidentNumber’ added.

Komut Dosyası İçerdiği Değişiklikler

  1. Filtre gezginine gidin ve “komut dosyası içerir” için arama yapın.

    Sistem kullanıcı arabirimi altında Komut Dosy ası İçerir seçeneğini seçin.

    ServiceNow developer instance filter navigator with search for ‘script includes’

  2. Adı ProPu til s ile filtreleyin.

    ServiceNow developer instance Script Includes with Name filter applied to search and  ‘propUtils’ entered into the search field.

  3. SetWebExccTable yöntemini değiştirin.

    ServiceNow developer instance Script includes - propUtils page

    Olay için yeni örnek kod:

    setWebexcctable : function () {
                var sys_id=0;
                
                var actInfo = JSON.parse(this.getParameter('actInfo'));
                var webexcc = new GlideRecordSecure(gs.getProperty('webexccactivitytable'));
                webexcc.addQuery("u_callobject", actInfo.CallObject);
                webexcc.query();
                if(!webexcc.next()) {
                    
                    //Activities on Incident record;
                    //var actInfoString =this.getParameter('actInfo');
                    var incsysid=actInfo.incident_sys_id;
                    var interactionsysid=actInfo.interaction_sys_id;
                    var incnum="";
                    var intenum="";
                    delete actInfo['interaction_sys_id'];
                    delete actInfo['incident_sys_id'];
                    if( interactionsysid!= null && interactionsysid != undefined){
                        var inte = new GlideRecordSecure('interaction');
                        //inte.get('sys_id', interactionsysid );
                        
                        inte.addQuery('sys_id', interactionsysid );
                        inte.query();
                        if (inte.next()) {
                            intenum=inte.number;
                           // inte.setValue('state','Closed Complete');
                            inte.work_notes='Update State to closed.';
                            inte.update();
        
                        }
                    }
                    if( incsysid!= null && incsysid != undefined){
                        var inci = new GlideRecordSecure('incident');
                        inci.addQuery('sys_id', incsysid );
                        inci.query();
                        if (inci.next()) {
                            incnum=inci.number;
                            var jsonPretty = JSON.stringify(actInfo,null,2); //JSON.stringify(JSON.parse(actInfoString),null,2);  
                            inci.comments =jsonPretty;
                            inci.update();
        
                        }
                    }else{
                      var suser = new GlideRecordSecure("sys_user");
                        suser.addQuery("phone", this.getParameter('ani'));
                        suser.query();
                        if(suser.next()) {
                        var inc = new GlideRecordSecure('incident');
                                inc.addQuery('caller_id', suser.sys_id);
                                inc.addQuery('state','IN','1,2');
                                inc.orderByDesc('sys_created_on');
                                inc.query();
                                    if (inc.next()) {
                                        var jsonPretty = JSON.stringify(actInfo,null,2);  
                                        inc.comments =jsonPretty;
                                    inc.update();
        
                                }
                        } 
                    }
                   
                    
                    webexcc.u_ani = actInfo.ani;
                    webexcc.u_dnis =actInfo.dnis;
                    webexcc.u_queuename =actInfo.queuename;
                    webexcc.u_wrapuptime =actInfo.wrapuptime;
                    webexcc.u_callduration =actInfo.CallDurationInSeconds;
                    webexcc.u_ringingtime =actInfo.ringingtime;
                    webexcc.u_activitydate =actInfo.ActivityDate;
                    webexcc.u_callobject =actInfo.CallObject;
                    webexcc.u_calltype =actInfo.CallType;
                    webexcc.u_calldisposition=actInfo.CallDisposition;
                    webexcc.u_incidentnumber=incnum;
                    webexcc.u_interactionsnumber=intenum;
                    sys_id=webexcc.insert();
    
                    
                                
                }    
                return sys_id;
           },

UI sayfalarında yöntem değişiklikleri

  1. Filtre gezginine gidin ve kullanıcı arayüzü sayfalarını arayın

    Sistem kullanıcı arab irimi altındaki UI Sayf aları seçeneğini seçin.

    ServiceNow developer instance filter navigator with search for ‘Ui page’

  2. UI Sayfalarını Ad ile filtre leyin ve arayın agentdesktop.

    ServiceNow developer instance UI Pages with Name filter applied to search.

  3. Komut dosyasındaki NowActivities ve screenpop işlevini değiştirin.

    ServiceNow developer instance UI Page – agentdesktop.

    Mevcut fonksiyon:

    function nowActivities(actInfo, ani) {
        
        var gaout = new GlideAjax('propUtils');
        gaout.addParam('sysparm_name', 'setWebexcctable');
        gaout.addParam('actInfo', JSON.stringify(actInfo));
        gaout.addParam('ani', stripPrefixes(ani));
        gaout.getXML(SetCCsysId);
    
    
    }

    Olay için örnek kod:

    function nowActivities(actInfo, ani) {
        var sysObjstr = window.localStorage.getItem("screenpopinteraction");
        if(sysObjstr != null && sysObjstr != undefined)
        {
            var sysObjjson=JSON.parse(sysObjstr);
            actInfo.interaction_sys_id=sysObjjson.sysid;
            actInfo.incident_sys_id=sysObjjson.incsysid;
        }
        var gaout = new GlideAjax('propUtils');
        gaout.addParam('sysparm_name', 'setWebexcctable');
        gaout.addParam('actInfo', JSON.stringify(actInfo));
        gaout.addParam('ani', stripPrefixes(ani));
        gaout.getXML(SetCCsysId);
    
    
    }
    
    function screenpop(callerani,callSessionInfo) {
       
    
        if(callerani===callSessionInfo.phoneNumber){
            callerani=stripPrefixes(callerani);
        }
        
        var gaout = new GlideAjax('propUtils');
            gaout.addParam('sysparm_name', 'UserGetSysId');
            gaout.addParam('field', 'phone');
            gaout.addParam('value', callerani);
            gaout.getXMLWait();
          // var sysid = gaout.getAnswer();
          var sysObj = JSON.parse(gaout.getAnswer());
        
        if(sysObj.incsysid){
            openFrameAPI.openServiceNowForm({
            entity: 'incident',
            query: 'sys_id='+sysObj.incsysid, 
            'interaction_sys_id': sysObj.sysid  
           });
        }else{
            openFrameAPI.openServiceNowForm({
            entity: 'incident',
            query: 'sys_id=-1',
            'interaction_sys_id': sysObj.sysid  
           });
        }
        window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj));
            
       
    }
    
    

Güncellemeden sonraki sonuçlar

ServiceNow developer instance Phone Logs page.

Aşağıdaki özelleştirmeler 1.0.5 ve sonraki sürümler için geçerlidir. Yeni sürüm 1.0.7 ve üstü için özelleştirmeler için yukarıdaki adımları izleyin.

Özelleştirme # 1 - Çağrı akışı kullanım durumları için özel iş kuralları ekleyin

Her arama için yeni bir olay kaydı oluşturun

ServiceNow'daki WebExCC CRM bağlayıcısına yapılan her yeni çağrı için Yeni Olay Kaydı oluşturun.

  1. Filtre gezgininde İş Kurallarını Ara

    ServiceNow developer instance Business Rules page header.
  2. Yeni'yi tıklayın.

    ServiceNow developer instance Business Rule – New Record.

    Referans için örnek kod:

    function customcti() {
                var url = null;
                var name = sysparm_caller_name;
                eid = sysparm_caller_id;
                var phone = sysparm_caller_phone;
                var taskID = sysparm_task_id;
                var fQuery = sysparm_query;
                if (fQuery == null)
                   fQuery = '';
                var view = sysparm_view;
                if (view == null || view == '')
                    view = "itil";
     
                var userID = null;
                if (eid != null && eid != '') {
                    userID = UserGetSysId("employee_number",eid);
                }
                if (userID == null && name != null && name != '') {
                    userID = UserGetSysId("name", name);                
                }
                if (userID == null && phone != null && phone != '') {
                    userID = UserGetSysId("phone", phone);
                }
     
                if (userID != null) {
                    if (fQuery.length > 0)
                        fQuery += "^";
                    fQuery += "caller_id=" + userID;
                }
                if (url == null) {
                    url = "incident.do?sys_id=-1";
                    if (fQuery != null)
                       url += "&sysparm_query=" + fQuery;
                }
                answer = url;
                return url;
    }
     
    function UserGetSysId(field, value) {
      var user = new GlideRecord("sys_user");
      user.addQuery(field, value);
      user.query();
      if (user.next())
         return user.sys_id;
      else
         return null;
    }

    İş kuralının örnek yapılandırması

    ServiceNow developer instance Business Rule – CTI Processing For Incident page as a sample configuration of the business rule.
  3. İstemciyi çağrılabilir etkinleştir

    ServiceNow developer instance Business Rules page with the Personalized List Columns popup screen showing ‘Client callable’ in the ‘Selected’ column.

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

    ServiceNow developer instance Business Rules page showing the Client callable column with options to select ‘true’ or ‘false’
  4. Screenpop url'sini özel CTI Kuralı "cti.do? ile güncelleyin. sysparm_cti_rule=Olayı oluştur& = "sysparm_caller_phone

    System Property page for screenpop_url showing update to the custom CTI rule in the ‘Value’ field.
Örnek

'ad' işlevin in adı olduğu sysparm_cti_rule= name, varsayılan kom ut dosyasını kullanmak yerine CTI İşleme için çağrılacaktır.

İstemci çağrılabilir olarak işaret sys_scriptlenmiş bir girişte işlevi tanım layın.

Fonksiyona herhangi bir GlidereCord (lar) eklemeniz, güncellemeniz veya silmeniz gerekiyorsa, güncellemeleri gerçekleştirmek için ayrı bir istemci çağrılabilir işlevi çağırın.

Bir komut dosyasını istemci olarak çağrılabilir yapmak için, giriş görüntülendiğinde görüntülenen formdaki istemci-çağrılabilir onay kutusunu işaretlemeniz gerekir. sys_script

İstemci çağrılabilir onay kutusu varsayılan olarak görünmez. Görüntülemek için, dişli simgesini ve slush kova mekanizmasını kullanarak formda gösterilen alanları değiştirmeniz gerekir.

Referanslar

Özelleştirme # 2 - Webex Contact Center etkinlik tablosuna CAD değişkeni ekleyin

Genel Bakış

Bu makalede, ServiceNow CRM Bağlayıcısı için Webex CC yüklenmesi üzerine oluşturulan ServiceNow webexcc_activity tablosuna ek bir sütun ekleme işlemi ayrıntılarıyla açıklanmaktadır.

Varsayılan olarak, tablo kullanıma hazır sistem alanları ve değerleri içerir.

WebExCC Akış tasarımcısı içinde potansiyel olarak işletmeye özgü daha fazla değişken (CAD Değişkenleri) oluşturabilir ve bu CAD değişkenlerini ServiceNow arama sonrası etkinlik günlüğüne ekleyebilir ve bunu arama sonrası etkinlik tablosu verilerine tutabilirsiniz.

  • Bu yalnızca referans belgeleridir ve müşteri adını IVR içinde depolayan ve bunu ServiceNow'a gönderen Müşteri Adı adlı örnek bir CAD değişkeni için bunun nasıl yapılacağını gösterir.

  • İş ortağı+müşteri hizmetleriNow geliştiricileri, mevcut bağlayıcıya yönelik bir özelleştirme olduğu için bu yapılandırmayı yapılandıracak ve yönetecektir.

  • Cisco, yalnızca konektörün nasıl özelleştirileceği ve genişletileceği ile ilgili teknikleri sağlayacaktır.

  • Bu makaleden itibaren, Cisco ekibi, aşağıda açıklanan tekniği kullanarak Etkinlik Günlüğü ve Etkinlik Tablosuna CAD değişkeninin eklenmesine yönelik desteği doğruladı.

WebExCC etkinliğine sütun ekle
  1. Tabloyu ServiceNow'un geliştirici sürümünde düzenleyin.

    ServiceNow developer instance Table – WebexCC Activity page.
  2. St üdy o > Webex İletişim Merke zi'ne gidin.

    ServiceNow developer instance filter navigator search for ‘studio’  highlighting the cross launch search result for ‘App Engine Studio’

    App Engine Studio Select Application screen showing Webex Contact Center in the search results.

    App Engine Studio Webex Contact Center screen.

  3. WebExCC Etkinlik tablosunu seçin.

    App Engine Studio WebexCC Activity table.
  4. Örneğin, CustomerName.

    App Engine Studio WebexCC Activity table column edit example for ‘CustomerName’ column.

    App Engine Studio WebexCC Activity table screen.

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

    App Engine Studio WebexCC Activity table list layout showing ‘CustomerName’ highlighted in the ‘Selected’ column.
Yeni bir Komut Dosyası Oluştur İçerir

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

ServiceNow developer instance filter navigator search for ‘script includes’

ServiceNow developer instance Script Includes page with ‘Application’ in the filter.

ServiceNow developer instance Script Includes – New Record page.

Örnek komut dosyası

Şu satıra bakın: webexcc. u_customername=ActInfo.customer Name; destekleyici bir yorum ile.

var propUtils2 = Class.create();
propUtils2.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{
         getWebexccProp : function () {
           var webexccprop = {};
           webexccprop.instanceurl= 'https://'+gs.getProperty('instance_name')+'.service-now.com/';
           webexccprop.url=gs.getProperty('x_caci_webexcc.agentdesktop_url');
           webexccprop.popupurl=gs.getProperty('x_caci_webexcc.screenpop_url');
           return  JSON.stringify(webexccprop);
      
        },
        setWebexcctable : function () {
            var sys_id=0;
             
            var actInfo = JSON.parse(this.getParameter('actInfo'));
            var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable'));
            webexcc.addQuery("callobject", actInfo.CallObject);
            webexcc.query();
            if(!webexcc.next()) {
                webexcc.ani = actInfo.ani;
                webexcc.dnis =actInfo.dnis; 
                webexcc.queuename =actInfo.queuename;
                webexcc.wrapuptime =actInfo.wrapuptime;
                webexcc.callduration =actInfo.CallDurationInSeconds;
                webexcc.ringingtime =actInfo.ringingtime;
                webexcc.activitydate =actInfo.ActivityDate;
                webexcc.callobject =actInfo.CallObject;
                webexcc.calltype =actInfo.CallType;
                webexcc.calldisposition=actInfo.CallDisposition;
 
               // This line is Added - to capture it in the Activity Log
               webexcc.u_customername=actInfo.CustomerName;
 
                sys_id=webexcc.insert();
  
                // Activities on Incident record;
                var actInfoString =this.getParameter('actInfo');
                var suser = new GlideRecordSecure("sys_user");
                    suser.addQuery("phone", this.getParameter('ani'));
                    suser.query();
                    if(suser.next()) {
                    var inc = new GlideRecordSecure('incident');
                            inc.addQuery('caller_id', suser.sys_id);
                            inc.orderByDesc('sys_created_on');
                            inc.query();
                                if (inc.next()) {
                                    var jsonPretty = JSON.stringify(JSON.parse(acting string),null,2);  
                                    inc.comments =jsonPretty;
                                inc.update();
                                 }
                    } 
            }    
            return sys_id;
       },
 
    type: 'propUtils2'
});
UI sayfasını yeni bir komut dosyası adıyla düzenleyinApp Engine Studio agentdesktop UI page with new script name.

Flow designer'da bir CAD değişkeni oluşturmaWebex Contact Center flow designer with Add Flow Variable popup showing adding a CustomerName variable.

CAD değişkenini Masaüstü Mizanpajına eklemeWebex Contact Center CAD variable to the desktop layout script with ‘CustomerName:CustomerName’ highlighted.

Demo ekran görüntüleri

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

ServiceNow developer instance showing newly added CAD variable in the WebexCC Activity table.

ServiceNow developer instance WebexCC Activities screen.

CRM bağlayıcısı, masaüstü düzeni JSON'da belirtilen widget'ın sürümüne göre çalışır. Masaüstü Düzeni içindeki widget sürümünün güncel tutulmasını sağlamak son derece önemlidir.

Yöneticilerin, bu CRM bağlayıcısı için tüm masaüstü düzenlerinin bu widget sürümünü kullanmasını sağlamaları beklenir. If the layout is not updated to use the latest version, functionality will no longer be supported and may cease to work correctly.

  • Son ServiceNow güncellemesi— ServiceNow_Desktop_0 .1.0_v5.0.3.json. Mart 2024 itibariyle paket sürümü 1.0.9
  • Son XML güncellemesi—WebExcc-ServiceNow-Update-SetV7-1-ActionsWidget.xml, Haziran 2024

Bu makale yararlı oldu mu?
Bu makale yararlı oldu mu?