Wymagania wstępne

Obecnie ta funkcja ma zastosowanie tylko do agentów.

Przed zintegrowaniem Webex Contact Center z konsolą programu CRM ServiceNow upewnij się, że masz następujące elementy:

Wykonaj jedną z dwóch poniższych metod:

W przypadku wystąpień deweloperskich zalecamy wykonanie kroków opisanych w przewodniku po wystąpieniach dla programistów.

Jeśli posiadasz instancję licencjonowaną dla przedsiębiorstwa, postępuj zgodnie ze wskazówkami dotyczącymi instancji licencjonowanych dla przedsiębiorstwa.

Nie zalecamy mieszania aplikacji licencjonowanej dla przedsiębiorstwa z wystąpieniami piaskownicy deweloperów.

W poniższych sekcjach opisano kroki, aby zainstalować łącznik ServiceNow dla wystąpień deweloperów.

1

Zaloguj się do konta portalu deweloperów ServiceNow i otwórz konsolę administracyjną .

2

W obszarze Moje wystąpienie menu Konto kliknij polecenie Rozpocznij budowanie.

Zrzut ekranu portalu deweloperów ServiceNow z wyróżnionym przyciskiem "Rozpocznij budowanie".

3

W wystąpieniu programisty w polu Nawigator filtrów w lewym górnym rogu okna przejdź do pozycji Wtyczki.

Instancja programisty ServiceNow wyświetlająca wyszukiwanie nawigatora filtrów "plugins".

4

Wyszukaj wtyczkę Openframe o nazwie Openframe. Może być konieczne przewinięcie listy.

Wystąpienie programisty ServiceNow na ekranie Aplikacje, pokazujące wyszukiwanie i wyniki dla "OpenFrame".

5

Kliknij przycisk Instaluj , aby zainstalować wtyczkę Openframe.

6

W oknie dialogowym Aktywuj wtyczkę kliknij przycisk Aktywuj.

Instancja programisty ServiceNow wyświetlająca wyskakujące okienko wtyczki OpenFrame z podświetlonym przyciskiem "Aktywuj".

7

Po zakończeniu aktywacji wtyczki kliknij przycisk Zamknij i odśwież formularz w oknie dialogowym Aktywacja wtyczki .

Instancja programisty ServiceNow pokazująca ładowanie aktywacji wtyczki OpenFrame.

Instancja programisty ServiceNow pokazująca okno sukcesu aktywacji wtyczki OpenFrame z podświetlonym przyciskiem "Zamknij i załaduj ponownie formularz".

8

Aby zweryfikować aktywację wtyczki, w polu Nawigator filtrów w lewym górnym rogu okna przejdź do OpenFrame.

9

Kliknij Konfiguracje i upewnij się, że wtyczka OpenFrame pojawia się na liście Konfiguracje OpenFrame.

Wystąpienie dewelopera ServiceNow pokazujące konfiguracje OpenFrame w wyszukiwaniu nawigatora filtrów.

1

Pobierz najnowszy plik zestawu aktualizacji systemu XML dostępny w repozytorium github w tej lokalizacji: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Nazwa pliku: webexcc-servicenow-update-setV(X).XML

Zrzut ekranu repozytorium Github dla integracji Webex Contact Center CRM - ServiceNow.

2

W wystąpieniu usługi ServiceNow w polu Nawigator filtrów w lewym górnym rogu okna przejdź do pozycji Zestawy aktualizacji systemu> zestawy aktualizacji do zatwierdzenia .

Instancja dewelopera ServiceNow pokazująca wyszukiwanie w nawigatorze filtrów w "Wszystkie" Tab dla "Zestaw aktualizacji" i "Aktualizuj zestawy do zatwierdzenia" podświetlona.

3

Kliknij łącze Importuj zestaw aktualizacji z XML .

Wystąpienie dewelopera ServiceNow na stronie wyników Update Sets z wyróżnioną pozycją "Powiązane łącza: Importuj zestaw aktualizacji z XML".

4

Kliknij przycisk Wybierz plik, wybierz plik Zestaw aktualizacji systemu XML, a następnie kliknij przycisk Przekaż.

Ekran importu wystąpienia dewelopera ServiceNow XML.

Portal deweloperów ServiceNow pobrał listę zestawów aktualizacji.

Zestaw aktualizacji pojawi się na liście Pobrane zestawy aktualizacji i będzie w stanie Załadowano .
5

Na liście Pobrane zestawy aktualizacji kliknij nazwę pliku zestawu aktualizacji (łącze), aby otworzyć zestaw aktualizacji.

Portal deweloperów ServiceNow pobrał listę zestawów aktualizacji dla zaktualizowanego pliku.

6

W prawym górnym rogu okna kliknij przycisk Podgląd zestawu aktualizacji, aby sprawdzić, czy zestaw aktualizacji nie występuje.

Portal deweloperów ServiceNow pobrał listę zestawów aktualizacji dla zaktualizowanego pliku z wyróżnionym przyciskiem "Podgląd zestawu aktualizacji".

7

Kliknij przycisk Zamknij w oknie dialogowym Podgląd zestawu aktualizacji po zakończeniu podglądu.

Portal deweloperów ServiceNow z powiadomieniem o powodzeniu zestawu aktualizacji.

8

Kliknij przycisk Zatwierdź zestaw aktualizacji.

Portal deweloperów ServiceNow pobrał listę zestawów aktualizacji dla zaktualizowanego pliku z wyróżnionym przyciskiem "Zatwierdź zestaw aktualizacji".

9

Kliknij przycisk Zamknij w oknie dialogowym Zatwierdzenie zestawu aktualizacji po zakończeniu zatwierdzania zestawu aktualizacji.

Portal deweloperów ServiceNow z powiadomieniem o potwierdzeniu zatwierdzenia zestawu aktualizacji.

1

