Voorwaarden

Momenteel is deze functie alleen van toepassing op agenten.

Voordat u Webex Contact Center integreert met de ServiceNow CRM console, controleert u of u beschikt over het volgende:

Volg een van de twee onderstaande methoden:

Voor ontwikkelaarsinstanties raden we aan de stappen in de handleiding voor ontwikkelaars-exemplaren te volgen.

Als u eigenaar bent van een instantie met een ondernemingslicentie, volgt u de richtlijnen voor exemplaren met een ondernemingslicentie.

Het is niet raadzaam de ondernemingslicentie-app te mengen met sandbox-exemplaren van ontwikkelaars.

In de volgende hoofdstukken worden de stappen beschreven voor het installeren van de ServiceNow-connector voor exemplaren van ontwikkelaars.

1

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

2

Klik in het gedeelte Mijn instantie van het menu Account op Opbouw starten.

3

In uw exemplaar voor ontwikkelaars navigeert u in het veld Filternavigator linksboven in het venster naar Invoegtoepassingen.

4

Zoek de invoegtoepassing Openframe die de titel Openframe heeft. Mogelijk moet u door de lijst bladeren.

5

Klik op Installeren om de Openframe-invoegtoepassing te installeren.

6

Klik in het dialoogvenster Invoegtoepassing activeren op Activeren.

7

Wanneer de plugin is geactiveerd, klikt u op Sluiten en Opnieuw laden in het dialoogvenster Plugin-activering .

8

Navigeer om de activering van de invoegtoepassing te controleren naar OpenFrame in het veld Filternavigator linksboven in hetvenster.

9

Klik op Configuraties en zorg ervoor dat de OpenFrame-invoegtoepassing wordt weergegeven in de lijst met OpenFrame-configuraties .

1

Download het laatste bestand voor systeemupdateset XML 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

Navigeer in uw ServiceNow-instantie in het veld Filternavigator linksboven in het venster naar Sets voor systeemupdates>Update-sets om doorvoeren .

3

Klik op de koppeling Updateset importeren van XML .

4

Klik op Bestand kiezen, selecteer de systeemupdateset XML bestand en klik vervolgens op Uploaden.

De updateset wordt weergegeven in de lijst Opgehaalde sets met updates en heeft de status Geladen .
5

Klik in de lijst Opgehaalde updatesets op de bestandsnaam bijwerkenset (koppeling) om de Update Set te openen.

6

Klik in de rechterbovenhoek van het venster op Voorbeeld bijwerken ingesteld om de updateset te controleren op problemen.

7

Klik op Sluiten in het dialoogvenster Voorbeeld set bijwerken nadat de voorbeeldweergave is voltooid.

8

Klik op Doorvoeren updateset.

9

Klik op Sluiten in het dialoogvenster Doorvoer updateset zodra het doorvoeren van de updateset is voltooid.

1

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

2

Sorteer de eigenschappen op de pagina Systeemeigenschappen op bijgewerkte datum. Controleer of u de volgende eigenschappen Webex Contact Center kunt zien:

3

Klik op agentdesktop_url om de pagina Systeemeigendom agentdesktop_url te openen.

4

Geef in het veld Waarde de URL op voor de Webex Contact Center Desktop afhankelijk van het gebied waar de activiteiten zijn.

5

Klik op Bijwerken om de wijzigingen op te slaan.

6

(Optioneel) Als u de naam van de tabel Activiteit wilt wijzigen, bewerkt u indien nodig de eigenschappen van webexccactiviteit .

Klik op de pagina Systeemeigenschappen op webexccactiviteittabel.

Wijzig desgewenst het veld Waarde .

7

(Optioneel) Voeg gebruikersgroepen op de volgende manieren toe:

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

  2. Maak een nieuwe gebruikersgroep of gebruik een bestaande groep.

  3. Klik op Bewerken.

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

  5. Klik op Opslaan.

  6. De gebruiker toevoegen als groepslid.

1

Ga vanuit het veld Filternavigator 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

Klik rechts van het veld URL op de knop Slot en voeg agentdesktop.do toe als URL. (Voer deze stap uit om configuratie naar de UI-pagina te wijzen)

5

(Optioneel) Selecteer de gebruiker-/agentgroepen die u de configuratie wilt toewijzen.

6

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

7

Voordat u de OpenFrame-telefoon probeert te gebruiken, moet u het bestand Met aangepaste desktopindeling voor ServiceNow uploaden naar de Webex Contact Center-beheerportal. Zie De ServiceNow Desktop-indeling instellen in Webex Contact Center voor meer informatie.

