Voorwaarden

Deze functie is momenteel alleen van toepassing op agenten.

Voordat u Webex Contact Center integreert met de ServiceNow CRM-console, moet u ervoor zorgen dat u het volgende hebt:

Volg een van de twee onderstaande methoden:

Voor instanties van ontwikkelaars raden we u aan de stappen in de handleiding voor instanties van ontwikkelaars te volgen.

Als u eigenaar bent van een instantie met bedrijfslicentie, volgt u de richtlijnen voor instanties met bedrijfslicentie.

We raden niet aan de app met een zakelijke licentie te mengen met sandbox-instanties van ontwikkelaars.

In de volgende gedeelten worden de stappen beschreven voor het installeren van de ServiceNow-connector voor ontwikkelaarsinstanties.

1

Meld u aan bij uw account voor de ServiceNow-ontwikkelaarsportal en open de Beheerconsole .

2

Klik in het gedeelte Mijn exemplaar van het menu Account op Gebouw starten.

3

Ga in uw ontwikkelaarsinstantie naar het veld Filternavigator linksboven in het venster naar Plug-ins.

4

Zoek naar de Openframe-invoeg plug-in met de titel Openframe. Mogelijk moet u door de lijst bladeren.

5

Klik op Installeren om de Openframe-invoegpagina te installeren.

6

Klik in het activeervenster dialoogvenster op Activeren.

7

Wanneer de activatie van de invoegtoepassing is voltooid, klikt u op Formulier sluiten en opnieuw laden in het dialoogvenster Activatie van invoegtoepassing .

8

Om de invoegactivering te verifiëren, navigeert u vanuit het veld Filter navigator linksboven van het venster naar OpenFrame.

9

Klik op Configuraties en zorg dat de OpenFrame-invoegpagina wordt weergegeven in de lijst OpenFrame-configuraties .

1

Download het meest recente XML-bestand met de systeemupdate dat beschikbaar is op de github repo op deze locatie: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Bestandsnaam: webexcc-servicenow-update-setV(X).xml

2

Ga in uw ServiceNow-exemplaar naar het veld Filternavigator linksboven in het venster naar Systeemupdatesets > Sets bijwerken om toe te passen.

3

Klik op de koppeling Update importeren ingesteld vanuit XML .

4

Klik op Bestand kiezen, selecteer het XML-bestand Systeemupdate en klik vervolgens op Uploaden.

De bij te werken set wordt weergegeven in de lijst Opgehaalde update sets en heeft de status Geladen .
5

Klik in de lijst Opgehaalde updatesets op de bestandsnaam Updateset (koppeling) om de updateset te openen.

6

Klik rechtsboven in het venster op Voorbeeld instellen bijwerken om te controleren of de update is ingesteld op problemen.

7

Klik in het dialoogvenster Voorbeeld instellen bijwerken op Sluiten zodra het voorbeeld is voltooid.

8

Klik op Update van commiteren ingesteld.

9

Klik op Sluiten in het dialoogvenster Commit instellen bijwerken zodra het vastleggen van de set bijwerken is voltooid.

1

Typ in het veld Filternavigator linksboven in het venster sys_properties.list en druk op Enter.

2

Op de pagina Systeemeigenschappen sorteren u de eigenschappen op de bijgewerkte datum. Zorg ervoor dat u de volgende eigenschappen van Webex Contact Center kunt zien:

3

Klik om agentdesktop_url de pagina Systeem eigenschap te agentdesktop_url openen.

4

Voer in het veld Waarde de URL voor de Webex Contact Center Desktop in volgens het bewerkingsgebied.

5

Klik op Bijwerken om de wijzigingen op te slaan.

6

(Optioneel) Als u de naam van de tabel Activiteit wilt wijzigen, bewerkt u de eigenschappen van de webexccactiviteitstabel als dat nodig is.

Klik op de pagina Systeemeigenschappen op webexccactivitytable.

