Voraussetzungen

Diese Funktion ist derzeit nur auf Agenten anwendbar.

Stellen Sie vor der Integration von Webex Contact Center in die ServiceNow-CRM-Konsole Folgendes sicher:

Führen Sie eine der beiden folgenden Methoden aus:

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

Wenn Sie eine Instanz mit Unternehmenslizenz besitzen, befolgen Sie die Richtlinien für Instanzen mit Unternehmenslizenz.

Wir empfehlen nicht, die vom Unternehmen lizenzierte App mit Entwickler-Sandbox-Instanzen zu mischen.

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 Administration -Konsole.

2

Klicken Sie im Bereich Meine Instanz des Konto-Menüs auf Gebäude beginnen.

3

Navigieren Sie in Ihrer Entwicklerinstanz im Feld Filter-Navigator 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-Plug-in zu installieren.

6

Klicken Sie in der Dialogfeld auf Aktivieren.

7

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

8

Um die Aktivierung des Plug-ins zu verifizieren, navigieren Sie im Filter Navigator-Feld 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 XML-Datei für das System-Update-Set herunter, die im Github-Repo 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 in Ihrer ServiceNow-Instanz im Feld Filter Navigator oben links im Fenster zu Systemaktualisierungssätze > Zum Einspielen aktualisierte Sätze.

3

Klicken Sie auf den Link Aktualisierung aus XML importieren .

4

Klicken Sie auf Datei auswählen, wählen Sie die XML-Datei für das Systemaktualisierungsset und klicken Sie dann auf Hochladen.

Der Aktualisierungssatz wird in der Liste Abgerufene Aktualisierungssätze im Status Geladen angezeigt.
5

Klicken Sie in der Liste Abgerufene Updatesätze auf den Dateinamen des Updatesatzes (Link), um das Updateset zu öffnen.

6

Klicken Sie oben rechts im Fenster auf Vorschau Aktualisierung eingestellt, um das Update auf Probleme zu überprüfen.

7

Klicken Sie im Dialogfeld „Vorschau festlegen aktualisieren“ auf Schließen , sobald die Vorschau abgeschlossen ist.

8

Klicken Sie auf Commit Update Set (Aktualisierungssatz).

9

Klicken Sie im Dialogfeld Einspielen des Aktualisierungssatzes auf Schließen , sobald das Einspielen des Aktualisierungssatzes abgeschlossen ist.

1

Geben Sie in das 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 dem aktualisierten Datum. Stellen Sie sicher, dass die folgenden Webex Contact Center-Eigenschaften angezeigt werden:

3

Klicken Sie agentdesktop_url hier, um die Seite Systemeigenschaft zu agentdesktop_url öffnen.

4

Geben Sie im Feld Wert die URL für den Webex Contact Center Desktop entsprechend der Einsatzregion ein.

5

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

6

(Optional) Um den Namen der Aktivitätstabelle zu ändern, bearbeiten Sie die webexccactivitytable Eigenschaften nach Bedarf.

Klicken Sie auf der Seite Systemeigenschaften auf webexccactivitytable.

Ändern Sie das Feld Wert nach Bedarf.

7

(Optional) Fügen Sie Benutzergruppen wie folgt hinzu:

  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 Benutzergruppe.

  3. Klicken Sie auf Bearbeiten.

  4. Suchen Sie unter sn_openframe_user Sammlung nach 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 Navigator filtern zu OpenFrame > Konfigurationen.

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)

  • Höhe: 600 (Empfohlen)

4

Klicken Sie rechts neben dem Feld URL 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 Seite der Benutzeroberfläche zu verweisen)

5

(Optional) Wählen Sie die Benutzer-/Agentengruppe(n) aus, um die Konfiguration zuzuweisen.

6

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

7

Bevor Sie versuchen, das OpenFrame-Telefon zu verwenden, stellen Sie sicher, dass Sie die JSON-Datei für das benutzerdefinierte Desktop-Layout von ServiceNow in das Webex Contact Center-Verwaltungsportal 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 Desktop-Layoutdatei.

3

Gehen Sie zum Webex Contact Center-Verwaltungsportal .

4

Wählen Sie in der Navigationsleiste des Management Portals Bereitstellung > 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 für das ServiceNow-Desktop-Layout hoch.