1

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

2

Werk zo nodig de eigenschappen in het bestand met de bureaubladindeling bij.

3

Ga naar Webex Contact Center-beheerportal.

4

Klik op de navigatiebalk van de Management Portal op Inrichting > Desktop-indeling.

5

Klik op Nieuwe indeling en voer de details voor de bureaubladindeling in.

6

Upload het JSON-bestand met ServiceNow Desktop-indeling.

7

Klik op Opslaan om de configuratie op te slaan.

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

8

Navigeer vanuit het veld Filternavigator naar Service operations Workspace.

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

In de volgende hoofdstukken worden de stappen beschreven voor het installeren van de ServiceNow-connector voor ondernemingsinstanties met een licentie.

1

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

2

Klik in het gedeelte Mijn instantie van het menu Account op Opbouw starten.

3

In uw exemplaar voor ontwikkelaars navigeert u in het veld Filternavigator linksboven in het venster naar Invoegtoepassingen.

4

Zoek de invoegtoepassing Openframe die de titel Openframe heeft. Mogelijk moet u door de lijst bladeren.

5

Klik op Installeren om de Openframe-invoegtoepassing te installeren.

6

Klik in het dialoogvenster Invoegtoepassing activeren op Activeren.

7

Wanneer de plugin is geactiveerd, klikt u op Sluiten en Opnieuw laden in het dialoogvenster Plugin-activering .

8

Navigeer om de activering van de invoegtoepassing te controleren naar OpenFrame in het veld Filternavigator linksboven in het venster.

9

Klik op Configuraties en zorg ervoor dat de OpenFrame-invoegtoepassing wordt weergegeven in de lijst met OpenFrame-configuraties .

1

Geef in het veld Filternavigator linksboven in het venster sys_properties.list op.

2

Sorteer de eigenschappen op de pagina Systeemeigenschappen op bijgewerkte datum. Controleer of u de volgende eigenschappen Webex Contact Center kunt zien:

3

Klik op agentdesktop_url om de pagina Systeemeigendom agentdesktop_url te openen.

4

Geef in het veld Waarde de URL op voor de Webex Contact Center Desktop afhankelijk van het gebied waar de activiteiten zijn.

5

Klik op Bijwerken om de wijzigingen op te slaan.

6

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

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

  2. Wijzig desgewenst het veld Waarde .

7

(Optioneel) Voeg gebruikersgroepen op de volgende manieren toe:

  1. Navigeer 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

Ga vanuit het veld Filternavigator 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

Klik rechts van het veld URL op de knop Vergrendelen en voeg x_caci_webexcc_agentdesktop.do toe als URL. (Voer deze stap uit om configuratie naar de UI-pagina te wijzen)

5

(Optioneel) Selecteer de gebruiker-/agentgroepen die u de configuratie wilt toewijzen.

6

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

7

Navigeer vanuit het veld Filternavigator naar Service operations Workspace.

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

8

(Optioneel) Verplaats in de lijst Gebruikersgroepen de gebruikersgroepen die toegang hebben tot de Webex Contact Center Desktop van Beschikbaar naar Geselecteerd.

9

Voordat u de OpenFrame-telefoon probeert te gebruiken, moet u het bestand Met aangepaste desktopindeling voor ServiceNow uploaden naar de Webex Contact Center-beheerportal. Zie De ServiceNow Desktop-indeling instellen in Webex Contact Center voor meer informatie.

1

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

2

Werk zo nodig de eigenschappen in het bestand met de bureaubladindeling bij.

3

Ga naar Webex Contact Center-beheerportal.

4

Klik op de navigatiebalk van de Management Portal op Inrichting > Desktop-indeling.

5

Klik op Nieuwe indeling en voer de details voor de bureaubladindeling in.

6

Upload het JSON-bestand met ServiceNow Desktop-indeling.

7

Klik op Opslaan om de configuratie op te slaan.

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

8

Navigeer vanuit het veld Filternavigator naar Service operations Workspace.

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

1

Navigeer vanuit het veld Filternavigator naar Incidenten > Open incident.

2

Klik met de rechtermuisknop op het bellerveld en klik op Verklarende taal configureren.

3

Voeg door komma's gescheiden attributen "ref_contributions=show_phone,.

U kunt nu de Webex Contact Center Desktop in de ServiceNow-console gebruiken.

4

Navigeer vanuit het veld Filternavigator naar Service operations Workspace.

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

Agent Desktop in de ServiceNow-console