Wijzig indien nodig het veld Waarde .

7

(Optioneel) Voeg gebruikersgroepen op de volgende manieren toe:

  1. Ga in het veld Filternavigator linksboven in het venster naar Groepen onder Systeembeveiliging.

  2. Maak een nieuwe gebruikersgroep of gebruik een bestaande.

  3. Klik op Bewerken.

  4. Zoek sn_openframe_user onder Verzameling en verplaats deze naar uw gebruikersgroep.

  5. Klik op Opslaan.

  6. Voeg de gebruiker toe als een groepslid.

1

Navigeer vanuit het veld Filter navigator naar OpenFrame > Configuraties.

2

Klik op Nieuw.

3

Voer de volgende eigenschappen in voor de URL:

  • Naam: Webex Contact Center-desktop

  • Titel: Webex Contact Center

  • Breedte: 550 (aanbevolen)

  • Hoogte: 600 (aanbevolen)

4

Aan de rechterkant van het veld URL klikt u op de knop Vergrendelen en voegt u agentdesktop.do toe als de URL. (Voer deze stap uit om de configuratie naar de gebruikersinterface-pagina te verwijzen)

5

(Optioneel) Selecteer de gebruikers-/agentgroep(en) om de configuratie toe te wijzen.

6

Klik op Verzenden. De URL wordt weergegeven als een koppeling.

7

Voordat u probeert de OpenFrame-telefoon te gebruiken, moet u ervoor zorgen dat u het aangepaste JSON-bestand voor de ServiceNow-desktopindeling uploadt naar de beheerportal van Webex Contact Center. Zie De ServiceNow-desktopindeling instellen in Webex Contact Center voor meer informatie.

1

Download de bureaubladindeling voor ServiceNow van https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

2

Werk indien nodig de eigenschappen in het bestand Bureaubladindeling bij.

3

Ga naar de beheerportal van Webex Contact Center .

4

Kies in de navigatiebalk van de Beheerportal Inrichting > Bureaubladindeling.

5

Klik op Nieuwe lay-out en voer de gegevens voor de bureaubladindeling in.

6

Upload het ServiceNow-desktop lay-out JSON-bestand.

7

Klik op Opslaan om de configuratie op te slaan.

U kunt nu Webex Contact Center Desktop starten binnen de ServiceNow-console.

8

Ga in het veld Filternavigator naar Service Operations Workspace.

De startpagina van ServiceNow met Webex Contact Center Agent Desktop geïntegreerd met ServiceNow.

In de volgende gedeelten worden de stappen beschreven voor het installeren van de ServiceNow-connector voor gelicentieerde bedrijfsinstanties.

1

Meld u aan bij uw account voor de ServiceNow-ontwikkelaarsportal en open de Beheerconsole .

2

Klik in het gedeelte Mijn exemplaar van het menu Account op Gebouw starten.

3

Ga in uw ontwikkelaarsinstantie naar het veld Filternavigator linksboven in het venster naar Plug-ins.

4

Zoek naar de Openframe-invoeg plug-in met de titel Openframe. Mogelijk moet u door de lijst bladeren.

5

Klik op Installeren om de Openframe-invoegpagina te installeren.

6

Klik in het activeervenster dialoogvenster op Activeren.

7

Wanneer de activatie van de invoegtoepassing is voltooid, klikt u op Formulier sluiten en opnieuw laden in het dialoogvenster Activatie van invoegtoepassing .

8

Om de invoegactivering te verifiëren, navigeert u vanuit het veld Filter navigator linksboven van het venster naar OpenFrame.

9

Klik op Configuraties en zorg dat de OpenFrame-invoegpagina wordt weergegeven in de lijst OpenFrame-configuraties .

1

In het veld Filter navigator in de linkerbovenhoek van het venster voert u sys_properties.list in.

2

Op de pagina Systeemeigenschappen sorteren u de eigenschappen op de bijgewerkte datum. Zorg ervoor dat u de volgende eigenschappen van Webex Contact Center kunt zien:

3

Klik om agentdesktop_url de pagina Systeem eigenschap te agentdesktop_url openen.

4

Voer in het veld Waarde de URL voor de Webex Contact Center Desktop in volgens het bewerkingsgebied.

5

Klik op Bijwerken om de wijzigingen op te slaan.

6

(Optioneel) Als u de naam van de activiteitentabel wilt wijzigen, bewerkt u de eigenschappen van de x_caci_webexcc.webexccactivitytable indien nodig.

  1. Klik op de pagina Systeemeigenschappen op x_caci_webexcc.webexccactivitytable.

  2. Wijzig indien nodig het veld Waarde .

7

(Optioneel) Voeg gebruikersgroepen op de volgende manieren toe:

  1. Ga in het veld Filternavigator linksboven in het venster naar Groepen onder Systeembeveiliging.

  2. Klik op Bewerken en voeg de volgende rollen toe:

    • sn_openframe_user

    • x_caci_webexcc.agent

    • agent_workspace_user

    • x_caci_webexcc.webexcc_imp_activity_user

    • x_caci_webexcc.webex_contact_center

1

Navigeer vanuit het veld Filter navigator naar OpenFrame > Configuraties.

2

Klik op Nieuw.

3

Voer de volgende eigenschappen in voor de URL:

  • Naam: Webex Contact Center-desktop

  • Titel: Webex Contact Center

  • Breedte: 550 (aanbevolen)

  • Hoogte: 600 (aanbevolen)

4

Aan de rechterkant van het veld URL klikt u op de knop Vergrendelen en voegt u x_caci_webexcc_agentdesktop.do toe als de URL. (Voer deze stap uit om de configuratie naar de gebruikersinterface-pagina te verwijzen)

5

(Optioneel) Selecteer de gebruikers-/agentgroep(en) om de configuratie toe te wijzen.

6

Klik op Verzenden. De URL wordt weergegeven als een koppeling.

7

Ga in het veld Filternavigator naar Service Operations Workspace.

De startpagina van ServiceNow met Webex Contact Center Agent Desktop geïntegreerd met ServiceNow.

8

(Optioneel) Verplaats in de lijst Gebruikersgroep de gebruikersgroepen die toegang hebben tot het Webex Contact Center-bureaublad van Beschikbaar naar Geselecteerd.

9

Voordat u probeert de OpenFrame-telefoon te gebruiken, moet u ervoor zorgen dat u het aangepaste JSON-bestand voor de ServiceNow-desktopindeling uploadt naar de beheerportal van Webex Contact Center. Zie De ServiceNow-desktopindeling instellen in Webex Contact Center voor meer informatie.

1

Download de bureaubladindeling voor ServiceNow van https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

2

Werk indien nodig de eigenschappen in het bestand Bureaubladindeling bij.

3

Ga naar de beheerportal van Webex Contact Center .

4

Kies in de navigatiebalk van de Beheerportal Inrichting > Bureaubladindeling.

5

Klik op Nieuwe lay-out en voer de gegevens voor de bureaubladindeling in.

6

Upload het ServiceNow-desktop lay-out JSON-bestand.

7

Klik op Opslaan om de configuratie op te slaan.

U kunt nu Webex Contact Center Desktop starten binnen de ServiceNow-console.

8

Ga in het veld Filternavigator naar Service Operations Workspace.

De startpagina van ServiceNow met Webex Contact Center Agent Desktop geïntegreerd met ServiceNow.

1

Ga in het veld Filternavigator naar Incidenten > Incident openen.

2

Klik met de rechtermuisknop op het veld van de beller en klik op Woordenboek configureren.

3

Voeg door komma's gescheiden Attributen toe 'ref_contributions=show_phone,.

U kunt nu starten met het gebruik van het Webex Contact Center-bureaublad in de ServiceNow-console.

