Voraussetzungen

Bevor Sie Webex Contact Center in die ServiceNow CRM-Konsole integrieren, stellen Sie sicher, dass Sie über Folgendes verfügen:


 

Befolgen Sie eine der beiden folgenden Methoden:

Für Entwicklerinstanzen empfehlen wir, die Schritte im Leitfaden für Entwicklerinstanzen zu befolgen.

Wenn Sie eine Enterprise-lizenzierte Instance besitzen, befolgen Sie die Richtlinien für Enterprise-lizenzierte Instances.

Es wird nicht empfohlen, die Enterprise-lizenzierte App mit Entwickler-Sandbox-Instanzen zu kombinieren.

In den folgenden Abschnitten werden die Schritte zum Installieren des ServiceNow-Connectors für Entwicklerinstanzen beschrieben.

1

Melden Sie sich bei Ihrem ServiceNow-Entwicklerportalkonto an und öffnen Sie die Administrationskonsole .

2

Klicken Sie im Bereich "Meine Instanz " des Menüs " Konto " auf "Start Building".

3

Navigieren Sie auf Ihrer Entwicklerinstanz im Feld Filternavigator oben links im Fenster zu Plugins.

4

Suchen Sie nach dem Openframe-Plugin mit dem Titel Openframe. Möglicherweise müssen Sie durch die Liste blättern.

5

Klicken Sie auf Installieren , um das Openframe-Plugin zu installieren.

6

Klicken Sie im Dialogfeld "Plugin aktivieren" auf "Aktivieren".

7

Wenn die Plugin-Aktivierung abgeschlossen ist, klicken Sie im Dialogfeld Plugin-Aktivierung auf Formular schließen und neu laden .

8

Um die Aktivierung des Plug-ins zu überprüfen, navigieren Sie im Feld Filter-Navigator oben links im Fenster zu OpenFrame.

9

Klicken Sie auf Konfigurationen und stellen Sie sicher, dass das OpenFrame-Plugin in der Liste OpenFrame-Konfigurationen angezeigt wird.

1

Laden Sie die neueste Systemupdate-Set-XML-Datei herunter, die im Github-Repository an diesem Speicherort verfügbar ist: https://github.com/CiscoDevNet/webex-contact-Center-crm-Integrations/tree/main/ServiceNow.

Dateiname: webexcc-servicenow-Update-SetV(X).xml

2

Navigieren Sie auf Ihrer ServiceNow-Instanz im Feld Filternavigator oben links im Fenster zu Systemupdate-Sets >Update-Sets, für die ein Commit ausgeführt werden soll.

3

Klicken Sie auf den Link Update-Set importieren von XML .

4

Klicken Sie auf Datei auswählen, wählen Sie die Datei XML Systemupdateset aus, und klicken Sie dann auf Hochladen.

Der Updatesatz wird in der Liste der abgerufenen Updatesätze angezeigt und befindet sich im Status "Geladen ".
5

Klicken Sie in der Liste der abgerufenen Update-Sets auf den Dateinamen des Update-Sets (Link), um das Update-Set zu öffnen.

6

Klicken Sie oben rechts im Fenster auf Vorschau des Update-Sets , um das Update-Set auf Probleme zu überprüfen.

7

Klicken Sie im Dialogfeld "Update-Set-Vorschau" auf "Schließen ", sobald die Vorschau abgeschlossen ist.

8

Klicken Sie auf Update-Set übernehmen.

9

Klicken Sie im Dialogfeld "Updatesatz-Commit" auf "Schließen ", sobald die Festschreibung des Update-Sets abgeschlossen ist.

1

Geben Sie im Feld Filter-Navigator oben links im Fenster sys_properties.list ein , und drücken Sie die Eingabetaste.

2

Sortieren Sie die Eigenschaften auf der Seite Systemeigenschaften nach Aktualisierungsdatum. Stellen Sie sicher, dass die folgenden Webex Contact Center-Eigenschaften angezeigt werden:

3

Klicken Sie auf agentdesktop_url , um die Seite Systemeigenschaften-agentdesktop_url zu öffnen.

4

Geben Sie im Feld Wert die URL für den Webex Contact Center Desktop entsprechend der Region ein, in der er ausgeführt wird.

5

Klicken Sie auf Aktualisieren , um die Änderungen zu speichern.

6

(Optional) Um den Namen der Activity-Tabelle zu ändern, bearbeiten Sie die Eigenschaften der webexccactivitytable nach Bedarf.