W polu Nawigator filtrów w lewym górnym rogu okna wpisz sys_properties.list i naciśnij enter.

Instancja programisty ServiceNow wyświetlająca wyszukiwanie w nawigatorze filtrów w Tab "Wszystkie" dla "sys_properties.list"

2

Na stronie Właściwości systemu posortuj właściwości według daty aktualizacji. Upewnij się, że widzisz następujące właściwości Webex Contact Center:

Strona właściwości systemu wystąpienia dewelopera ServiceNow.

3

Kliknij przycisk agentdesktop_url , aby otworzyć stronę agentdesktop_url Właściwości systemu.

4

W polu Wartość wprowadź adres URL pulpitu Webex Contact Center zgodnie z regionem działania.

Szczegóły właściwości systemowej instancji dewelopera ServiceNow dla agentdesktop_url.

5

Kliknij przycisk Aktualizuj , aby zapisać zmiany.

6

(Opcjonalnie) Aby zmienić nazwę tabeli aktywności, edytuj właściwości webexccactivitytable zgodnie z wymaganiami.

Na stronie Właściwości systemu kliknij pozycję webexccactivitytable.

Zmień pole Wartość zgodnie z wymaganiami.

ServiceNow developer instance system property details for webexactivitytable.

7

(Opcjonalnie) Dodaj grupy użytkowników w następujący sposób:

  1. W polu Nawigator filtrów w lewym górnym rogu okna przejdź do pozycji Grupy w obszarze Zabezpieczenia systemu.

    ServiceNow developer instance filter navigator search for ‘Groups’ under ‘System Security’
  2. Utwórz nową grupę użytkowników lub użyj istniejącej.

    Strona grupy wystąpień dewelopera ServiceNow dla WebexccAgentsGroup.

  3. Kliknij przycisk Edycja.

  4. Wyszukaj sn_openframe_user w obszarze Kolekcja i przenieś je do swojej grupy użytkowników.

    Strona edycji grupy instancji dewelopera ServiceNow pokazująca wyszukiwanie kolekcji.

    Strona edycji grupy instancji dewelopera ServiceNow pokazująca kolekcję przeniesioną na listę ról.

  5. Kliknij przycisk Zapisz.

  6. Dodaj użytkownika jako członka grupy.

    Strona grupy wystąpień dewelopera ServiceNow z przypisanymi rolami użytkowników.

1

W polu Nawigator filtrów przejdź do OpenFrame > Configurations.

ServiceNow developer instance filters navigator with 'openframe' w polu wyszukiwania i 'Configurations' under 'OpenFrame' wyróżnione w wynikach.

2

Kliknij przycisk Nowy.

Strona konfiguracji OpenFrame instancji dewelopera ServiceNow z wyróżnioną opcją "Nowy".

3

Wprowadź następujące właściwości adresu URL:

  • Nazwa: Webex Contact Center Desktop

  • Tytuł: Webex Contact Center

  • Szerokość: 550 (zalecana)

  • Wysokość: 600 (zalecane)

4

Po prawej stronie pola Adres URL kliknij przycisk Zablokuj i dodaj agentdesktop.do jako adres URL. (Wykonaj ten krok, aby wskazać konfigurację strony interfejsu użytkownika)

Instancja programisty ServiceNow Konfiguracje OpenFrame — strona Nowy rekord z wyróżnioną ikoną kłódki.

5

(Opcjonalnie) Wybierz grupy użytkowników/agentów, do których ma zostać przypisana konfiguracja.

ServiceNow developer instance OpenFrame Configurations – wybór grupy użytkowników New Record.

6

Kliknij przycisk Wyślij. Adres URL zostanie wyświetlony jako łącze.

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

7

Przed próbą użycia telefonu OpenFrame upewnij się, że przesłałeś plik JSON niestandardowego układu pulpitu ServiceNow do portalu zarządzania Webex Contact Center. Aby uzyskać więcej informacji, zobacz Konfigurowanie układu pulpitu ServiceNow na Webex Contact Center.

1

Pobierz układ pulpitu dla ServiceNow z https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Ekran Github dla Webex Contact Center CRM Integrations - Desktop Layouts - ServiceNow.

2

W razie potrzeby zaktualizuj właściwości w pliku układu pulpitu.

3

Przejdź do portalu zarządzania Webex Contact Center.

4

Na pasku nawigacyjnym portalu zarządzania wybierz pozycję Provisioning > Desktop Layout.

Webex Contact Center Strona obsługi administracyjnej portalu zarządzania z wyróżnionym układem pulpitu w lewym obszarze nawigacyjnym.

5

Kliknij przycisk Nowy układ i wprowadź szczegóły układu pulpitu.

6

Przekaż plik JSON układu pulpitu ServiceNow.

7

Kliknij przycisk Zapisz , aby zapisać konfigurację.

Możesz teraz uruchomić pulpit Webex Contact Center w konsoli ServiceNow.

8

W polu Nawigator filtrów przejdź do obszaru roboczego Service Operations.

ServiceNow Home strona z Webex Contact Center Agent Desktop zintegrowana z ServiceNow.

W poniższych sekcjach opisano kroki, aby zainstalować łącznik ServiceNow dla licencjonowanych wystąpień przedsiębiorstwa.

1

Zaloguj się do konta portalu deweloperów ServiceNow i otwórz konsolę administracyjną .

2

W obszarze Moje wystąpienie menu Konto kliknij polecenie Rozpocznij budowanie.

Zrzut ekranu portalu deweloperów ServiceNow z wyróżnionym przyciskiem "Rozpocznij budowanie".

3

W instancji deweloperskiej z pola Nawigator filtrów w lewym górnym rogu okna przejdź do Wtyczek.

Instancja programisty ServiceNow pokazująca wyszukiwanie według nawigatora filtrów „wtyczki”.

4