4

Ga in het veld Filternavigator naar Service Operations Workspace.

De startpagina van ServiceNow met Webex Contact Center Agent Desktop geïntegreerd met ServiceNow.

We bieden momenteel geen ondersteuning voor aanmelden bij Agent Desktop met de optie Desktop (WebRTC).

Agent Desktop in de ServiceNow-console

Voordat u out-outgesprekken ondert, moet u ervoor zorgen dat u het volgende doet:

  • Maak het outdial entry point en stel een strategie voor een outdial invoerpunt in.

  • Schakel outdial ANI in voor het agentprofiel.

  • Stel de kies-ANI in op het toewijzen van een nummer-naar-invoerpunt.

Zie het hoofdstuk Inrichten van de Installatie- en beheerhandleiding voor Cisco Webex Contact Center voor meer informatie.

Ga in het veld Filternavigator naar Service Operations Workspace.

De startpagina van ServiceNow met Webex Contact Center Agent Desktop geïntegreerd met ServiceNow.

Zie het tabblad Agent in de Help van Webex Contact Center voor meer informatie over het gebruik van Desktop.

Overzicht

Dit artikel behandelt verschillende manieren om uw bedrijfsregels aan te passen voor de CRM-connector van ServiceNow. Hierin wordt beschreven hoe u de usecases kunt aanpassen op basis van bedrijfsregels die specifiek zijn voor ServiceNow.

De klant moet deze usecases zelf beheren op ServiceNow. De configuratie is specifiek voor ServiceNow en niet voor Webex Contact Center-software of -expertise.

Dit is een referentiedocumentatie ter ondersteuning van de aanpassing van bedrijfsregels. De ServiceNow-ontwikkelaars maken en beheren de bedrijfsregels en bieden ondersteuning.

Cisco levert alleen voorbeelddocumentatie.

In de volgende gedeelten vindt u informatie over het instellen, inschakelen en beheren van de widget Acties voor instanties van ontwikkelaars en ondernemingen.

Widget Updateset voor acties vastleggen

Voor de gelicentieerde bedrijfsinstanties installeert u de nieuwste Webex Contact Center-app in de ServiceNow Store.

Als u de widget Acties wilt instellen voor de instanties van de ontwikkelaar, downloadt u het nieuwste XML-bestand met de systeemupdateset dat beschikbaar is op de github repo op deze locatie: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. De bestandsnaam is webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Als u de updateset voor de widget Acties wilt vastleggen, raadpleegt u stap 2 tot en met 9 in De updateset vastleggen.

Widget Acties inschakelen

Gebruik de eigenschap isWidgetDisplayEnabled om de widget Acties in te schakelen. U mag de waarde van deze eigenschap niet wijzigen in het gedeelte zonder koptekst van de aangepaste bureaubladindeling. De eigenschap is altijd ingesteld op onwaar in het gedeelte zonder koptekst van de aangepaste bureaubladindeling. U moet de waarde van de eigenschap alleen bijwerken in het deelvenstergedeelte van de aangepaste bureaubladindeling.

Nadat u de widget Acties hebt ingeschakeld in de aangepaste bureaubladindeling, kunt u de volgende acties uitvoeren:

  • Activiteitsrecords beheren: klik op Activiteitsrecord weergeven/bewerken om de lijst met activiteitsrecords weer te geven die aan de beller zijn gekoppeld.
  • CRM-objecten koppelen: klik op Koppelen aan activiteitsrecords om CRM-objecten zoals gesprekstype (inkomend of uitgaand), gespreksobject, gespreksnotities enzovoort toe te voegen aan de activiteitsrecord.
  • Incidenten beheren: klik op Incident maken. Er wordt een nieuw incident gemaakt met de gegevens van de beller vooraf ingevuld. U kunt de vereiste updates van het incident aanbrengen. U kunt ervoor kiezen om het recordtype aan te passen van incident naar case, HR-module enzovoort op basis van uw vereisten. Als u het recordtype wilt wijzigen, wijzigt u de waarde van de eigenschap typeOfRecord in de configuratie van de widget Acties. Bijvoorbeeld:
    { "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 maken" }, "wrapper": { "title": "SNOW-acties !", "maximizeAreaName": "app-maximize-area" } } ] }
  • Live gespreksaantekeningen toevoegen: u kunt aanvullende informatie over het gesprek vastleggen in het tekstgedeelte en het gesprek afronden. U kunt deze aantekeningen zien die als gespreksaantekeningen zijn toegevoegd in de activiteitenrecord.