Klicken Sie auf der Seite Systemeigenschaften auf webexccactivitytable.

Ändern Sie das Feld Wert nach Bedarf.

7

(Optional) Sie können Benutzergruppen auf folgende Weise hinzufügen:

  1. Navigieren Sie im Feld Filter-Navigator oben links im Fenster zu Gruppen unter "Systemsicherheit".

  2. Erstellen Sie eine neue Benutzergruppe, oder verwenden Sie eine vorhandene.

  3. Klicken Sie auf Bearbeiten.

  4. Suchen Sie unter Sammlung nach sn_openframe_user und verschieben Sie sie in Ihre Benutzergruppe.

  5. Klicken Sie auf Speichern.

  6. Fügen Sie den Benutzer als Gruppenmitglied hinzu.

1

Navigieren Sie im Feld Filter-Navigator zu OpenFrame > Configurations.

2

Klicken Sie auf Neu.

3

Geben Sie die folgenden Eigenschaften für die URL ein:

  • Name: Webex Contact Center-Desktop

  • Titel: Webex Contact Center

  • Breite: 550 (empfohlen)

  • Größe: 600 (empfohlen)

4

Klicken Sie rechts neben dem URL-Feld auf die Schaltfläche "Sperren " und fügen Sie agentdesktop.do als URL hinzu . (Führen Sie diesen Schritt aus, um die Konfiguration auf die UI-Seite zu verweisen)

5

(Optional) Wählen Sie die Benutzer-/Agentengruppen aus, denen die Konfiguration zugewiesen werden soll.

6

Klicken Sie auf Senden. Die URL wird als Link angezeigt.

7

Bevor Sie versuchen, das OpenFrame-Telefon zu verwenden, stellen Sie sicher, dass Sie die JSON-Datei mit dem benutzerdefinierten Desktop-Layout von ServiceNow in das Webex Contact Center-Managementportal hochladen. Weitere Informationen finden Sie unter Einrichten des ServiceNow-Desktoplayouts in Webex Contact Center.

1

Laden Sie das Desktop-Layout für ServiceNow von https://github.com/CiscoDevNet/webex-contact-Center-crm-Integrations/tree/main/ServiceNow herunter.

2

Aktualisieren Sie bei Bedarf die Eigenschaften in der Desktoplayoutdatei.

3

Navigieren Sie zum Webex Contact Center-Managementportal.

4

Wählen Sie in der Navigationsleiste des Managementportals die Option Provisioning > Desktop-Layout aus.

5

Klicken Sie auf Neues Layout, und geben Sie die Details für das Desktop-Layout ein.

6

Laden Sie die JSON-Datei ServiceNow Desktop Layout hoch.

7

Klicken Sie auf Speichern , um die Konfiguration zu speichern.

Sie können jetzt den Webex Contact Center Desktop in der ServiceNow-Konsole starten.

8

Navigieren Sie im Feld Filternavigator zu Agentenarbeitsbereich >Startseite des Agentenarbeitsbereichs.

Klicken Sie auf das linke untere Telefonsymbol.

In den folgenden Abschnitten werden die Schritte zum Installieren des ServiceNow Connectors für lizenzierte Unternehmensinstanzen beschrieben.

1

Melden Sie sich bei Ihrem ServiceNow-Entwicklerportalkonto an und öffnen Sie die Administrationskonsole .

2

Klicken Sie im Bereich "Meine Instanz " des Menüs " Konto " auf "Start Building".

3

Navigieren Sie auf Ihrer Entwicklerinstanz im Feld Filternavigator oben links im Fenster zu Plugins.

4

Suchen Sie nach dem Openframe-Plugin mit dem Titel Openframe. Möglicherweise müssen Sie durch die Liste blättern.

5

Klicken Sie auf Installieren , um das Openframe-Plugin zu installieren.

6

Klicken Sie im Dialogfeld "Plugin aktivieren" auf "Aktivieren".

7

Wenn die Plugin-Aktivierung abgeschlossen ist, klicken Sie im Dialogfeld Plugin-Aktivierung auf Formular schließen und neu laden .

8

Um die Aktivierung des Plug-ins zu überprüfen, navigieren Sie im Feld Filter-Navigator oben links im Fenster zu OpenFrame.

9

Klicken Sie auf Konfigurationen und stellen Sie sicher, dass das OpenFrame-Plugin in der Liste OpenFrame-Konfigurationen angezeigt wird.