Wyszukaj wtyczkę Openframe, która ma tytuł Openframe. Może być konieczne przewinięcie listy.

Instancja programisty ServiceNow na ekranie Aplikacje, pokazująca wyszukiwanie i wyniki dla „OpenFrame”.

5

Kliknij Zainstaluj , aby zainstalować wtyczkę Openframe.

6

W oknie dialogowym Aktywuj wtyczkę kliknij Aktywuj.

Instancja programisty ServiceNow pokazująca okno podręczne wtyczki OpenFrame z wyróżnionym przyciskiem „Aktywuj”.

7

Po zakończeniu aktywacji wtyczki kliknij opcję Zamknij i ponownie wczytaj formularz w oknie dialogowym Aktywacja wtyczki .

Instancja programisty ServiceNow pokazująca ładowanie aktywacji wtyczki OpenFrame.

Wystąpienie programisty ServiceNow pokazujące okno informujące o pomyślnej aktywacji wtyczki OpenFrame z wyróżnionym przyciskiem „Zamknij i ponownie wczytaj formularz”.

8

Aby sprawdzić aktywację wtyczki, w polu Nawigator filtrów znajdującym się w lewym górnym rogu okna przejdź do OpenFrame.

9

Kliknij Konfiguracje i upewnij się, że wtyczka OpenFrame pojawia się na liście Konfiguracje OpenFrame .

Instancja programisty ServiceNow pokazująca konfiguracje OpenFrame w wynikach wyszukiwania nawigatora filtrów.

1

W polu Nawigator filtrów w lewym górnym rogu okna wprowadź sys_properties.list.

Instancja programisty ServiceNow pokazująca wyszukiwanie w nawigatorze filtrów dla „Wszystkie” Tab dla „sys_properties.list”

2

Na stronie Właściwości systemu posortuj właściwości według daty aktualizacji. Upewnij się, że widzisz następujące właściwości Webex Contact Center:

Wyniki wyszukiwania na stronie właściwości systemu instancji programisty ServiceNow.

3

Kliknij agentdesktop_url , aby otworzyć stronę Właściwości systemowe agentdesktop_url .

4

W polu Wartość wprowadź adres URL pulpitu Webex Contact Center zgodnie z regionem, w którym działasz.

Strona ze szczegółami właściwości instancji programisty ServiceNow dla agentdesktop_url.

5

Kliknij Aktualizuj , aby zapisać zmiany.

6

(Opcjonalnie) Aby zmienić nazwę tabeli aktywności, edytuj właściwości x_caci_webexcc.webexccactivitytable w razie potrzeby.

  1. Na stronie Właściwości systemu kliknij x_caci_webexcc.webexccactivitytable.

    Wyniki strony właściwości systemu instancji programisty ServiceNow dla tabeli x_caci_webexcc.webexccactivitytable.

  2. Zmień pole Wartość w razie potrzeby.

    Strona właściwości systemu instancji programisty ServiceNow dla tabeli x_caci_webexcc.webexccactivitytable.

7

(Opcjonalnie) Dodaj grupy użytkowników w następujący sposób:

  1. W polu Nawigator filtrów w lewym górnym rogu okna przejdź do Grup w obszarze Zabezpieczenia systemu.

    Wyniki filtru instancji programisty ServiceNow dla „Grup”.

    Strona grupy programistów SeviceNow dla webexccagentsgroup.

  2. Kliknij Edytuj i dodaj następujące role:

    • Użytkownik sn_openframe

    • x_caci_webexcc.agent

    • użytkownik_obszaru_roboczego_agenta

    • x_caci_webexcc.webexcc_imp_activity_user

    • x_caci_webexcc.webex_contact_center

    Strona grupy instancji programistów SeviceNow dla webexccagentsgroup z dodanymi rolkami.

1

Z pola Nawigator filtrów przejdź do OpenFrame > Konfiguracje.

Nawigator filtrów instancji programisty ServiceNow zawiera frazę „openframe” w polu wyszukiwania i wyróżnioną w wynikach pozycję „Konfiguracje” w sekcji „OpenFrame”.

2

Kliknij przycisk Nowy.

Strona konfiguracji OpenFrame instancji programistycznej ServiceNow z wyróżnioną pozycją „Nowy”.

3

Wprowadź następujące właściwości adresu URL:

  • Nazwa: Webex Contact Center Pulpit

  • Tytuł: Webex Contact Center

  • Szerokość: 550 (zalecana)

  • Wysokość: 600 (zalecana)

4

Po prawej stronie pola URL kliknij przycisk Zablokuj i dodaj x_caci_webexcc_agentdesktop.do jako adres URL. (Wykonaj ten krok, aby wskazać konfigurację na stronie interfejsu użytkownika)

Konfiguracje OpenFrame instancji programistycznej ServiceNow – strona nowego rekordu z podświetloną ikoną kłódki.

5

(Opcjonalnie) Wybierz grupy użytkowników/agentów, którym chcesz przypisać konfigurację.

Konfiguracje OpenFrame instancji programistycznej ServiceNow – wybór nowej grupy użytkowników rekordu.

6

Kliknij przycisk Wyślij. Adres URL jest wyświetlany jako link.

Konfiguracje OpenFrame instancji programistycznej ServiceNow – dodano nowy rekord z adresem URL.

7

Z Nawigator filtrów pole, przejdź do Obszar roboczy operacji serwisowych.

Strona ServiceNow Home z Webex Contact Center Agent Desktop zintegrowana z ServiceNow.

8

(Opcjonalnie) W Grupa użytkowników lista, przenieś grupy użytkowników, które mogą uzyskać dostęp do pulpitu Webex Contact Center z Dostępny Do Wybrany.

9

Przed przystąpieniem do korzystania z telefonu OpenFrame należy przesłać plik JSON niestandardowego układu pulpitu ServiceNow do portalu zarządzania Webex Contact Center. Aby uzyskać więcej informacji, zobacz Konfigurowanie układu pulpitu ServiceNow na Webex Contact Center.