Zorg dat u het volgende doet voordat u uitgaande gesprekken tot stand brengt:

  • Maak het uitgaande toegangspunt en stel een strategie voor uitgaande toegangspunten in.

  • Schakel uitgaande ANI in voor het agentprofiel.

  • Stel voor de uitgaande ANI in op een toewijzing van nummer naar ingang.

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

Navigeer vanuit het veld Filternavigator naar Service operations Workspace.

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

Zie het tabblad Agent in Webex Help voor contactcentrum voor meer informatie over het gebruik van Desktop.

Overzicht

In dit artikel worden verschillende manieren beschreven om uw bedrijfsregels aan te passen voor de ServiceNow CRM connector. Hier wordt uitgelegd hoe u de use cases kunt aanpassen op basis van bedrijfsregels die specifiek zijn voor ServiceNow.

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

Dit is een referentiedocumentatie om de aanpassing van bedrijfsregels te helpen. De ServiceNow-ontwikkelaars zullen de bedrijfsregels maken en beheren en ondersteuning bieden.

Cisco levert alleen voorbeelddocumentatie.

In de volgende secties vindt u informatie over het instellen, inschakelen en beheren van de widget Acties voor ontwikkelaars en ondernemingsinstanties.

De widget Updateset voor acties inschakelen

Installeer voor de gelicentieerde enterprise-exemplaren de nieuwste Webex Contact Center-app uit de ServiceNow Store.