1

Geben Sie im Feld Filter-Navigator oben links im Fenster sys_properties.list ein.

2

Sortieren Sie die Eigenschaften auf der Seite Systemeigenschaften nach Aktualisierungsdatum. Stellen Sie sicher, dass die folgenden Webex Contact Center-Eigenschaften angezeigt werden:

3

Klicken Sie auf agentdesktop_url , um die Seite Systemeigenschaften-agentdesktop_url zu öffnen.

4

Geben Sie im Feld Wert die URL für den Webex Contact Center Desktop entsprechend der Region ein, in der er ausgeführt wird.

5

Klicken Sie auf Aktualisieren , um die Änderungen zu speichern.

6

(Optional) Um den Namen der Activity-Tabelle zu ändern, bearbeiten Sie die Eigenschaften der x_caci_webexcc.webexccactivitytable nach Bedarf.

  1. Klicken Sie auf der Seite Systemeigenschaften auf x_caci_webexcc.webexccactivitytable.

  2. Ändern Sie das Feld Wert nach Bedarf.

7

(Optional) Sie können Benutzergruppen auf folgende Weise hinzufügen:

  1. Navigieren Sie im Feld Filter-Navigator oben links im Fenster zu Gruppen unter "Systemsicherheit".

  2. Klicken Sie auf Bearbeiten und fügen Sie die folgenden Rollen hinzu:

    • sn_openframe_user

    • x_caci_webexcc.agent

    • agent_workspace_user

    • x_caci_webexcc.webexcc_imp_activity_user

    • x_caci_webexcc.webex_contact_Center

1

Navigieren Sie im Feld Filter-Navigator zu OpenFrame > Configurations.

2

Klicken Sie auf Neu.

3

Geben Sie die folgenden Eigenschaften für die URL ein:

  • Name: Webex Contact Center-Desktop

  • Titel: Webex Contact Center

  • Breite: 550 (empfohlen)

  • Größe: 600 (empfohlen)

4

Klicken Sie rechts neben dem URL-Feld auf die Schaltfläche "Sperren " und fügen Sie x_caci_webexcc_agentdesktop.do als URL hinzu . (Führen Sie diesen Schritt aus, um die Konfiguration auf die UI-Seite zu verweisen)

5

(Optional) Wählen Sie die Benutzer-/Agentengruppen aus, denen die Konfiguration zugewiesen werden soll.

6

Klicken Sie auf Senden. Die URL wird als Link angezeigt.

7

Navigieren Sie im Feld Filternavigator zu Agentenarbeitsbereich >Startseite des Agentenarbeitsbereichs.

Klicken Sie unten links auf das Telefonsymbol.

8

(Optional) Verschieben Sie in der Liste "Benutzergruppe " die Benutzergruppen, die auf den Webex Contact Center Desktop zugreifen können, von "Verfügbar " nach "Ausgewählt".

9

Bevor Sie versuchen, das OpenFrame-Telefon zu verwenden, stellen Sie sicher, dass Sie die JSON-Datei mit dem benutzerdefinierten Desktop-Layout von ServiceNow in das Webex Contact Center-Managementportal hochladen. Weitere Informationen finden Sie unter Einrichten des ServiceNow-Desktoplayouts in Webex Contact Center.

1

Laden Sie das Desktop-Layout für ServiceNow von https://github.com/CiscoDevNet/webex-contact-Center-crm-Integrations/tree/main/ServiceNow herunter.

2

Aktualisieren Sie bei Bedarf die Eigenschaften in der Desktoplayoutdatei.

3

Navigieren Sie zum Webex Contact Center-Managementportal.

4

Wählen Sie in der Navigationsleiste des Managementportals die Option Provisioning > Desktop-Layout aus.

5

Klicken Sie auf Neues Layout, und geben Sie die Details für das Desktop-Layout ein.

6

Laden Sie die JSON-Datei ServiceNow Desktop Layout hoch.

7

Klicken Sie auf Speichern , um die Konfiguration zu speichern.

Sie können jetzt den Webex Contact Center Desktop in der ServiceNow-Konsole starten.

8

Navigieren Sie im Feld Filternavigator zu Agentenarbeitsbereich >Startseite des Agentenarbeitsbereichs.

Klicken Sie auf das linke untere Telefonsymbol.

1

Navigieren Sie im Feld Filter-Navigator zu Incidents > Open Incident.