1

Pobierz układ pulpitu dla ServiceNow ze strony https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Ekran Github dla Webex Contact Center Integracje CRM – układy pulpitu – ServiceNow.

2

W razie potrzeby zaktualizuj właściwości w pliku układu pulpitu.

3

Przejdź do portalu zarządzania Webex Contact Center.

4

Na pasku nawigacyjnym Portalu zarządzania wybierz opcję Provisioning > Desktop Layout.

Strona udostępniania portalu zarządzania Webex Contact Center z wyróżnionym układem pulpitu w lewym pasku nawigacyjnym.

5

Kliknij Nowy układ i wprowadź szczegóły układu pulpitu.

6

Prześlij plik JSON układu pulpitu ServiceNow.

7

Kliknij Zapisz , aby zapisać konfigurację.

Teraz możesz uruchomić pulpit Webex Contact Center w konsoli ServiceNow.

8

Z pola Nawigator filtrów przejdź do Obszaru roboczego operacji serwisowych.

Strona ServiceNow Home z Webex Contact Center Agent Desktop zintegrowana z ServiceNow.

1

Z pola Nawigator filtrów przejdź do Incydenty > Otwórz incydent.

2

Kliknij prawym przyciskiem myszy pole dzwoniącego i kliknij Konfiguruj słownik.

Okno incydentów instancji programisty ServiceNow z zaznaczoną opcją Konfiguruj katalog.

3

Dodaj atrybuty rozdzielone przecinkami "ref_contributions=show_phone,.

Okno zgłoszenia incydentu wywołania instancji programisty ServiceNow dla wpisu w katalogu.

Teraz możesz zacząć używać pulpitu Webex Contact Center w konsoli ServiceNow.

4

Z pola Nawigator filtrów przejdź do Obszaru roboczego operacji serwisowych.

Strona ServiceNow Home z Webex Contact Center Agent Desktop zintegrowana z ServiceNow.

Logowanie do Agent Desktop za pomocą WebRTC obsługujemy wyłącznie w przypadku łączników Salesforce (SFDC) i Microsoft Dynamics (MS Dynamics).

Agent Desktop w konsoli ServiceNow

Przed wykonaniem połączenia wychodzącego upewnij się, że wykonałeś następujące czynności:

  • Utwórz punkt wejścia wychodzącego i skonfiguruj strategię punktu wejścia wychodzącego.

  • Włącz outdial ANI dla profilu agenta.

  • Ustaw outdial ANI na mapowanie numeru wybierania na punkt wejścia.

Aby uzyskać więcej informacji, zapoznaj się z rozdziałem Provisioning w Podręczniku konfiguracji i administracji Cisco Webex Contact Center.

Z pola Nawigator filtrów przejdź do Obszaru roboczego operacji serwisowych.

Strona ServiceNow Home z Webex Contact Center Agent Desktop zintegrowana z ServiceNow.

Informacje na temat korzystania z pulpitu można znaleźć w Agencie Tab w pomocy Webex Contact Center.

Omówienie

W tym artykule opisano kilka sposobów dostosowywania reguł biznesowych dla łącznika ServiceNow CRM. W dokumencie szczegółowo opisano, w jaki sposób można dostosowywać przypadki użycia na podstawie reguł biznesowych specyficznych dla ServiceNow.

Klient musi samodzielnie zarządzać tymi przypadkami użycia w ramach ServiceNow. Konfiguracja jest specyficzna dla ServiceNow i nie wymaga oprogramowania ani wiedzy specjalistycznej Webex Contact Center.

Jest to dokumentacja referencyjna mająca pomóc w modyfikowaniu reguł biznesowych. Deweloperzy ServiceNow będą tworzyć i zarządzać zasadami biznesowymi oraz zapewniać wsparcie.

Cisco udostępnia jedynie przykładową dokumentację.

W poniższych sekcjach opisano szczegółowo sposób konfigurowania, włączania i zarządzania widżetem Akcje dla wystąpień deweloperskich i korporacyjnych.

Zatwierdź zestaw aktualizacji dla widżetu Akcje

W przypadku licencjonowanych instancji korporacyjnych zainstaluj najnowszą wersję aplikacji Webex Contact Center ze sklepu ServiceNow.

Aby skonfigurować widżet Akcje dla wystąpień programistycznych, pobierz najnowszy plik zestawu aktualizacji systemu XML dostępny w repozytorium github w tej lokalizacji: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Nazwa pliku to webexcc-servicenow-update-setv7-1-ActionsWidget.XML. Aby zatwierdzić zestaw aktualizacji dla widżetu Akcje, zapoznaj się z krokami od 2 do 9 w sekcji Zatwierdzanie zestawu aktualizacji.

Włącz widżet Akcje

Użyj właściwości isWidgetDisplayEnabled , aby włączyć widżet Akcje. Nie wolno modyfikować wartości tej właściwości w sekcji headless niestandardowego układu pulpitu. Właściwość ta jest zawsze ustawiona na false w sekcji headless niestandardowego układu pulpitu. Wartość właściwości należy aktualizować wyłącznie w sekcji panelu niestandardowego układu pulpitu.