Codewijziging in ServiceNow

Het Script Bevat wijzigingen
  1. Ga naar de filternavigator en zoek naar scriptbevat.

    Selecteer het Script bevat onder Gebruikersinterface van systeem.

  2. Filter de naam en zoek naar propUtils.

  3. Wijzig de methode UserGetSysId in het script.

    Curent:

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

    Nieuwe voorbeeldcode voor het incident:

    UserGetSysId: functie () { var opened_for; //Incidentgerelateerde wijzigingen var sysidlist = {}; var-gebruiker = nieuw GlideRecordSecure("sys_user"); user.addQuery (this.getParameter('veld'), this.getParameter('value')); user.query(); if(user.next()) { opened_for=gebruiker.sys_id;//retourgebruiker.sys_id; var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', opened_for); inc.addQuery('status','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='telefoon'; inc.short_description='Oproep ontvangen van '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist); },

Methodewijziging op UI-pagina's
  1. Ga naar de filternavigator en zoek naar de pagina van de gebruikersinterface.

    Selecteer UI-pagina's onder Gebruikersinterface van systeem.

  2. Filter de naam en zoek naar agentdesktop.

  3. Wijzig de functie screenpop in Clientscript.

    Huidige functie:

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

    Voorbeeldcode voor het incident:

    // screen pop functie screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = nieuw GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // Voor Incidentgerelateerde wijziging 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' }); } }

Als de bellerinformatie in CRM bestaat en er al een nieuw incident is geopend met deze contactpersoon, opent de toepassing het incident in behandeling

Als de bellerinformatie niet bestaat in CRM, opent de toepassing een nieuw incident

Als de bellergegevens in CRM aanwezig zijn, opent de toepassing een nieuw incident met vooraf ingevulde gegevens

Overzicht

In deze praktijkvoorbeeld wordt het proces beschreven om een extra kolom toe te voegen aan de ServiceNow-tabel - webexcc_imp_activity en te maken sn_openframe_phone_log bij de installatie van de Webex CC voor ServiceNow CRM-connector.

Standaard bevat de tabel bepaalde kant-en-klare systeemvelden en -waarden.

U kunt meer bedrijfsspecifieke variabelen (CAD-variabelen) maken in de WebexCC-stroomontwerper en de CAD-variabelen toevoegen in het activiteitenlogboek na gesprek van ServiceNow en deze toevoegen aan de gegevens van de tabel met activiteiten na gesprek.

Dit is alleen referentiedocumentatie en laat zien hoe u dit doet voor een voorbeeld van een CAD-variabele, de naam van de klant, die de naam van de klant in de IVR opslaat en deze plaatst in ServiceNow.

Verwacht wordt dat de ontwikkelaars van partner en customer ServiceNow deze configuratie zullen configureren en beheren, aangezien het om een aanpassing van de bestaande connector gaat.

Cisco biedt alleen de technieken voor het aanpassen en uitbreiden van de connector.

Vanaf dit artikel heeft het Cisco-team ondersteuning voor de toevoeging van CAD-variabele aan het activiteitenlogboek en de activiteitentabel gevalideerd met behulp van de hieronder beschreven techniek:

Kolom toevoegen aan WebexCC IMP-activiteit

  1. Bewerk de tabel in de ontwikkelaarsversie van ServiceNow.

  2. Ga naar de filternavigator en zoek naar studio.

    Selecteer Webex Contact Center

    of

  3. Selecteer de tabel WebexCC IMP-activiteit

  4. Voeg een nieuwe kolom toe, bijvoorbeeld Klantnaam

Kolom toevoegen aan telefoonlogboek

  1. Bewerk de tabel met het telefoonlogboek.

  2. Voeg een nieuwe kolom toe, bijvoorbeeld Klantnaam.

Transformatiekaart WebexCC-activiteit

Voeg een nieuwe kolom toe, bijvoorbeeld veldtoewijzing Klantnaam .

Lijstkolommen personaliseren

Zoals Service Now aanbeveelt, wijzigt u de actie Keuze van maken in negeren.

Lijst met telefoonlogboeken configureren

Ga naar script opnemen

Voeg slechts één regel toe webexcc.u_customername=actInfo.CustomerName aan propUtils.

Voorbeeldscript

Zie de regel: webexcc.u_customername=actInfo.CustomerName; met een ondersteunende opmerking.

var propUtils = Class.create(); propUtils.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{ getWebexccProp : functie () { 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'); retourneren JSON.stringify(webexccprop); }, UserGetSysId: functie () { var opened_for; var-gebruiker = nieuw 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 = nieuw GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; }, setWebexcctable: functie () { 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; // Deze lijn wordt Toegevoegd - om deze vast te leggen in het activiteitenlogboek webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); //Activiteiten op incidentrecord; 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', gebruiker.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(); } } } retourneren sys_id; }, type: 'propUtils' });