2

Klicken Sie mit der rechten Maustaste auf das Feld "Anrufer", und klicken Sie auf "Wörterbuch konfigurieren".

3

Fügen Sie durch Komma getrennte Attribute hinzu "ref_contributions=show_phone,.

Sie können jetzt den Webex Contact Center Desktop in der ServiceNow-Konsole verwenden.

4

Navigieren Sie im Feld Filternavigator zu Agentenarbeitsbereich >Startseite des Agentenarbeitsbereichs.

Klicken Sie unten links auf das Telefonsymbol.

Agent Desktop in der ServiceNow-Konsole

Bevor Sie ausgehende Anrufe tätigen, gehen Sie wie folgt vor:

  • Erstellen Sie den Outdial-Einstiegspunkt, und richten Sie eine Outdial-Einstiegspunktstrategie ein.

  • Aktivieren Sie die ausgehende ANI für das Agentenprofil.

  • Legen Sie für die ANI des ausgehenden Anrufs eine Zuordnung zwischen Wählnummer und Einstiegspunkt fest.

Weitere Informationen finden Sie im Kapitel "Bereitstellung" im Cisco Webex Contact Center Setup- und Administrationshandbuch.

Navigieren Sie im Feld Filternavigator zu Agentenarbeitsbereich >Startseite des Agentenarbeitsbereichs.

Klicken Sie unten links auf das Telefonsymbol.

Weitere Informationen zur Verwendung des Desktops finden Sie im Cisco Webex Contact Center Agent Desktop Benutzerhandbuch.

Speicherpartitionierung von Drittanbietern

Ein mögliches Problem mit dem jüngsten Update auf Google Chrome und Edge 116 oder höher kann Ihre Anmeldung bei CRM-Connectors in Webex Contact Center beeinträchtigen. Dieses Problem wirkt sich auf die Desktop-Anmeldung in der ServiceNow CRM-Konsole aus.

So beheben Sie dieses Problem im Google Chrome-Browser:

  1. Öffnen Sie den Google Chrome-Browser und geben Sie chrome://flags/#third-party-storage-partitioning in die Adressleiste ein .

  2. Deaktivieren Sie das Flag Experimentelle Speicherpartitionierung von Drittanbietern.

  3. Schließen Sie Chrome und starten Sie es neu.

  4. Melden Sie sich in der ServiceNow CRM-Konsole erneut am Desktop an.

So beheben Sie dieses Problem im Edge-Browser:

  1. Öffnen Sie den Browser und geben Sie Edge://flags/#third-party-storage-partitioning in die Adressleiste ein .

  2. Deaktivieren Sie das Flag Experimentelle Speicherpartitionierung von Drittanbietern.

  3. Speichern Sie die Änderungen und starten Sie den Browser neu.

  4. Melden Sie sich in der ServiceNow CRM-Konsole erneut am Desktop an.

So beheben Sie dieses Problem im Firefox-Browser:

  1. Öffnen Sie den Browser und geben Sie about:config in die Adressleiste ein .

    Möglicherweise wird eine Warnseite angezeigt. Klicken Sie auf Risiko akzeptieren und fortfahren , um zur Seite about:config zu gelangen.

  2. Geben Sie network.cookie.cookieBehavior in das Feld Name der Sucheinstellung oben auf der Seite about:config ein, um die Einstellung zu finden.

  3. Doppelklicken Sie auf die Voreinstellung oder klicken Sie auf das Symbol "Bearbeiten ", um die Voreinstellung zu bearbeiten.

  4. Ändern Sie den Wert in 0.

  5. Speichern Sie die Änderungen und starten Sie den Browser neu.

  6. Melden Sie sich in der ServiceNow CRM-Konsole erneut am Desktop an.

Übersicht

In diesem Artikel werden verschiedene Möglichkeiten beschrieben, wie Sie Ihre Geschäftsregeln für den ServiceNow CRM-Connector anpassen können. Es wird beschrieben, wie Sie die Anwendungsfälle basierend auf Geschäftsregeln anpassen können, die für ServiceNow spezifisch sind.

Der Kunde muss diese Anwendungsfälle auf ServiceNow selbst verwalten. Die Konfiguration ist ServiceNow-spezifisch und nicht Webex Contact Center-Software oder -Fachwissen.


 