Po włączeniu widżetu Akcje w niestandardowym układzie pulpitu możesz wykonywać następujące czynności:

  • Zarządzaj rekordami aktywności — kliknij Wyświetl/edytuj rekord aktywności , aby wyświetlić listę rekordów aktywności powiązanych z osobą dzwoniącą.
  • Kojarzenie obiektów CRM — kliknij Kojarzenie z rekordami aktywności , aby dodać obiekty CRM, takie jak typ połączenia (przychodzące lub wychodzące), obiekt połączenia, notatki dotyczące połączenia itd. do rekordu aktywności.
  • Zarządzaj incydentami — kliknij Utwórz incydent. Tworzony jest nowy incydent z wstępnie wypełnionymi danymi osoby dzwoniącej. Możesz wprowadzić wymagane aktualizacje do incydentu. Możesz zmienić typ rekordu z incydentu na sprawę, moduł HR itd., zależnie od swoich potrzeb. Aby zmienić typ rekordu, zmodyfikuj wartość typRekordu właściwość w konfiguracji widżetu Akcje. Na przykład:
    { "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" : "Utwórz incydent" }, "wrapper": { "title": "Akcje SNOW!", "maximizeAreaName": "app-maximize-area" } } ] }
  • Dodawaj notatki do trwających rozmów — możesz zapisać dodatkowe informacje o rozmowie w polu tekstowym i podsumować rozmowę. Notatki te można zobaczyć jako notatki dodane do rejestru aktywności.

Zmiana kodu w ServiceNow

Skrypt zawiera zmiany
  1. Przejdź do nawigatora filtrów i wyszukaj Skrypt zawiera.

    Wybierz opcję Skrypt zawiera w interfejsie użytkownika systemu.

  2. Filtruj Nazwę i wyszukaj propUtils.

  3. Zmień metodę UżytkownikGetSysId w Skrypcie.

    Aktualne:

    UserGetSysId: function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('pole'),this.getParameter('wartość')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interakcja'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); return sysid; },

    Nowy przykładowy kod dla incydentu:

    UserGetSysId: function () { var opened_for; //Zmiany związane z incydentem 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;//zwróć 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='telefon'; inc.short_description='Otrzymano połączenie z '+ this.getParameter('wartość'); sysidlist.incsysid=inc.Insert(); } } var grInt = new GlideRecordSecure('interakcja'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist); },

Zmiana metody na stronach interfejsu użytkownika
  1. Przejdź do nawigatora filtrów i wyszukaj stronę interfejsu użytkownika.

    Wybierz Strony interfejsu użytkownika w Interfejsie użytkownika systemu.

  2. Filtruj Nazwę i wyszukaj agentdesktop.

  3. Zmień ekranizacja Funkcja w Skrypcie klienta.

    Obecna funkcja:

    // funkcja wyskakującego ekranu 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 });

    Przykładowy kod dla incydentu:

    // funkcja wyskakującego ekranu 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(); // W przypadku zmiany związanej z incydentem var sysObj = JSON.parse(gaout.getAnswer()); jeśli(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ jednostka: 'incydent', zapytanie: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }inaczej{ openFrameAPI.openServiceNowForm({ jednostka: 'incydent', zapytanie: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }

Jeśli informacje o dzwoniącym znajdują się w systemie CRM i istnieje już otwarty nowy incydent z tym kontaktem, aplikacja otwiera incydent w toku

Jeżeli w systemie CRM nie ma informacji o dzwoniącym, aplikacja otwiera nowe zdarzenie

Jeżeli informacje o dzwoniącym znajdują się w systemie CRM, aplikacja otwiera nowy incydent z wstępnie wypełnionymi szczegółami

Omówienie

W tym przypadku użycia szczegółowo opisano proces dodawania dodatkowej kolumny do tabeli ServiceNow - webexcc_imp_activity i tworzenia sn_openframe_phone_log po zainstalowaniu łącznika Webex CC dla ServiceNow CRM.

Domyślnie tabela zawiera pewne gotowe pola i wartości systemowe.

Możesz utworzyć więcej zmiennych specyficznych dla firmy (zmienne CAD) w projektancie WebexCC Flow i dodać zmienne CAD w dzienniku aktywności wywołań POST usługi ServiceNow, a także zapisać je w danych tabeli aktywności wywołań POST.

Jest to jedynie dokumentacja referencyjna, która pokazuje, jak to zrobić dla przykładowej zmiennej CAD o nazwie Nazwa klienta, która przechowuje nazwę klienta wewnątrz IVR i przesyła tę nazwę do ServiceNow.

Oczekuje się, że programiści partnera+klienta ServiceNow skonfigurują i będą zarządzać tą konfiguracją, ponieważ stanowi ona dostosowanie do istniejącego łącznika.

Cisco przedstawia wyłącznie techniki dostosowywania i rozszerzania łącznika.

W momencie publikacji tego artykułu zespół Cisco zweryfikował możliwość dodania zmiennej CAD do dziennika aktywności i tabeli aktywności za pomocą techniki opisanej poniżej:

Dodaj kolumnę do aktywności WebexCC IMP

  1. Edytuj tabelę w wersji deweloperskiej ServiceNow.

    Tabela aktywności WebexCC IMP w instancji programisty ServiceNow.

  2. Przejdź do nawigatora filtrów i wyszukaj studio.

    Nawigator filtra instancji programisty ServiceNow w sekcji Wszystkie Tab z wpisanym w filtrze słowem „studio”.

    Wybierz Webex Contact Center

    Aplikacja Studio dla ServiceNow z otwartym oknem Wybierz aplikację.

    lub

    Aplikacja Studio dla ServiceNow z otwartym oknem Wybierz aplikację i zaznaczoną opcją „Wybierz aplikację ze sklepu do dostosowania”.

    Aplikacja Studio dla ServiceNow z otwartym oknem „Wybierz aplikację ze sklepu do dostosowania” i wybraną opcją „Webex Contact Center”.

    Aplikacja Studio dla ServiceNow ze szczegółami pliku aplikacji Webex Contact Center.

  3. Wybierz Aktywność WebexCC IMP tabela

    Aplikacja Studio dla tabeli aktywności ServiceNow WebexCC IMP.

  4. Dodaj nową kolumnę, na przykład, NazwaKlienta

    Przykład nowej kolumny w aplikacji Studio dla tabeli aktywności WebexCC IMP ServiceNow.

    Przykład nowej kolumny w aplikacji Studio dla tabeli aktywności WebexCC IMP ServiceNow z dodaną nową kolumną.

Dodaj kolumnę do dziennika telefonicznego

  1. Edytuj tabelę rejestru połączeń telefonicznych.

    Przeszukiwanie instancji programisty ServiceNow w celu znalezienia tabeli dziennika połączeń telefonicznych.

    Tabela dziennika telefonicznego instancji programisty ServiceNow.

  2. Dodaj nową kolumnę, na przykład, NazwaKlienta.

    Przykłady nowych kolumn w tabeli dziennika telefonicznego instancji ServiceNow dla programistów.

    Przykład nowej kolumny w tabeli dziennika telefonicznego instancji programisty ServiceNow z dodaną nową kolumną.

Mapa transformacji aktywności WebexCC

Aplikacja Studio dla mapy transformacji aktywności ServiceNow WebexCC.

Dodaj nową kolumnę, na przykład, NazwaKlienta Mapowanie terenowe.

Przykład nowej kolumny w aplikacji Studio dla mapowania pola CustomerName w usłudze ServiceNow WebexCC Activity Transform Map.

Przykład nowej kolumny w aplikacji Studio dla mapy aktywności ServiceNow WebexCC z wybraną opcją CustomeName w polu Cel.

Personalizuj kolumny listy

Aplikacja Studio dla mapy transformacji aktywności ServiceNow WebexCC z oknem pop-up do spersonalizowanych kolumn listy. Opcja akcji wyboru jest podświetlona w kolumnie Wybrane.

Zgodnie z zaleceniami Service Now należy zmienić akcję wyboru z „utwórz” na „ignoruj”.

Aplikacja Studio dla mapy transformacji aktywności ServiceNow WebexCC z kolumną Wybór akcji, wyświetlającą listę rozwijaną umożliwiającą wybranie opcji „Ignoruj” lub „Utwórz”.

Aplikacja Studio dla mapy transformacji aktywności ServiceNow WebexCC z kolumną „Akcja wyboru” i wyróżnioną opcją „Ignoruj” dla pola źródła nazwy klienta.

Konfiguruj listę dzienników telefonicznych

Aplikacja Studio dla ServiceNow konfigurująca listę dziennika połączeń z podświetloną nazwą klienta w kolumnie Wybrane.

Przejdź do skryptu Dołącz

Dodaj tylko jedną linię webexcc.u_customername=actInfo.NazwaKlienta Do propUtils.

W nawigatorze filtru instancji programisty ServiceNow wyszukaj „dołączono skrypt”.

Skrypt instancji programisty ServiceNow zawiera stronę.

Przykładowy skrypt

Zobacz linię: webexcc.u_customername=actInfo.CustomerName; z komentarzem pomocniczym.

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('interakcja'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); powrót 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; Ten wiersz jest dodawany, aby przechwycić go w dzienniku aktywności webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.Insert(); Działania w rejestrze incydentów; 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(); } } } powrót sys_id; }, wpisz: 'propUtils' });