7

Klicken Sie auf Speichern, um die Konfiguration zu speichern.

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

8

Navigieren Sie im Feld Filter-Navigator zu Arbeitsbereich für Dienstvorgänge.

ServiceNow-Startseite mit in ServiceNow integriertem Webex Contact Center Agent Desktop.

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 Administration -Konsole.

2

Klicken Sie im Bereich Meine Instanz des Konto-Menüs auf Gebäude beginnen.

3

Navigieren Sie in Ihrer Entwicklerinstanz im Feld Filter-Navigator 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-Plug-in zu installieren.

6

Klicken Sie in der Dialogfeld auf Aktivieren.

7

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

8

Um die Aktivierung des Plug-ins zu verifizieren, navigieren Sie im Filter Navigator-Feld 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 Navigator filtern in der oberen linken Ecke des Fensters . sys_propertieslist ein.

2

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

3

Klicken Sie agentdesktop_url hier, um die Seite Systemeigenschaft zu agentdesktop_url öffnen.

4

Geben Sie im Feld Wert die URL für den Webex Contact Center Desktop entsprechend der Einsatzregion ein.

5

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

6

(Optional) Um den Namen der Aktivitätstabelle zu ändern, bearbeiten Sie die Eigenschaften 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) Fügen Sie Benutzergruppen wie folgt hinzu:

  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 Navigator filtern zu OpenFrame > Konfigurationen.

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)

  • Höhe: 600 (Empfohlen)

4

Klicken Sie rechts neben dem Feld URL 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 Seite der Benutzeroberfläche zu verweisen)

5

(Optional) Wählen Sie die Benutzer-/Agentengruppe(n) aus, um die Konfiguration zuzuweisen.

6

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

7

Navigieren Sie im Feld Filter-Navigator zu Arbeitsbereich für Dienstvorgänge.

ServiceNow-Startseite mit in ServiceNow integriertem Webex Contact Center Agent Desktop.

8

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

9

Bevor Sie versuchen, das OpenFrame-Telefon zu verwenden, stellen Sie sicher, dass Sie die JSON-Datei für das benutzerdefinierte Desktop-Layout von ServiceNow in das Webex Contact Center-Verwaltungsportal 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 Desktop-Layoutdatei.

3

Gehen Sie zum Webex Contact Center-Verwaltungsportal .

4

Wählen Sie in der Navigationsleiste des Management Portals Bereitstellung > 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 für das ServiceNow-Desktop-Layout hoch.

7

Klicken Sie auf Speichern, um die Konfiguration zu speichern.

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

8

Navigieren Sie im Feld Filter-Navigator zu Arbeitsbereich für Dienstvorgänge.

ServiceNow-Startseite mit in ServiceNow integriertem Webex Contact Center Agent Desktop.

1

Navigieren Sie im Feld Filter Navigator zu Vorfälle > Vorfall öffnen.

2

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

3

Fügen Sie kommagetrennte 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 Filter-Navigator zu Arbeitsbereich für Dienstvorgänge.

ServiceNow-Startseite mit in ServiceNow integriertem Webex Contact Center Agent Desktop.

Die Anmeldung bei Agent Desktop mithilfe der Desktop-Option (WebRTC) wird derzeit nicht unterstützt.

Agent Desktop in der ServiceNow-Konsole

Stellen Sie vor Outdial-Anrufen Folgendes sicher:

  • Erstellen Sie den Outdial-Einstiegspunkt und richten Sie eine Strategie für einen Outdial-Einstiegspunkt ein.

  • Aktivieren Sie outdial ANI für das Agentenprofil.

  • Legen Sie das ANI für die Wahl auf eine Zuordnung von Wählnummer zu Eingabepunkt fest.

Weitere Informationen finden Sie im Kapitel Bereitstellung des Einrichtungs- und Administratorhandbuchs für Cisco Webex Contact Center.

Navigieren Sie im Feld Filter-Navigator zu Arbeitsbereich für Dienstvorgänge.

ServiceNow-Startseite mit in ServiceNow integriertem Webex Contact Center Agent Desktop.

Weitere Informationen zur Verwendung von Desktop finden Sie auf der Registerkarte Agent in der Webex Contact Center-Hilfe.