Een CAD-variabele maken in Flow Designer

De CAD-variabele toevoegen aan de bureaubladindeling

Voorbeeld

"CadName1:SnowField1,CadName2:SnowField2" CadName1 is CustomerName SnowField1 wordt ook gebruikt als CustomerName die deel uitmaakt van voorbeeld scirpt showen boven "actInfo.CustomerName".

Demo schermafbeeldingen

Bekijk de nieuw toegevoegde CAD-variabele in de WebexCC-activiteitstabel.

CAD-variabele voor Flow Designer maken

Urgentie van het incident

Impact van het incident

Update van script voor Service Now

Wijzigingen in het script omvatten

  1. Ga naar de filternavigator en zoek naar scriptbevat

    Selecteer de optie Script bevat onder Gebruikersinterface van systeem.

  2. Filter de Naam met propUtils.

  3. Wijzig de methode UserGetSysId in het veld Script .

    Huidig script:

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

    Nieuwe voorbeeldcode voor het incident:

    UserGetSysId: functie () { var opened_for; var-sysidlist = {}; var-gebruiker = nieuw GlideRecordSecure("sys_user"); user.addQuery (this.getParameter('veld'), this.getParameter('value')); user.query(); if(user.next()) { opened_for=gebruiker.sys_id;//retourgebruiker.sys_id; var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', opened_for); inc.addQuery('status','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='Oproep ontvangen van '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist);//sysid; },

Een methodewijziging op de UI-pagina's
  1. Ga naar de filternavigator en zoek naar UI-pagina's.

    Selecteer de optie UI-pagina's onder Gebruikersinterface van systeem.

  2. Filter de gebruikersinterface-pagina's met naam en zoek naar agentdesktop.

  3. Wijzig de functie screenpop in het scriptveld.

    Huidige functie:

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

    Voorbeeldcode voor het incident:

    // screen pop functie 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)); }

Als de bellerinformatie in CRM bestaat en er geen nieuw of lopend incident is, opent de toepassing een nieuw incident

De code wijzigen op ServiceNow

Nieuwe kolommen toevoegen aan de tabel WebexCC IMP-activiteit

Open de tabel WebexCC IMP-activiteit

Een nieuwe kolom toevoegen - InteractionsNumber

Een nieuwe kolom toevoegen - Incidentnummer

Klik op Bijwerken.

Nieuwe kolommen toevoegen aan de tabel Telefoonlogboek

Open de tabel Telefoonlogboek

Een nieuwe kolom toevoegen - InteractionsNumber

Een nieuwe kolom toevoegen - Incidentnummer

Transformatiekaart WebexCC-activiteit

Open transformatiekaart vanuit de filternavigator

Klik op WebexCC-activiteit TransformMap

Nieuwe toevoegen - voor toewijzing van interactienummers

Nieuwe toevoegen - voor incidentnummertoewijzing

Klik op Bijwerken.

Wijzigingen in het script omvatten

  1. Ga naar de filternavigator en zoek naar "script includes".

    Selecteer het Script bevat onder Gebruikersinterface van systeem.

  2. Filter de Naam met propUtils.

  3. Wijzig de methode setWebexcctable.

    Nieuwe voorbeeldcode voor incident:

    setWebexTable: functie () { 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()) { //Activiteiten in incidentrecord; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; actInfo verwijderen['interaction_sys_id']; actInfo verwijderen['incident_sys_id']; if( interactionsysid!= null && interactionsysid!= niet gedefinieerd){ 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 bijwerken naar gesloten.'; inte.update(); } } if( incsysid!= null && incsysid != ongedefinieerd){ 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', gebruiker.sys_id); inc.addQuery('status','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; },

Methodewijzigingen op UI-pagina's

  1. Ga naar de filternavigator en zoek naar UI-pagina's

    Selecteer de optie UI-pagina's onder Gebruikersinterface van systeem.

  2. Filter de gebruikersinterface-pagina's met naam en zoek naar agentdesktop.

  3. Wijzig de functie nowActivities en screenpop in het script.

    Huidige functie:

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

    Voorbeeldcode voor het incident:

    function nowActivities(actInfo, ani) { var sysObjstr = window.localStorage.getItem("screenpopinteraction"); if(sysObjstr != null && sysObjstr != ongedefinieerd) { 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); } functie screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = nieuw GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('veld', 'telefoon'); 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)); } 