Tworzenie zmiennej CAD w projektancie Flow

Webex Contact Center Projektant przepływu zmiennych CAD z wyskakującym okienkiem Dodaj zmienną przepływu dla CustomerName.

Dodawanie zmiennej CAD do układu pulpitu

Przykład.

"CadName1:SnowField1,CadName2:SnowField2" CadName1 to CustomerName SnowField1 jest również używany jako CustomerName, który jest częścią przykładowego scirpt pokazanego powyżej "actInfo.CustomerName".

Przykładowy kod źródłowy służący do dodawania zmiennej CAD do układu pulpitu.

Zrzuty ekranu demonstracyjne

Wyświetl nowo dodaną zmienną CAD w tabeli Aktywność WebexCC.

ServiceNow przykład nowo dodanej zmiennej CAD w tabeli Aktywność WebexCC, pokazującej "Customer Name" w wyskakującym okienku Cisco WebexCC.

ServiceNow przykład nowo dodanej zmiennej CAD w tabeli Aktywność WebexCC, pokazujący "CustomerName" w sekcji komentarzy w sekcji "Aktywność" i "Administrator systemu".

Przykład instancji programisty ServiceNow nowo dodanej zmiennej CAD w tabeli Aktywność WebexCC, pokazujący kolumnę "CustomerName".

Tworzenie zmiennej CAD dla programu Flow Designer

Pilność incydentu

Webex Contact Center Projektant przepływu Utwórz ekran Zmienna CAD pokazujący wyskakujące okienko Edytuj zmienną przepływu dla zmiennej przepływu pilności incydentu.

Wpływ incydentu

Webex Contact Center Projektant przepływu Utwórz ekran zmiennych CAD pokazujący wyskakujące okienko Edytuj zmienną przepływu dla zmiennej przepływu pilności incydentu.

Aktualizacja skryptu usługi Teraz

Aktualizacje skryptu obejmują:

  1. Przejdź do nawigatora filtrów i wyszukaj dołączenia skryptu

    Wybierz opcję Dołącza skrypt w obszarze Interfejs użytkownika systemu.

    ServiceNow developer instance filter navigator search for 'script includes'

  2. Przefiltruj nazwę za pomocą propUtils.

    ServiceNow developer instance Script Zawiera filtr nazw według 'propUtils'

  3. Zmień metodę UserGetSysId W polu Skrypt .

    ServiceNow developer instance Script Includes – strona szczegółów propUtils.

    Aktualny skrypt:

    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; },

    Nowy przykładowy kod zdarzenia:

    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='telefon'; inc.urgency=this.getParameter('IncUrgency'); inc.impact=this.getParameter('Impact'); inc.short_description='Połączenie odebrane z '+ this.getParameter('value'); sysidlist.incsysid=inc.Insert(); } } var grInt = new GlideRecordSecure('interakcja'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist);//sysid; },