Übersicht

Dieser Artikel behandelt verschiedene Möglichkeiten, Ihre Geschäftsregeln für den ServiceNow CRM-Connector anzupassen. Darin wird beschrieben, wie Sie die Anwendungsfälle anhand von Geschäftsregeln anpassen können, die spezifisch für ServiceNow sind.

Der Kunde muss diese Anwendungsfälle in ServiceNow selbst verwalten. Die Konfiguration ist spezifisch für ServiceNow und nicht für die Webex Contact Center-Software oder -Expertise.

Hierbei handelt es sich um eine Referenzdokumentation zur Unterstützung der Änderung von Geschäftsregeln. Die ServiceNow-Entwickler erstellen und verwalten die Geschäftsregeln und bieten Unterstützung.

Cisco stellt nur Beispieldokumentation zur Verfügung.

Die folgenden Abschnitte enthalten Details zum Einrichten, Aktivieren und Verwalten des Actions-Widgets für Entwickler- und Enterprise-Instanzen.

Widget zur Aktualisierung für Aktionen einspielen

Installieren Sie für die lizenzierten Unternehmensinstanzen die neueste Webex Contact Center-App aus dem ServiceNow Store.

Um das Actions-Widget für die Entwicklerinstanzen einzurichten, laden Sie die neueste XML-Datei für das System-Update-Set herunter, die im Github-Repo verfügbar ist: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Der Dateiname lautet webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Informationen zum Einspielen des Aktualisierungssatzes für das Actions-Widget finden Sie in den Schritten 2 bis 9 unter Einspielen des Aktualisierungssatzes.

Aktions-Widget aktivieren

Verwenden Sie die Eigenschaft isWidgetDisplayEnabled , um das Aktionen-Widget zu aktivieren. Sie dürfen den Wert dieser Eigenschaft nicht im kopflosen Abschnitt des benutzerdefinierten Desktop-Layouts ändern. Die Eigenschaft wird im kopflosen Abschnitt des benutzerdefinierten Desktop-Layouts immer auf „false“ gesetzt. Sie sollten den Wert der Eigenschaft nur im Bereich des benutzerdefinierten Desktop-Layouts aktualisieren.

Nachdem Sie das Aktionen-Widget 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 dem Anrufer zugeordnet sind.
  • CRM-Objekte verknüpfen: Klicken Sie auf Mit Aktivitätsaufzeichnungen verknüpfen , um CRM-Objekte wie Anruftyp (eingehend oder ausgehend), Anrufobjekt, Anrufnotizen usw. zum Aktivitätsdatensatz hinzuzufügen.
  • Vorfälle verwalten – Klicken Sie auf Vorfall erstellen. Ein neuer Vorfall wird erstellt, in dem die Details des Anrufers vorab ausgefüllt sind. Sie können die erforderlichen Aktualisierungen des Vorfalls vornehmen. Sie können den Datensatztyp von Vorfall zu Fall, HR-Modul usw. je nach Ihren Anforderungen ändern. Um den Aufzeichnungstyp zu ändern, ändern Sie den Wert der Eigenschaft typeOfRecord in der Einstellungen des Actions-Widgets. Beispiel:
    { "comp": "md-tab-panel", "attribute": { "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" : "Vorfall erstellen" }, "Wrapper": { "title": "SNOW Actions !", "maximizeAreaName": "app-maximize-area" } } ] }
  • Hinzufügen von Live-Anrufprotokollen – Sie können zusätzliche Informationen über den Anruf im Textbereich erfassen und den Anruf nachfassen. Sie können diese Notizen als Anrufnotizen im Aktivitätsdatensatz sehen.

Code-Änderung bei ServiceNow