Resultaten na de update

De volgende aanpassingen zijn van toepassing op versie 1.0.5 en lager. Volg de bovenstaande stappen voor aanpassingen voor de nieuwere versies 1.0.7 en hoger.

Aanpassingsnummer 1 - Aangepaste bedrijfsregels toevoegen voor usecases van het gespreksverloop

Een nieuw incidentrecord maken voor elk gesprek

Maak voor elk nieuw gesprek in de WebexCC CRM-connector in ServiceNow een Nieuw Incidentrecord.

  1. Zoeken naar bedrijfsregels in de filternavigator

  2. Klik op Nieuw.

    Voorbeeldcode ter referentie:

    functie customcti() { var url = null; var naam = sysparm_caller_name; eid = sysparm_caller_id; var-telefoon = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; indien (fQuery == null) fQuery = ''; var-weergave = sysparm_view; indien (weergave == null || weergave == '') weergave = "itil"; var userID = null; if (eid != null && eid != '') { userID = UserGetSysId("employee_number",eid); } if (userID == null && naam != null && naam != '') { 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; } als (url == nul) { url = "incident.do?sys_id=-1"; indien (fQuery != null) URL += "&sysparm_query=" + fQuery; } antwoord = url; retoururl; } functie UserGetSysId (veld, waarde) { var-gebruiker = new GlideRecord("sys_user"); user.addQuery (veld, waarde); user.query(); if (user.next()) gebruiker retourneert.sys_id; anders retourneert null; }

    Voorbeeldconfiguratie van de bedrijfsregel

  3. Clientopvraagbaar inschakelen

    Verwerking van Computer Telephony Integration (CTI) voor incident is gemarkeerd als Waar.

  4. Werk de URL van de screenpop bij met de aangepaste CTI-regel " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="

Voorbeeld