Zmiana metody na stronach interfejsu użytkownika
  1. Przejdź do nawigatora filtrów i wyszukaj strony interfejsu użytkownika.

    Wybierz opcję Strony interfejsu użytkownika w obszarze Interfejs użytkownika systemu.

    Wyszukiwanie nawigatora instancji dewelopera ServiceNow dla "strony interfejsu użytkownika"

  2. Przefiltruj strony interfejsu użytkownika za pomocą nazwy i wyszukaj agentdesktop .

    ServiceNow developer instance UI page filter nazwy, aby wyszukać 'agentdesktop'

  3. Zmień Screenpop W polu skryptu.

    ServiceNow developer instance UI Page – strona szczegółów pulpitu agenta.

    Aktualna funkcja:

    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 }); }

    Przykładowy kod zdarzenia:

    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)); }

Jeśli informacje o dzwoniącym istnieją w programie CRM i nie ma nowego ani nietrwającego zdarzenia, aplikacja otworzy nowe zdarzenie

ServiceNow przykład incydentu.

ServiceNow przykład interakcji.

Zmień kod na ServiceNow

Dodaj nowe kolumny do Aktywność WebexCC IMP stół

Otwórz okno Aktywność WebexCC IMP stół

Instancja programisty ServiceNow WebexCC Activity TransformMap.

Strona szczegółów WebexCC Activity TransformMap instancji programisty ServiceNow.

Dodawanie nowej kolumny — InteractionsNumber

Instancja programisty ServiceNow WebexCC Activity TransformMap nowa kolumna, InteractionNumber.

ServiceNow developer instance WebexCC Activity TransformMap details page z dodaną nową kolumną 'interactionnumber'.

Dodawanie nowej kolumny — IncidentNumber

Strona szczegółów WebexCC Activity TransformMap instancji programisty ServiceNow pokazująca dodanie nowej kolumny "incidentnumber".

Kliknij Aktualizuj .

Strona szczegółów WebexCC Activity TransformMap instancji dewelopera ServiceNow pokazująca edycję maksymalnej długości kolumny IncidentNumber.

ServiceNow developer instance WebexCC Activity TransformMap details page z dodaną nową kolumną 'incidentnumber'.

Dodaj nowe kolumny do Dziennik telefonu stół

Otwórz okno Dziennik telefonu stół

Instancja programisty ServiceNow Tabela dziennika telefonu.

Dodawanie nowej kolumny — InteractionsNumber

ServiceNow developer instance Directory Entry — New Record page shows a new column for InteractionsNumber.

ServiceNow Developer instance Phone Log table z dodaną kolumną InteractionsNumber (Numer_interakcji).

Dodawanie nowej kolumny — IncidentNumber

ServiceNow developer instance Directory Entry — strona New Record zawierająca nową kolumnę dla IncidentNumber.

Wystąpienie programisty ServiceNow Tabela dziennika telefonu z dodaną kolumną IncidentNumber.

Mapa przekształcania aktywności WebexCC

Otwórz Przekształć mapę Z nawigatora filtrów

ServiceNow developer instance filter navigator search for 'transform map'

Instancja programisty ServiceNow Tabela przekształcania map pokazująca aktywność WebexCC TransformMap w wynikach.

Kliknij na WebexCC Activity TransformMap

Instancja programisty ServiceNow WebexCC Activity TransformMap.

Dodaj nowy — dla mapy numerów interakcji

Instancja programisty ServiceNow WebexCC Activity TransformMap z 'InteractionNumber' wprowadzonym w 'Target field'

Instancja programisty ServiceNow WebexCC Activity TransformMap z dodanym 'InteractionNumber'.

Dodaj nowy — dla mapy numerów zdarzeń

Instancja programisty ServiceNow WebexCC Activity TransformMap z 'IncidentNumber' wprowadzonym w 'Target field'

Kliknij przycisk Aktualizuj.

Instancja programisty ServiceNow WebexCC Activity TransformMap z dodanym 'IncidentNumber'.

Zmiany w skrypcie obejmują:

  1. Przejdź do nawigatora filtrów i wyszukaj "skrypt zawiera".

    Wybierz dołączone skrypty w obszarze Interfejs użytkownika systemu.

    Nawigator filtru instancji programisty ServiceNow z wyszukiwaniem "skrypt zawiera"

  2. Filtruj nazwę za pomocą propUtils.

    Instancja programisty ServiceNow Script Includes z filtrem Nazwa zastosowanym do wyszukiwania i 'propUtils' wpisanym w polu wyszukiwania.

  3. Zmień metodę setWebexcctable.

    ServiceNow developer instance Script includes - strona propUtils

    Nowy przykładowy kod dla zdarzenia:

    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']; usuń 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(); } powrót sys_id; },

Zmiany metod na stronach interfejsu użytkownika

  1. Przejdź do nawigatora filtrów i wyszukaj Strony interfejsu użytkownika

    Wybierz opcję Strony interfejsu użytkownika w obszarze Interfejs użytkownika systemu.

    Nawigator filtru instancji dewelopera ServiceNow z wyszukiwaniem "Strona interfejsu użytkownika"

  2. Przefiltruj strony interfejsu użytkownika za pomocą nazwy i wyszukaj agentdesktop .

    Strony interfejsu użytkownika instancji dewelopera ServiceNow z filtrem Nazwa zastosowanym do wyszukiwania.

  3. Zmień nowDziałania i screenpop W skrypcie.

    Strona interfejsu użytkownika instancji programisty ServiceNow – agentdesktop.

    Aktualna funkcja:

    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); }

    Przykładowy kod zdarzenia:

    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)); } 

Wyniki po aktualizacji

Strona dzienników telefonu instancji dewelopera ServiceNow.