Als u de widget Acties wilt instellen voor de ontwikkelaars, downloadt u het laatste bestand systeemupdateset XML bestand 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. Zie stappen 2 tot 9 in De updateset doorvoeren voor de widget Acties.

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 headless van de aangepaste bureaubladindeling. De eigenschap wordt altijd ingesteld op onwaar in de sectie headless van de aangepaste bureaubladindeling. Wijzig de waarde van de eigenschap alleen in het paneelgedeelte van de aangepaste bureaubladindeling.

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

  • Activiteitenrecords 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 activiteitenrecords om CRM-objecten als gesprekstype (inkomend of uitgaand), gespreksobjecten, gespreksnotities enzovoort toe te voegen aan het activiteitsrecord.
  • Incidenten beheren: klik op Incident maken. Er wordt een nieuw incident gemaakt met de gegevens van de beller die vooraf zijn ingevuld. U kunt het incident zelf de benodigde updates aanbrengen. U kunt ervoor kiezen om het recordtype voor incident tot case, HR-module enzovoort aan te passen op basis van uw wensen. Als u het recordtype wilt wijzigen, wijzigt u de waarde van de eigenschap typeOfRecord in de widgetconfiguratie Acties. Bijvoorbeeld:
    { "comp": "MD-tab-panel", "attributen": { "slot": "panel", "class": "widget-pane" }, "children": [ { "comp": "agentx-custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "properties": { "isWidgetDisplayEnabled": true, "typeOfRecord" }, "Create Incident" }, "wrapper": { "title": "SNOW-acties ", "maximizeAreaName": "app-maximizeArea-area" }
  • Live-notities toevoegen. U kunt extra informatie over het gesprek vastleggen in het tekstgebied en het gesprek afronden. U kunt deze notities toevoegen als gespreksopmerkingen in het activiteitenrecord.

Codewijziging op ServiceNow

Het script bevat wijzigingen
  1. Ga naar de filternavigator en zoek naar Script omvat.

    Selecteer het script onder Systeemgebruikersinterface.

  2. De naam filteren en zoeken naar propUtils.

  3. De methode wijzigen GebruikerGet Een id In het script.

    Curent:

    UserGet EnId: functie () { 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; },

    Nieuwe voorbeeldcode voor het incident:

    UserGet Omid: functie () { var opened_for; //Incident gerelateerde wijzigingen 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()) { sysid.inc soortid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='phone'; inc.short_description='Oproep ontvangen van '+ this.getParameter('value'); sysidlist.inc.insert(); } var grInt = new GlideRecordSecure('interactie'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefoon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; JSON.stringify(sysidlist) retourneren; },

Methodewijziging op ui-pagina's
  1. Ga naar filternavigator en zoek naar UI-pagina.

    Selecteer UI-pagina's onder Systeemgebruikersinterface.

  2. De naam filteren en zoeken naar agentdesktop.

  3. De schermpop Functie in clientscript.

    Huidige functie:

    scherm pop functie screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = nieuw Glide Depripri('propUtils'); gaout.addParam('sysparm_name', "UserGet EnId"); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid });

    Voorbeeldcode voor het incident:

    scherm pop functie screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = nieuw Glide Depripri('propUtils'); gaout.addParam('sysparm_name', "UserGet EnId"); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // For Incident-related change var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.inc indzsid){ openFrameAPI.openServiceNowForm({ entiteit: 'incident', query: 'sys_ id='+sysObj.inc aan de binnendienst, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }

Als de bellergegevens aanwezig zijn in CRM en er wordt al een nieuw incident geopend met dit contact, opent de toepassing het nieuwe incident

Als de bellergegevens niet aanwezig zijn in de CRM, wordt door de toepassing een nieuw incident geopend.

Als de bellergegevens in CRM aanwezig zijn, wordt een nieuw incident geopend met vooraf ingevulde gegevens.

Overzicht

Deze use case beschrijft het proces voor het toevoegen van een extra kolom aan de ServiceNow-tabel. Hiermee webexcc_imp_activity en maak sn_openframe_phone_log bij de installatie van de Webex CC voor ServiceNow CRM Connector.

Standaard bevat de tabel bepaalde standaardsysteemvelden en -waarden.

U kunt meer bedrijfsspecifieke variabelen (CAD-variabelen) maken in de WebexCC Flow-ontwerper en de CAD-variabelen toevoegen in het ServiceNow-logboek met activiteiten na gesprek, en deze ook behouden in de tabelgegevens van activiteiten na gesprekken.

Dit is alleen een referentiedocumentatie, en hierin wordt getoond hoe u dit kunt doen voor een voorbeeld van een CAD-variabele genaamd Klantnaam waarmee de klantnaam in de IVR wordt opgeslagen en deze in ServiceNow wordt geplaatst.

Naar verwachting zullen de partner+customer ServiceNow ontwikkelaars deze configuratie configureren en beheren omdat het een aanpassing is op de bestaande connector.

Cisco levert alleen de technieken voor het aanpassen en uitbouwen van de connector.

Sinds dit artikel heeft het Cisco-team ondersteuning gevalideerd voor de toevoeging van een CAD-variabele aan het Activiteitenlogboek en de Activiteitstabel 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 studio.

    Selecteren Webex-contactcenter

    of

  3. Selecteer het selectievakje WebExCC IMP-activiteit tafel

  4. Een nieuwe kolom toevoegen, bijvoorbeeld Naam klant

Kolom toevoegen aan telefoonlogboek

  1. De tabel met telefoonlogboeken bewerken.

  2. Een nieuwe kolom toevoegen, bijvoorbeeld Naam klant.

WebexCC Activity Transform Map

Een nieuwe kolom toevoegen, bijvoorbeeld Naam klant veldtoewijzing.

Kolommen lijst aanpassen

Zoals in Service now wordt aanbevolen, wijzigt u de bewerking Keuze van maken in negeren.

Lijst met telefoonlogboeken configureren

Ga naar Inclusief script

Slechts één lijn toevoegen webexcc.u_customername=actInfo.Klantnaam Bij propUtils.

Voorbeeldscript

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

var propUtils = Class.create(); propUtils.prototype = Object.extendsObject(global. Abstract,{ 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'); return JSON.stringify(webexccprop); }, UserGet OmId: functie () { 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 // retour null; var grInt = nieuw GlideRecord('interactie'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefoon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysid in; }, 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 =actInfo.dnis; webexcc.queuename =actInfo.wrapuptime; webexcc.callduration =actInfo.callduration =actInfo.CallDurationInSeconds; webexcc.beltijd =actInfo.beltijd; webexcc.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; Deze regel is toegevoegd- om deze vast te leggen in het Activiteitenlogboek webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Activiteiten op record incident; var actInfoString =dit.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(); } } sys_id; }, type: 'propUtils' });

Een CAD-variabele maken in Stromingsontwerper

De CAD-variabele toevoegen aan de desktopindeling

Voorbeeld

"CadName1:SnowField1,CadName2:SnowField2" CadName1 is Klantnaam SnowField1 wordt ook gebruikt als Klantnaam; dit maakt deel uit van de schaar die wordt getoond boven "actInfo.CustomerName".

Demo-schermafbeeldingen

Geef de nieuwe toegevoegde CAD-variabele in de tabel WebexCC-activiteit weer.

Cad-variabele maken voor Flow Designer

Urgentie van het incident

Impact op het incident

Script voor Service now bijwerken

Wijzigingen in het script omvat

  1. Ga naar de filternavigator en zoek naar script omvat

    Selecteer de optie Script omvat onder Systeemgebruikersinterface.

  2. Filter de naam met propUtils.

  3. De methode wijzigen GebruikerGet Een id In het veld Script .

    Huidig script:

    UserGet EnId: functie () { 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; },

    Nieuwe voorbeeldcode voor het incident:

    UserGet OmId: functie () { 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.inc .getUniqueValue();else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='phone'; inc.urgency=this.getParameter('value'); inc.impact=this.getParameter('Impact'); inc.short_description='Oproep ontvangen van '+ this.getParameter('value'); sysid.inc soortid=inc.insert(); } } var grInt = new GlideRecordSecure('interactie'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefoon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; retour JSON.stringify(sysidlist);//sysid; },

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

    Selecteer de optie UI-pagina's onder Systeeminterface.

  2. Filter de UI-pagina's met Naam en zoek naar agentdesktop.

  3. De schermpop Functie in het scriptveld.

    Huidige functie:

    scherm pop functie screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = nieuw Glide Depripri('propUtils'); gaout.addParam('sysparm_name', "UserGet EnId"); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', 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 != niet gedefinieerd) { 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 = nieuw Glide Enax('propUtils'); gaout.addParam('sysparm_name', 'UserGet Een Opn'); gaout.addParam('veld', 'telefoon'); 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.inc onderhid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.inc onder een beding, '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 bellergegevens wel in CRM aanwezig zijn en er geen nieuw of binnenkomend incident is, wordt de toepassing een nieuw incident geopend.

De code wijzigen op ServiceNow

Nieuwe kolommen toevoegen aan het WebExCC IMP-activiteit tafel

Open de WebExCC IMP-activiteit tafel

Een nieuwe kolom toevoegen - InteractionsNumber

Een nieuwe kolom - IncidentNummer toevoegen

Klik op Bijwerken.

Nieuwe kolommen toevoegen aan het Telefoonlogboek tafel

Open de Telefoonlogboek tafel

Een nieuwe kolom toevoegen - InteractionsNumber

Een nieuwe kolom - IncidentNummer toevoegen

WebexCC Activity Transform Map

Openen Kaart transformeren Van de filternavigator

Klik op WebexCC Activity TransformMap

Nieuwe toevoegen - voor Interaction Number Map

Nieuwe - voor Kaart van incidentnummer toevoegen

Klik op Bijwerken.

Wijzigingen in script omvat

  1. Ga naar filternavigator en zoek naar 'script omvat'.

    Selecteer het script onder Systeemgebruikersinterface.

  2. De naam filteren met propUtils.

  3. De methode wijzigen setWebexcctable (instellingWebexcctable).

    Nieuwe voorbeeldcode voor Incident:

    setWebexcctable: 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()) { //var actInfoString; //var actInfoString =this.getParameter('actInfo'); var inc opexid=actInfo.incident_sys_id; var interaction nu=actInfo.interaction_sys_id; var incnum""; var intenum="; verwijderen actInfo['interaction_sys_id']; actInfo verwijderen['incident_sys_id']; if( interaction een inte!= null && interaction de glijdd != undefined){ var inte = new GlideRecordSecure('interaction'); //inte.get('sys_id', interaction opinterval ); inte.addQuery('sys_id', interaction opa ); inte.query(); if (inte.next()) { intenum=inte.number; // inte.setValue('status','Afgesloten voltooid'); inte.work_notes='Status bijwerken naar gesloten.'; inte.update(); } } if( inc onder een bepaalde id!= null && inc soort != niet gedefinieerd){ var inci = new GlideRecordSecure('incident'); inci.addQuery('sys_id', inc onder een van den 24e ); 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 json 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.beltijd; 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(); } terug 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 Systeeminterface.

  2. Filter de UI-pagina's met Naam en zoek naar agentdesktop .

  3. De nowActiviteiten en screenpop Functie in het script.

    Huidige functie:

    function nowActivities(actInfo, ani) { var gaout = new Glide De voorbehandeld('propUtils'); gaout.addParam('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gaout.getXML(SetCR uitid); }

    Voorbeeldcode voor het incident:

    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.inc; } var gaout = new Glide Voorax('propUtils'); gaout.addParam('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gaout.getXML(SetC beschiid); } function screenpop(callerani,callSessionInfo) { if(callerani==callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new Glide Uitter('propUtils'); gaout.addParam('sysparm_name', 'UserGet InterfaceId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.inc onder een id){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.inc onderh, '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 versies 1.0.5 en lager. Voer de bovenstaande stappen uit voor de aanpassingen voor de nieuwere versies 1.0.7 en hoger.

Aanpassing # 1 - Aangepaste bedrijfsregels toevoegen voor use cases voor gespreksstromen

Een nieuw incidentrecord maken voor elke oproep

Maak voor elke nieuwe oproep 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 phone = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; if (fQuery == null) fQuery = ''; var-weergave = sysparm_view; if (weergave == null || weergave == '') weergave = "itil"; var userID = null; if (eid != null &&& eid != '') { userId = UserGet Watid("employee_number",eid); } if (= null &&& naam != null && naam != '') { gebruikerID = UserGet EnDId("naam", naam); } if (gebruikersnaam == null && telefoon != null && telefoon != '') { userID = UserGet En Voordid("telefoon", telefoon); } if (gebruikersID != 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; } antwoord = url; url inleveren; } functie UserGet Enid(veld, waarde) { var user = new GlideRecord("sys_user"); user.addQuery(veld, value); user.query(); if (user.next()) return user.sys_id; else return null; }

    Voorbeeld van de configuratie van de bedrijfregel

  3. Client gespreksbaar inschakelen

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

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

Voorbeeld

De sysparm_cti_rule=naam waarbij 'naam' de naam is van een functie , moet worden aangeroepen voor CTI Verwerken in plaats van het standaardscript.

Definieer de functie in een sys_script vermelding die is gemarkeerd als client beller.

Als u GlideRecords moet invoegen, bijwerken of verwijderen in de functie, belt u een afzonderlijke niet-client-gespreksfunctie om de updates uit te voeren.

Als u een scriptclient gespreksbaar wilt maken, moet u het selectievakje Client-gespreksbaar inschakelen op het formulier dat verschijnt wanneer het sys_script wordt weergegeven.

Het selectievakje client-beller wordt standaard niet weergegeven. Om te kunnen weergeven, moet u de velden op het formulier aanpassen met behulp van het tandwielpictogram en het slush bucketmechanisme.

Verwijzingen

Aanpassing # 2 - Voeg CAD-variabele toe aan Webex activiteitentabel contactcentrum

Overzicht

Dit artikel beschrijft het proces voor het toevoegen van een extra kolom aan de ServiceNow-tabel, webexcc_activity die wordt gemaakt na de installatie van de Webex CC voor ServiceNow CRM Connector.

De tabel bevat standaard systeemvelden en waarden.

U kunt mogelijk meer bedrijfsspecifieke variabelen (CAD-variabelen) in de WebexCC Flow-ontwerper maken en deze CAD-variabelen toevoegen in het logboek met ServiceNow-activiteiten na gesprekken en dit bijhouden aan detabelgegevens na gespreksactiviteit .

  • Dit is alleen referentiedocumentatie, en hierin wordt getoond hoe u dit kunt doen voor een voorbeeld van een CAD-variabele met de naam Klant waarmee de klantnaam in het IVR wordt opgeslagen en deze wordt geplaatst bij ServiceNow.

  • De partner+klant ServiceNow ontwikkelaars zullen deze configuratie configureren en beheren als het een aanpassing is op de bestaande connector.

  • Cisco zal alleen de technieken verschaffen voor het aanpassen en uitbouwen van de connector.

  • Met betrekking tot dit artikel heeft het Cisco-team ondersteuning gevalideerd voor de toevoeging van een CAD-variabele aan het Activiteitenlogboek en de activiteitstabel met behulp van de hieronder beschreven techniek.

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

  2. Ga naar het Contact Center van Studio > Webex

  3. Selecteer tabel WebExCC-activiteit .

  4. Bijvoorbeeld Klantnaam.

  5. Selecteer Lijstindeling voor WebexCC-activiteit.

Een nieuw script maken omvat

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

Voorbeeldscript

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

var propUtils2 = Class.create(); propUtils2.prototype = Object.extendsObject(global. Abstract,{ 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'); return JSON.stringify(webccprop); }, 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 regel wordt toegevoegd - om deze regel vast te leggen in webexcc van het activiteitenlogboek. u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Activiteiten op record incident; var actInfoString =dit.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(); } } } sys_id; }, type: 'propUtils2' });
De gebruikersinterface-pagina bewerken met een nieuwe scriptnaam

Een CAD-variabele maken in Stromingsontwerper

De CAD-variabele toevoegen aan de desktopindeling

Demo-schermafbeeldingen

Geef de nieuwe toegevoegde CAD-variabele in de tabel WebexCC-activiteit weer.