Dies ist eine Referenzdokumentation zur Änderung von Geschäftsregeln. Die ServiceNow-Entwickler erstellen und verwalten die Geschäftsregeln und bieten Support.

Cisco stellt lediglich eine Beispieldokumentation zur Verfügung.

In den folgenden Abschnitten erfahren Sie, wie Sie das Aktions-Widget für Entwickler- und Enterprise-Instanzen einrichten, aktivieren und verwalten.

Bestätigen Sie den Update-Satz für das Widget "Aktionen"

Installieren Sie für die lizenzierten Unternehmensinstanzen das ServiceNow Connector Actions-Widget, Version 1.9, aus dem ServiceNow Store.

Um das Widget "Aktionen" für die Entwicklerinstanzen einzurichten, laden Sie die neueste XML-Datei "Systemupdatesatz" herunter, die im Github-Repository unter folgendem Speicherort verfügbar ist: https://github.com/CiscoDevNet/webex-contact-Center-crm-Integrations/tree/main/ServiceNow/ActionsWidget. Der Dateiname ist webexcc-servicenow-Update-Setv7-1-ActionsWidget.xml. Informationen zum Commit des Updatesatzes für das Widget "Aktionen" finden Sie in den Schritten 2 bis 9 unter Ausführen eines Commits für den Updatesatz.

Widget "Aktionen aktivieren"

Verwenden Sie die isWidgetDisplayEnabled-Eigenschaft , um das Actions-Widget zu aktivieren. Sie dürfen den Wert dieser Eigenschaft im Headless-Abschnitt des benutzerdefinierten Desktoplayouts nicht ändern. Die Eigenschaft wird im Headless-Abschnitt des benutzerdefinierten Desktoplayouts immer auf false festgelegt. Sie sollten den Wert der Eigenschaft nur im Panel-Abschnitt des benutzerdefinierten Desktop-Layouts aktualisieren.

Nachdem Sie das Widget "Aktionen" im benutzerdefinierten Desktop-Layout aktiviert haben, können Sie die folgenden Aktionen ausführen:

  • Aktivitätsdatensätze verwalten: Klicken Sie auf " Aktivitätsdatensatz anzeigen/bearbeiten", um die Liste der Aktivitätsdatensätze anzuzeigen, die mit dem Anrufer verknüpft sind.
  • CRM-Objekte zuordnen – Klicken Sie auf " Mit Aktivitätsdatensätzen verknüpfen", um CRM-Objekte wie Anrufart (eingehend oder ausgehend), Anrufobjekt, Anrufnotizen usw. zum Aktivitätsdatensatz hinzuzufügen.
  • Incidents verwalten: Klicken Sie auf Incident erstellen. Wenn die Anruferdetails bereits ausgefüllt sind, wird ein neuer Incident erstellt. Sie können die erforderlichen Aktualisierungen am Vorfall vornehmen. Sie können den Datensatztyp basierend auf Ihren Anforderungen von Fall zu Fall, HR-Modul usw. Ändern. Um den Datensatztyp zu ändern, ändern Sie den Wert der typeOfRecord-Eigenschaft in der Konfiguration des Actions-Widgets. Zum Beispiel:
    { "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" : "Incident erstellen" }, "wrapper": { "title": "SNOW-Aktionen !", "maximizeAreaName": "App-maximize-area" } } ] }
  • Live-Anrufnotizen hinzufügen: Sie können zusätzliche Informationen zum Anruf im Textbereich erfassen und den Anruf nachfassen. Diese Notizen werden als Anrufnotizen im Aktivitätsdatensatz hinzugefügt.

Codeänderung in ServiceNow

Das Skript enthält Änderungen
  1. Gehen Sie zum Filter-Navigator und suchen Sie nach Das Skript enthält.

    Wählen Sie unter "Systembenutzeroberfläche" die Option "Skripteinschlüsse " aus.

  2. Filtern Sie den Namen und suchen Sie nach propUtils.

  3. Ändern der Methode BenutzerGetSysId im Skript.

    Aktuell:

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

    Neuer Beispielcode für den Vorfall:

    UserGetSysId: function () { var opened_for; //Incident-bezogene Änderungen 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='Anruf erhalten von '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); 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); },

Methodenänderung auf UI-Seiten
  1. Wechseln Sie zum Filter-Navigator, und suchen Sie nach der UI-Seite.

    Wählen Sie UI-Seiten unter System-UI aus.

  2. Filtern Sie den Namen und suchen Sie nach Agentendesktop.

  3. Ändern Sie die Screenshot Funktion im Client-Skript.

    aktuelle Funktion:

    screenpop-Funktion 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: 'Interaktion', Abfrage: 'sys_id='+sysid });

    Beispielcode für den Vorfall:

    screenpop-Funktion 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(); // Für 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' }); } }