Das Skript Enthält Änderungen
  1. Wechseln Sie zum Filter-Navigator und suchen Sie nach Skripteinschluss.

    Wählen Sie unter Systembenutzeroberfläche die Option Skript enthält aus.

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

  3. Ändern Sie die Methode UserGetSysId im Skript.

    Kurent:

    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: Funktion () { var opened_for; //Vorfallbezogene Änderungen var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for= Benutzer.sys_id;//Benutzer zurückgeben.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; einschl.contact_type= 'phone'; einschl.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= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; gibt JSON.stringify(sysidlist); },

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

    Wählen Sie Benutzeroberflächen-Seiten unter Systembenutzeroberfläche aus.

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

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

    Aktuelle Funktion:

    // Bildschirm-Popup-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:

    // Bildschirm-Popup-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 Vorfallbezogene Änderungen var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'Vorfall', Abfrage: „sys_id=“+sysObj.incsysid, „interaction_sys_id“: sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'Vorfall', Abfrage: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); }}

Wenn die Anruferinformationen in CRM vorhanden sind und bereits ein neuer Vorfall mit diesem Kontakt eröffnet wurde, öffnet die Anwendung den Vorfall in Bearbeitung

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

Wenn die Anruferinformationen in CRM vorhanden sind, öffnet die Anwendung einen neuen Vorfall mit vorab ausgefüllten Details.

Übersicht

Dieser Anwendungsfall beschreibt den Prozess zum Hinzufügen einer zusätzlichen Spalte zur ServiceNow-Tabelle – webexcc_imp_activity und zum Erstellen sn_openframe_phone_log nach der Installation des Webex CC for ServiceNow CRM-Connectors.

Standardmäßig enthält die Tabelle bestimmte Felder und Werte des Out-of-Box-Systems.

Sie können weitere unternehmensspezifische Variablen (CAD-Variablen) im WebexCC Flow Designer erstellen und die CAD-Variablen im ServiceNow-Protokoll nach Anrufaktivitäten hinzufügen und diese in den Tabellendaten nach Anrufaktivitäten beibehalten.

Dies ist nur eine Referenzdokumentation – und zeigt, wie dies für eine Beispiel-CAD-Variable mit der Bezeichnung „Kundenname“ getan wird, die den Kundennamen in der IVR speichert und in ServiceNow veröffentlicht.

Es wird erwartet, dass die Entwickler von partner+customer ServiceNow diese Konfiguration konfigurieren und verwalten, da es sich um eine Anpassung für den vorhandenen Konnektor handelt.

Cisco bietet nur die Techniken zum Anpassen und Erweitern des Connectors.

Ab diesem Artikel hat das Cisco-Team die Unterstützung für das Hinzufügen der CAD-Variable zu Aktivitätsprotokoll und 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. Wechseln Sie zum Filter Navigator und suchen Sie nach Studio.

    Wählen Sie Webex Contact Center.

    oder

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

  4. Neue Spalte hinzufügen, z. B. CustomerName

Spalte zum Telefonprotokoll hinzufügen

  1. Bearbeiten Sie die Telefonprotokolltabelle.

  2. Fügen Sie eine neue Spalte hinzu, zum Beispiel CustomerName.

Karte zur Transformation von WebexCC-Aktivitäten

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

Listenspalten personalisieren

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

Telefonprotokollliste konfigurieren

Zu „Skript einschließen“ wechseln

Fügen Sie webexcc.u_customername=actInfo.CustomerName nur eine Zeile zu propUtils hinzu.

Beispielskript

Siehe 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 // return null; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; }, setWebexcctable : Funktion () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = neues 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.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.Kundenname; sys_id=webexcc.insert(); //Aktivitäten bei Vorfall-Datensatz; 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); einschl. orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(actInfoString),null,2); inc.comments =jsonPretty; inc.update(); } } } return sys_id; }, Typ: „propUtils“ });

Erstellen einer CAD-Variablen im Flow Designer

Die CAD-Variable zum Desktop-Layout hinzufügen

Beispiel

"CadName1:SnowField1,CadName2:SnowField2" CadName1 ist CustomerName SnowField1 wird auch als CustomerName verwendet, der Teil der Beispiel-Scirpt zeigt oben "actInfo.CustomerName".

Demo-Screenshots

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

CAD-Variable für Flow Designer erstellen

Dringlichkeit des Vorfalls

Auswirkung des Vorfalls

Aktualisierung des Service Now-Skripts

Aktualisierungen des Skripts umfassen

  1. Wechseln Sie zum Filter-Navigator und suchen Sie nach Skripteinschlüssen

    Wählen Sie die Option Skript enthält unter Systembenutzeroberfläche aus.

  2. Filtern Sie den Namen mit propUtils.

  3. Ändern Sie die Methode UserGetSysId 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: Funktion () { 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= Benutzer.sys_id;//Benutzer zurückgeben.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; einschl.contact_type= 'phone'; inc.urgency=this.getParameter('IncUrgency'); inc.impact=this.getParameter('Impact'); 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= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; gibt JSON.stringify(sysidlist);//sysid; } zurück,

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

    Wählen Sie die Option Benutzeroberflächen-Seiten unter Systembenutzeroberfläche aus.

  2. Filtern Sie die Benutzeroberflächen-Seiten mit Name und suchen Sie nach agentdesktop .

  3. Ändern Sie die Funktion screenpop im Skriptfeld.

    Aktuelle Funktion:

    // Bildschirm-Popup-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:

    // Bildschirm-Popup-Funktion Screenpop(callerani,callSessionInfo) { var Impact=3; if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact != undefined) { Impact=callSessionInfo.callAssociatedData.Impact != undefined) { 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: 'Vorfall', Abfrage: „sys_id=“+sysObj.incsysid, „interaction_sys_id“: sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'Vorfall', Abfrage: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }

Wenn die Anruferinformationen in CRM vorhanden sind und es keinen neuen oder nicht laufenden Vorfall gibt, öffnet die Anwendung einen neuen Vorfall

Ändern des Codes in ServiceNow

Neue Spalten zur Tabelle WebexCC IMP-Aktivität hinzufügen

Öffnen Sie die Tabelle WebexCC IMP-Aktivitäten

Neue Spalte hinzufügen – InteractionsNumber

Neue Spalte hinzufügen – IncidentNumber

Klicken Sie auf Aktualisieren.

Neue Spalten zur Tabelle Telefonprotokoll hinzufügen

Öffnen Sie die Tabelle Telefonprotokoll

Neue Spalte hinzufügen – InteractionsNumber

Neue Spalte hinzufügen – IncidentNumber

Karte zur Transformation von WebexCC-Aktivitäten

Öffnen Sie die Transformationskarte über den Filter-Navigator.

Klicken Sie auf WebexCC Activity TransformMap

Neu hinzufügen – für Interaktionsnummernzuordnung

Neu hinzufügen – für Karte mit Vorfallnummern

Klicken Sie auf Aktualisieren.

Änderungen am Skript umfassen

  1. Navigieren Sie zu Filter Navigator und suchen Sie nach "script includes".

    Wählen Sie unter Systembenutzeroberfläche die Option Skript enthält aus.

  2. Filtern Sie den Namen mit propUtils.

  3. Ändern Sie die Methode setWebexcable.

    Neuer Beispielcode für Vorfall:

    Webexcaccessible festlegen: Funktion () { 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=""; actInfo[' löscheninteraction_sys_id']; actInfo[' löschenincident_sys_id']; if( interactionsysid!= null && interactionsysid != undefiniert){ var inte = new GlideRecordSecure('interaction'); //inte.get('sys_id', Interaktionssysid ); inte.addQuery('sys_id', interactionsysid ); inte.query(); if (inte.next()) { intenum=inte.number; // inte.setValue('state','Closed Complete'); inte.work_notes= 'Status zu geschlossen aktualisieren.'; inte.update(); }} if( incsysid!= null && incsysid != undefiniert){ 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(); } Rückgabe sys_id; },

Methodenänderungen auf UI-Seiten

  1. Gehen Sie zum Filter-Navigator und suchen Sie nach Benutzeroberflächen-Seiten

    Wählen Sie die Option Benutzeroberflächen-Seiten unter Systembenutzeroberfläche aus.

  2. Filtern Sie die Benutzeroberflächen-Seiten mit Name und suchen Sie nach agentdesktop.

  3. Ändern Sie die Funktion nowActivities und screenpop im Skript.

    Aktuelle Funktion:

    function nowActivities(actInfo, ani) { var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'setWebexcable'); 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: 'Vorfall', Abfrage: „sys_id=“+sysObj.incsysid, „interaction_sys_id“: sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'Vorfall', Abfrage: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); } 

Ergebnisse nach der Aktualisierung

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

Anpassungsnr. 1 – Benutzerdefinierte Geschäftsregeln für Anwendungsfälle für den Anrufverlauf hinzufügen

Einen neuen Vorfalldatensatz für jeden Anruf erstellen

Erstellen Sie für jeden neuen Anruf beim WebexCC CRM-Connector in ServiceNow einen neuen Vorfalldatensatz.

  1. Suchen Sie im Filter-Navigator nach Geschäftsregeln

  2. Klicken Sie auf „Neu“.

    Beispielcode als Referenz:

    function customcti() { var url = null; var name = sysparm_caller_name; eid = sysparm_caller_id; var-Telefon = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; if (fQuery == null) fQuery = ''; var Ansicht = sysparm_view; if (Ansicht == 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; } Antwort = URL; Rückgabe-URL; } Funktion UserGetSysId(Feld, Wert) { var user = new GlideRecord("sys_user"); user.addQuery(Feld, Wert); user.query(); if (user.next()) gibt Benutzer zurück.sys_id; else Null zurückgeben; }

    Beispielkonfiguration der Geschäftsregel

  3. Client-Anrufbarkeit aktivieren

    Die Verarbeitung der Computer Telephony Integration (CTI) für einen Vorfall ist als True 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, wird für die CTI-Verarbeitung anstatt des Standardskripts aufgerufen.

Definieren Sie die Funktion in einem sys_script Eintrag, der mit Client-Anrufbar markiert ist.

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

Um ein Skript client-anrufbar zu machen, müssen Sie das Kontrollkästchen client-anrufbar im Formular aktivieren, das angezeigt wird, wenn der sys_script Eintrag angezeigt wird.

Das Kontrollkästchen für Client-Anrufe wird standardmäßig nicht angezeigt. Zur Anzeige müssen Sie die auf dem Formular angezeigten Felder mithilfe des Zahnradsymbols und des Slush-Bucket-Mechanismus ändern.

Referenzen

Anpassungsnr. 2 – CAD-Variable in der Webex Contact Center-Aktivitätstabelle hinzufügen

Übersicht

Dieser Artikel beschreibt den Prozess zum Hinzufügen einer zusätzlichen Spalte zur ServiceNow-Tabelle – webexcc_activity die bei der Installation des Webex CC for ServiceNow CRM-Connectors erstellt wird.

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

Sie können potenziell unternehmensspezifische Variablen (CAD-Variablen) im WebexCC Flow Designer erstellen und diese CAD-Variablen im ServiceNow Protokoll nach Anrufaktivität hinzufügen und diese in den Daten der Tabelle nach Anrufaktivität beibehalten.

  • Dies ist nur eine Referenzdokumentation – und zeigt, wie dies für eine Beispiel-CAD-Variable namens „Customer Name“ (Kundenname) getan wird, die den Kundennamen in der IVR speichert und in ServiceNow veröffentlicht.

  • Die Entwickler von partner+customer ServiceNow konfigurieren und verwalten diese Konfiguration, da es sich um eine Anpassung für den vorhandenen Connector handelt.

  • Cisco bietet nur die Techniken zum Anpassen und Erweitern des Connectors an.

  • Ab diesem Artikel hat das Cisco-Team die Unterstützung für das Hinzufügen der CAD-Variable zu Aktivitätsprotokoll und Aktivitätstabelle mithilfe der unten beschriebenen Technik validiert.

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

  2. Gehen Sie zu Studio > Webex Contact Center.

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

  4. Beispiel: CustomerName.

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

Erstellen eines neuen Skripts umfasst

Dieser Schritt ist nicht erforderlich, wenn Sie das XML-Update-Set verwenden: Um „webexcc.u_customername=actInfo.CustomerName“ zu propUtils hinzuzufügen, ist nur eine Zeile erforderlich.

Beispielskript

Siehe 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 : Funktion () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = neues 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.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.Kundenname; sys_id=webexcc.insert(); // Aktivitäten bei Vorfall-Datensatz; 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); einschl. orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(acting string),null,2); inc.comments =jsonPretty; inc.update(); } } } return sys_id; }, Typ: 'propUtils2' });
Bearbeiten Sie die UI-Seite mit einem neuen Skriptnamen

Erstellen einer CAD-Variablen im Flow Designer

Die CAD-Variable zum Desktop-Layout hinzufügen

Demo-Screenshots

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