Poniższe dostosowania dotyczą wersji 1.0.5 i starszych. Aby uzyskać informacje na temat dostosowań dla nowszych wersji 1.0.7 i nowszych, wykonaj powyższe kroki.

Dostosowywanie # 1 - Dodawanie niestandardowych reguł biznesowych dla przypadków użycia przepływu połączeń

Tworzenie nowego rekordu zdarzenia dla każdego połączenia

Dla każdego nowego połączenia do łącznika WebexCC CRM w ServiceNow utwórz nowy rekord zdarzenia.

  1. Wyszukiwanie reguł biznesowych w nawigatorze filtrów

    ServiceNow developer instance Business Rules page header.
  2. Kliknij przycisk Nowy.

    ServiceNow developer instance Business Rule – New Record.

    Przykładowy kod w celach informacyjnych:

    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", imię i nazwisko); } 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; zwrotny adres 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; }

    Przykładowa konfiguracja reguły biznesowej

    ServiceNow developer instance Business Rule – CTI Processing For Incident page as a sample configuration of the business rule.
  3. Włącz wywoływanie klienta

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

    Przetwarzanie CTI Computer Telephony Integration (Computer Telephony Integration) dla zdarzenia jest oznaczone jako Prawda.

    ServiceNow developer instance Business Rules page showing the Client callable column with options to select ‘true’ or ‘false’
  4. Zaktualizuj adres URL screenpop za pomocą niestandardowej reguły CTI"cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="

    System Property page for screenpop_url showing update to the custom CTI rule in the ‘Value’ field.
Przykład.

sysparm_cti_rule =nazwa , gdzie 'name' jest nazwą funkcji , ma być wywoływana dla CTI przetwarzania , a nie przy użyciu domyślnego skryptu.

Zdefiniuj funkcję w sys_script wpisie oznaczonym jako wywoływany przezklienta.

Jeśli musisz Insert, zaktualizować lub usunąć jakiekolwiek GlideRecords w funkcji, wywołaj oddzielną niekliencką funkcję wywoływania, aby wykonać aktualizacje.

Aby umożliwić wywoływanie skryptu przez klienta, należy zaznaczyć pole wyboru client-callable w formularzu wyświetlanym po wyświetleniu wpisu sys_script.

Pole wyboru klient-callable nie jest domyślnie wyświetlane. Aby wyświetlić, należy zmodyfikować pola wyświetlane w formularzu za pomocą ikony koła zębatego i mechanizmu wiadra błota pośniegowego.

Odwołania

Dostosowywanie # 2 - Dodaj zmienną CAD w tabeli aktywności Webex Contact Center

Omówienie

Ten artykuł zawiera szczegółowe informacje na temat procesu dodawania dodatkowej kolumny do tabeli ServiceNow — webexcc_activity tworzonej podczas instalacji łącznika programu CRM Webex CC for ServiceNow.

Domyślnie tabela zawiera gotowe pola systemowe i wartości.

Potencjalnie można utworzyć więcej zmiennych biznesowych (zmiennych CAD) wewnątrz projektanta WebexCC Flow i dodać te zmienne CAD w dzienniku aktywności połączeń ServiceNowPOST i zachować to do danych tabeli aktywności połączeń POST.

  • Jest to tylko dokumentacja referencyjna - i pokazuje, jak to zrobić dla przykładowej zmiennej CAD o nazwie Nazwa klienta, która przechowuje nazwę klienta wewnątrz IVR i publikuje to w ServiceNow.

  • Programiści partner + klient ServiceNow skonfigurują tę konfigurację i będą nią zarządzać, ponieważ jest to dostosowanie do istniejącego łącznika.

  • Cisco dostarczy tylko techniki dostosowywania i rozszerzania złącza.

  • W tym artykule zespół Cisco potwierdził obsługę dodawania zmiennej CAD do dziennika aktywności i tabeli aktywności przy użyciu techniki opisanej poniżej.

Dodawanie kolumny do aktywności WebexCC
  1. Edytuj tabelę w wersji deweloperskiej ServiceNow.

    ServiceNow developer instance Table – WebexCC Activity page.
  2. Przejdź do strony Studio > Webex Contact Center.

    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. Wybierz tabelę aktywności WebexCC.

    App Engine Studio WebexCC Activity table.
  4. Na przykład CustomerName.

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

    App Engine Studio WebexCC Activity table screen.

  5. Wybierz Układ listy dla aktywności WebexCC.

    App Engine Studio WebexCC Activity table list layout showing ‘CustomerName’ highlighted in the ‘Selected’ column.
Tworzenie nowego skryptu zawiera

Ten krok nie jest wymagany, jeśli używasz zestawu aktualizacji XML — tylko jeden wiersz jest wymagany do dodania "webexcc.u_customername=actInfo.CustomerName" do propUtils.

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.

Przykładowy skrypt

Zobacz wiersz z:webexcc.u_customername=actInfo.CustomerName; z komentarzem wspierającym.

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; // Ten wiersz jest dodawany - aby przechwycić go w dzienniku aktywności webexcc. u_customername=actInfo.CustomerName; sys_id=webexcc.Insert(); Działania w rejestrze incydentów; 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(); } } } powrót sys_id; }, wpisz: 'propUtils2' });
Edytowanie strony interfejsu użytkownika przy użyciu nowej nazwy skryptuApp Engine Studio agentdesktop UI page with new script name.

Tworzenie zmiennej CAD w projektancie FlowWebex Contact Center flow designer with Add Flow Variable popup showing adding a CustomerName variable.

Dodawanie zmiennej CAD do układu pulpituWebex Contact Center CAD variable to the desktop layout script with ‘CustomerName:CustomerName’ highlighted.

Zrzuty ekranu demonstracyjne

Wyświetl nowo dodaną zmienną CAD w tabeli Aktywność WebexCC.

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

ServiceNow developer instance WebexCC Activities screen.