Wenn die Anruferinformationen in CRM vorhanden sind und bereits ein neuer Incident mit diesem Kontakt geöffnet wurde, öffnet die Anwendung den inprogress incident

Wenn die Anruferinformationen nicht in CRM vorhanden sind, öffnet die Anwendung einen neuen Incident

Wenn die Anruferinformationen in CRM vorhanden sind, öffnet die Anwendung einen neuen Incident mit vorausgefüllten Details

Übersicht

Dieser Anwendungsfall beschreibt den Prozess zum Hinzufügen einer zusätzlichen Spalte zur ServiceNow-Tabelle – webexcc_imp_activity und zum Erstellen von sn_openframe_phone_log bei der Installation des Webex CC für ServiceNow CRM Connector.

Standardmäßig enthält die Tabelle bestimmte vordefinierte Systemfelder und -werte.

Sie können weitere geschäftsspezifische Variablen (CAD-Variablen) im WebexCC-Flow-Designer erstellen und die CAD-Variablen im ServiceNow-Aktivitätsprotokoll nach dem Anruf hinzufügen sowie diese in den Daten der Aktivitätstabelle nach dem Anruf beibehalten.


 

Dies ist nur eine Referenzdokumentation – und zeigt, wie dies für eine Beispiel-CAD-Variable namens "Kundenname" geht, die den Kundennamen in der IVR speichert und an ServiceNow sendet.

Es wird erwartet, dass die Entwickler von Partner+Customer ServiceNow diese Konfiguration konfigurieren und verwalten, da es sich um eine Anpassung des vorhandenen Konnektors handelt.

Cisco stellt lediglich die Techniken zum Anpassen und Erweitern des Konnektors zur Verfügung.

Seit diesem Artikel hat das Cisco-Team die Unterstützung für das Hinzufügen von CAD-Variablen zum Aktivitätsprotokoll und zur Aktivitätstabelle mithilfe der unten beschriebenen Technik validiert:

Spalte zu WebexCC IMP-Aktivität hinzufügen

  1. Bearbeiten Sie die Tabelle in der Entwicklerversion von ServiceNow.

  2. Rufen Sie den Filternavigator auf und suchen Sie nach Studio.

    Auswahl Webex Contact Center

    oder

  3. Wählen Sie die Option WebexCC IMP-Aktivität Tabelle

  4. Fügen Sie eine neue Spalte hinzu, z. B. Customername

Spalte zum Telefonprotokoll hinzufügen

  1. Bearbeiten Sie die Telefonprotokolltabelle.

  2. Fügen Sie eine neue Spalte hinzu, z. B. Customername.

WebexCC-Aktivitätstransformationskarte

Fügen Sie eine neue Spalte hinzu, z. B. Customername Feldzuordnung.

Listenspalten personalisieren

Wie von Service Now empfohlen, ändern Sie die Auswahlaktion von "Erstellen" in "Ignorieren".

Telefonprotokollliste konfigurieren

Gehe zu Script Include


 

Fügen Sie nur eine Leitung hinzu webexcc.u_customername=actInfo.CustomerName Zu propUtils.

Beispielskript

Siehe die Zeile: webexcc.u_customername=actInfo.CustomerName; mit einem unterstützenden Kommentar.

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 // null zurückgeben; var grInt = new GlideRecord('Interaktion'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'Telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysid zurückgeben; }, 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; Diese Zeile wird hinzugefügt, um sie im Aktivitätsprotokoll zu erfassen webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Aktivitäten im Vorfallsdatensatz; 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(); } } } Kehren Sie sys_id zurück; }, Typ: 'propUtils' });

Erstellen einer CAD-Variablen im Flow Designer

Hinzufügen der CAD-Variablen zum Desktop-Layout

Beispiel

"CadName1:SnowField1,CadName2:SnowField2" CadName1 ist CustomerName SnowField1 wird auch als CustomerName verwendet, der Teil der obigen Beispielscirpt "actInfo.CustomerName" ist.

Demo-Screenshots

Zeigen Sie die neu hinzugefügte CAD-Variable in der WebexCC-Aktivitätstabelle an.