De sysparm_cti_rule=name waarbij 'name' de naam van een functie is, moet worden aangeroepen voor CTI-verwerking in plaats van het standaardscript te gebruiken.

Definieer de functie in een sys_script met vermelding gemarkeerd client callable.

Als u een of meer GlideRecord(s) in de functie moet invoegen, bijwerken of verwijderen, moet u een afzonderlijke niet-clientcallable functie bellen om de updates uit te voeren.

Als u een script aan de client wilt toevoegen, moet u het selectievakje aan de client toevoegen inschakelen op het formulier dat wordt weergegeven wanneer de sys_script invoer wordt weergegeven.

Het selectievakje dat kan worden opgevraagd bij de client wordt standaard niet weergegeven. Om weer te geven, moet u de velden wijzigen die op het formulier worden weergegeven met behulp van het tandwielpictogram en het slush-bucketmechanisme.

Verwijzingen

Aanpassingsnummer 2 - CAD-variabele toevoegen in de tabel Webex Contact Center-activiteit

Overzicht

In dit artikel wordt het proces beschreven om een extra kolom toe te voegen aan de ServiceNow-tabel - webexcc_activity die wordt gemaakt bij de installatie van de CRM-connector van Webex CC voor ServiceNow.

Standaard bevat de tabel kant-en-klare systeemvelden en -waarden.

U kunt mogelijk meer bedrijfsspecifieke variabelen (CAD-variabelen) maken in de WebexCC-stroomontwerper en die CAD-variabelen toevoegen in het activiteitenlogboek na gesprek van ServiceNow en dit bijhouden in de gegevens van de activiteitstabel na gesprek .

  • Dit is alleen referentiedocumentatie en laat zien hoe u dit kunt doen voor een voorbeeld van een CAD-variabele, de naam van de klant, die de naam van de klant in de IVR opslaat en deze in ServiceNow plaatst.

  • De ontwikkelaars van partner en customer ServiceNow zullen deze configuratie configureren en beheren, aangezien het een aanpassing van de bestaande connector betreft.

  • Cisco biedt alleen de technieken voor het aanpassen en uitbreiden van de connector.

  • Vanaf dit artikel heeft het Cisco-team ondersteuning voor de toevoeging van CAD-variabele aan het activiteitenlogboek en de activiteitentabel gevalideerd met behulp van de hieronder beschreven techniek.

Kolom toevoegen aan WebexCC-activiteit
  1. Bewerk de tabel in de ontwikkelaarsversie van ServiceNow.

  2. Ga naar de Studio > Webex Contact Center.

  3. Selecteer de tabel WebexCC-activiteit .

  4. Bijvoorbeeld Klantnaam.

  5. Selecteer de lijstindeling voor WebexCC-activiteit.

Een nieuw script maken inclusief

Deze stap is niet vereist als u de XML-updateset gebruikt - er hoeft slechts één regel te worden toegevoegd aan propUtils "webexcc.u_customername=actInfo.CustomerName".

Voorbeeldscript

Zie de lijn met:webexcc.u_customername=actInfo.CustomerName; met een ondersteunende opmerking.

var propUtils2 = Class.create(); propUtils2.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{ getWebexccProp : functie () { 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'); retourneren JSON.stringify(webexccprop); }, setWebexcctable: functie () { 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; // Deze lijn wordt Toegevoegd - om deze vast te leggen in het activiteitenlogboek webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); // Activiteiten op incidentrecord; 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', gebruiker.sys_id); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(werkende tekenreeks),null,2); inc.comments =jsonPretty; inc.update(); } } } retourneren sys_id; }, type: 'propUtils2' });
De gebruikersinterface-pagina bewerken met een nieuwe scriptnaam

Een CAD-variabele maken in Flow Designer

De CAD-variabele toevoegen aan de bureaubladindeling

Demo schermafbeeldingen

Bekijk de nieuw toegevoegde CAD-variabele in de WebexCC-activiteitstabel.