Erstellen einer CAD-Variablen für Flow Designer

Dringlichkeit des Vorfalls

Auswirkungen des Vorfalls

Skriptaktualisierung "Service Now"

Zu den Aktualisierungen des Skripts gehören:

  1. Rufen Sie den Filter-Navigator auf und suchen Sie nach Skript-Includes

    Wählen Sie unter "Systembenutzeroberfläche " die Option "Skripteinschlüsse" aus.

  2. Filtern Sie den Namen mit propUtils.

  3. Ändern der Methode BenutzerGetSysId im Feld Skript .

    aktuelles Skript:

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

    Neuer Beispielcode für den Vorfall:

    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='Anruf empfangen von '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); 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; },

Eine Methodenänderung auf UI-Seiten
  1. Wechseln Sie zum Filter-Navigator, und suchen Sie nach UI-Seiten.

    Wählen Sie unter "Systembenutzeroberfläche" die Option "UI-Seiten " aus.

  2. Filtern Sie die UI-Seiten nach Name , und suchen Sie nach agentdesktop.

  3. Ändern Sie die Screenshot Im Skriptfeld.

    aktuelle Funktion:

    screenpop-Funktion 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: 'Interaktion', Abfrage: 'sys_id='+sysid }); }

    Beispielcode für den Vorfall:

    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('Feld', 'Telefon'); gaout.addParam('Wert', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam('Auswirkung', Auswirkung); 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)); }

Wenn die Anruferinformationen in CRM vorhanden sind und kein neuer oder im Gange befindlicher Vorfall vorliegt, öffnet die Anwendung einen neuen Vorfall

Ändern Sie den Code auf ServiceNow

Fügen Sie neue Spalten zum WebexCC IMP-Aktivität Tabelle

Öffnen Sie die WebexCC IMP-Aktivität Tabelle

Neue Spalte hinzufügen – InteractionsNumber

Neue Spalte hinzufügen – IncidentNumber

Klicken Sie auf Aktualisieren.

Fügen Sie neue Spalten zum Telefonprotokoll Tabelle

Öffnen Sie die Telefonprotokoll Tabelle

Neue Spalte hinzufügen – InteractionsNumber

Neue Spalte hinzufügen – IncidentNumber

WebexCC-Aktivitätstransformationskarte

Offen Karte transformieren Über den Filter-Navigator

Klicken Sie auf WebexCC-Aktivität TransformMap

Neu hinzufügen – für Interaktionsnummernzuordnung

Neu hinzufügen – für Incident-Nummern-Zuordnung

Klicken Sie auf Aktualisieren.

Änderungen am Skript beinhalten

  1. Gehen Sie zum Filter-Navigator und suchen Sie nach "Skript-Includes".

    Wählen Sie unter "Systembenutzeroberfläche" die Option "Skripteinschlüsse " aus.

  2. Filtern Sie den Namen mit propUtils.

  3. Ändern der Methode setWebexcctable.

    Neuer Beispielcode für Incident:

    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()) { //Aktivitäten im Incident-Datensatz; //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='Status auf geschlossen aktualisieren.'; 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; },

Methodenänderungen auf UI-Seiten

  1. Gehen Sie zum Filter-Navigator und suchen Sie nach UI-Seiten

    Wählen Sie unter "Systembenutzeroberfläche" die Option "UI-Seiten " aus.

  2. Filtern Sie die UI-Seiten nach Name , und suchen Sie nach agentdesktop.

  3. Ändern Sie die nowAktivitäten und Screenpop -Funktion im Skript enthalten.

    aktuelle Funktion:

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

    Beispielcode für den Vorfall:

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

Ergebnisse nach dem Update


 

Die folgenden Anpassungen gelten für Version 1.0.5 und niedriger. Führen Sie für die Anpassungen für die neueren Versionen 1.0.7 und höher die obigen Schritte aus.

Anpassung 1 – Fügen Sie benutzerdefinierte Geschäftsregeln für Anwendungsfälle von Anrufabläufen hinzu

Erstellen Sie für jeden Anruf einen neuen Incident-Datensatz

Erstellen Sie für jeden neuen Anruf im WebexCC CRM Connector in ServiceNow einen neuen Incident-Datensatz.

  1. Suche nach Geschäftsregeln im Filter-Navigator

  2. Klicken Sie auf Neu.

    Beispielcode als Referenz:

    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; Rückgabe-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; }

    Beispielkonfiguration der Geschäftsregel

  3. Client aufrufbar aktivieren

    Computer Telephony Integration (CTI)-Verarbeitung für Incident ist als Wahr markiert.

  4. Aktualisieren Sie die Screenpop-URL mit der benutzerdefinierten CTI-Regel " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="

Beispiel

Der sysparm_cti_rule=Name , wobei 'name' der Name einer Funktion ist, für die aufgerufen werden soll CTI Verarbeitung statt Verwendung des Standardskripts.

Definieren Sie die Funktion in einem sys_script Eintrag, der als mandantenfähig gekennzeichnet ist .

Wenn Sie GlideRecords in der Funktion einfügen, aktualisieren oder löschen müssen, rufen Sie eine separate, nicht vom Client aufrufbare Funktion auf, um die Aktualisierungen durchzuführen.


 

Um ein Skript mandantenaufrufbar zu machen, müssen Sie das Kontrollkästchen "Vom Client aufrufbar" in dem Formular aktivieren, das angezeigt wird, wenn der sys_script Eintrag angezeigt wird.

Das Kontrollkästchen "Vom Client aufrufbar" wird standardmäßig nicht angezeigt. Zur Anzeige müssen Sie die Felder, die im Formular angezeigt werden, mithilfe des Zahnradsymbols und des Matsch-Eimer-Mechanismus ändern.

Verweise

Anpassung 2 – Hinzufügen einer CAD-Variablen in Webex Contact Center-Aktivitätstabelle

Übersicht

In diesem Artikel wird beschrieben, wie Sie der ServiceNow-Tabelle eine zusätzliche Spalte hinzufügen – webexcc_activity, die bei der Installation von Webex CC für ServiceNow CRM Connector erstellt wird.

Standardmäßig enthält die Tabelle vordefinierte Systemfelder und -werte.

Sie können potenziell weitere geschäftsspezifische Variablen (CAD-Variablen) im WebexCC Flow Designer erstellen und diese CAD-Variablen im ServiceNow-Aktivitätsprotokoll nach dem Anruf hinzufügen und diese in den Daten der Post-Call-Aktivitätstabelle beibehalten.


 
  • Dies ist nur eine Referenzdokumentation – und zeigt, wie dies für eine Beispiel-CAD-Variable namens Kundenname geht, die den Kundennamen in der IVR speichert und an ServiceNow sendet.

  • Die Entwickler von Partner+Customer ServiceNow konfigurieren und verwalten diese Konfiguration, da es sich um eine Anpassung des vorhandenen Konnektors handelt.

  • Cisco stellt lediglich die Techniken zum Anpassen und Erweitern des Konnektors zur Verfügung.

  • Zum Zeitpunkt dieses Artikels hat das Cisco-Team die Unterstützung für das Hinzufügen von CAD-Variablen zum Aktivitätsprotokoll und zur Aktivitätstabelle mit der unten beschriebenen Technik validiert.

Spalte zu WebexCC-Aktivität hinzufügen
  1. Bearbeiten Sie die Tabelle in der Entwicklerversion von ServiceNow.

  2. Wechseln Sie zum Studio > Webex Kontaktcenter.

  3. Wählen Sie die WebexCC-Aktivitätstabelle aus .

  4. Beispiel: CustomerName.

  5. Wählen Sie Listenlayout für WebexCC-Aktivität aus.

Neues Skript erstellen Enthält

 

Dieser Schritt ist nicht erforderlich, wenn Sie den Update-Set-XML verwenden – Es muss nur eine Zeile "webexcc.u_customername=actInfo.CustomerName" zu propUtils hinzugefügt werden.

Beispielskript

Siehe die Zeile mit:webexcc.u_customername=actInfo.CustomerName; mit einem unterstützenden Kommentar.

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; // Diese Zeile wird hinzugefügt, um sie im Aktivitätsprotokoll webexcc zu erfassen. u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Aktivitäten im Vorfallsdatensatz; 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(); } } } Kehren Sie sys_id zurück; }, Typ: 'propUtils2' });
Bearbeiten der UI-Seite mit einem neuen Skriptnamen

Erstellen einer CAD-Variablen im Flow Designer

Hinzufügen der CAD-Variablen zum Desktop-Layout

Demo-Screenshots

Zeigen Sie die neu hinzugefügte CAD-Variable in der WebexCC-Aktivitätstabelle an.