Integrer Webex kontaktcenter med ServiceNow
Når du integrerer Webex Contact Center med ServiceNow CRM-konsollen, kan du starte Webex Contact Center Desktop inde fra ServiceNow.
Forudsætninger
Før du integrerer Webex kontaktcenter med ServiceNow CRM-konsollen, skal du sikre dig, at du har følgende:
-
Adgang til Webex kontaktcenter.
-
Administratoradgang til Control Hub på https://admin.webex.com og Webex Contact Center Management Portal. URL-adresserne til Management Portal er specifikke for dit område.
-
Nordamerika: https://portal.wxcc-us1.cisco.com
-
Storbritannien: https://portal.wxcc-eu1.cisco.com
-
Singapore: https://portal-v2.wxcc-sg1.cisco.com
-
-
En agent med adgang til skrivebordet. URL-adressen til skrivebordet er specifik for dit område.
-
Nordamerika: https://desktop.wxcc-us1.cisco.com
-
Storbritannien: https://desktop.wxcc-eu1.cisco.com
-
Singapore: https://desktop.wxcc-sg1.cisco.com
-
-
Agentadgang til følgende domæne, der tilføjes på listen Tilladt indholdssikkerhedspolitik:
-
*.service-now.com
Du kan finde flere oplysninger om, hvordan du definerer listen over tilladte, i artiklen Sikkerhedsindstillinger for Webex kontaktcenter.
-
-
En ServiceNow udviklerportalkonto. For at oprette en konto skal du gå til ServiceNow-udviklerportalen på https://developer.servicenow.com/dev.do og klikke på Tilmeld dig og begynd at bygge.
-
Adgang til følgende filer på https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
ServiceNow Update Set (XML)
-
ServiceNow skrivebordslayout for kontaktcenter (JSON)
-
- De ServiceNow-udgaver, som Webex Contact Center understøtter, er Vancouver, Utah, Tokya, Washington og Xanadu. Du kan finde flere oplysninger Webex Kontaktcenterintegration med ServiceNow.
Følg en af de to metoder nedenfor:
For udviklerforekomster anbefaler vi, at du følger trinnene i udviklerforekomstvejledningen.
Hvis du ejer en virksomhedslicenseret forekomst, skal du følge retningslinjerne for virksomhedslicenserede forekomster.
Vi anbefaler ikke, at du blander den virksomhedslicenserede app med sandkasseforekomster for udviklere.
I følgende afsnit beskrives trinnene til installation af ServiceNow-connectoren for udviklerforekomster.
1 |
Logge på din ServiceNow-udviklerportalkonto og åbne administrationskonsollen . |
2 |
Fra området Min forekomst i menuen Konto skal du klikke på Start opbygning. |
3 |
På din udviklerforekomst skal du fra feltet Filternavigator øverst til venstre i vinduet navigere til Plugins. |
4 |
Søg efter Openframe-pluginet, der har titlen Openframe. Du skal muligvis rulle gennem listen. |
5 |
Klik på Installer for at installere Openframe-plugin'et. |
6 |
I dialogboksen Aktivér plugin skal du klikke på Aktivér. |
7 |
Når plugin-aktiveringen er fuldført, skal du klikke på Luk & Genindlæs formular i dialogboksen Plug-in-aktivering . |
8 |
For at bekræfte plugin-aktiveringen skal du navigere til OpenFrame fra feltet Filternavigator øverst tilvenstre i vinduet. |
9 |
Klik på Konfigurationer , og sørg for, at OpenFrame-plugin'et vises på listen OpenFrame-konfigurationer . |
1 |
Download den nyeste XML fil med systemopdateringssæt, der er tilgængelig på github-lageret på denne placering : https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. Filnavn: webexcc-servicenow-update-setV(X).xml |
2 |
På din ServiceNow-forekomst skal du fra feltet Filternavigator øverst til venstre i vinduet navigere til . |
3 |
Klik på linket Importer opdateringssæt fra XML . |
4 |
Klik på Vælg fil, vælg XML filen Systemopdateringssæt, og klik derefter på Overfør.
Opdateringssættet vises på listen Hentede opdateringssæt og er i indlæst tilstand.
|
5 |
Klik på navnet Opdater sætfil (link) på listen Hent opdateringssæt for at åbne opdateringssættet. |
6 |
Klik på Se eksempel på opdateringssæt øverst til højre i vinduet for at kontrollere opdateringssættet for problemer. |
7 |
Klik på Luk i dialogboksen Opdater Vis eksempel, når eksempelvisningen er fuldført. |
8 |
Klik på Beskriv opdateringssæt. |
9 |
Klik på Luk i dialogboksen Commit for Update Set, når bekræftelsen af Update Set er fuldført. |
1 |
Skriv sys_properties.list i feltet Filternavigator |
2 |
På siden Systemegenskaber skal du sortere egenskaberne efter opdateringsdato. Sørg for, at du kan se følgende Webex egenskaber for kontaktcenter: |
3 |
Klik på agentdesktop_url for at åbne siden Systemegenskab agentdesktop_url side. |
4 |
I feltet Værdi skal du angive URL-adressen til Webex Contact Center Desktop i henhold til aktivitetsområdet.
|
5 |
Klik på Opdater for at gemme ændringerne. |
6 |
(Valgfrit) Hvis du vil ændre navnet på aktivitetstabellen, skal du redigere egenskaberne webexccactivitytable efter behov. På siden Systemegenskaber skal du klikke på webexccactivitytable. Rediger feltet Værdi efter behov. |
7 |
(Valgfrit) Tilføj brugergrupper på følgende måder:
|
1 |
Fra feltet Filternavigator skal du navigere til . |
2 |
Klik på Ny. |
3 |
Angiv følgende egenskaber for URL-adressen:
|
4 |
Til højre for URL-feltet skal du klikke på knappen Lås og tilføje |
5 |
(Valgfrit) Vælg den bruger/de agentgrupper, der skal tildeles konfigurationen. |
6 |
Klik på Send. URL-adressen vises som et link. |
7 |
Før du forsøger at bruge OpenFrame-telefonen, skal du sørge for at overføre den brugerdefinerede JSON-fil til ServiceNow-skrivebordslayout til Webex Contact Center Management Portal. For yderligere oplysninger, se Konfigurere ServiceNow-skrivebordslayoutet på Webex kontaktcenter. |
1 |
Download skrivebordslayoutet til ServiceNow fra https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
Opdater egenskaberne i filen Skrivebordslayout, hvis det er nødvendigt. |
3 |
Gå til Webex kontaktcenteradministrationsportalen. |
4 |
På navigationslinjen i Management Portal skal du vælge . |
5 |
Klik på Nyt layout , og angiv detaljerne for skrivebordslayoutet. |
6 |
Upload ServiceNow Desktop Layout JSON-filen. |
7 |
Klik på Gem for at gemme konfigurationen. Du kan nu starte Webex Contact Center Desktop i ServiceNow-konsollen. |
8 |
Fra feltet Filternavigator skal du navigere til Service Operations. |
I følgende afsnit beskrives trinnene til installation af ServiceNow-connectoren for licenserede virksomhedsforekomster.
1 |
Logge på din ServiceNow-udviklerportalkonto og åbne administrationskonsollen . |
2 |
Fra området Min forekomst i menuen Konto skal du klikke på Start opbygning. |
3 |
På din udviklerforekomst skal du fra feltet Filternavigator øverst til venstre i vinduet navigere til Plugins. |
4 |
Søg efter Openframe-pluginet, der har titlen Openframe. Du skal muligvis rulle gennem listen. |
5 |
Klik på Installer for at installere Openframe-plugin'et. |
6 |
I dialogboksen Aktivér plugin skal du klikke på Aktivér. |
7 |
Når plugin-aktiveringen er fuldført, skal du klikke på Luk & Genindlæs formular i dialogboksen Plug-in-aktivering . |
8 |
For at bekræfte plugin-aktiveringen skal du navigere til OpenFrame fra feltet Filternavigator øverst til venstre i vinduet. |
9 |
Klik på Konfigurationer , og sørg for, at OpenFrame-plugin'et vises på listen OpenFrame-konfigurationer . |
Forekomster, der har virksomhedslicenser, kan installere Webex Contact Center-applikationen direkte fra ServiceNow Store.
Hent og installer Webex Contact Center-pakken fra ServiceNow-butikken: https://store.servicenow.com/sn_appstore_store.do#!/store/application/6c8e2a4edbc73410e1c75e25ca961947. |
1 |
I feltet Filternavigator øverst til venstre i vinduet skal du indtaste |
2 |
På siden Systemegenskaber skal du sortere egenskaberne efter opdateringsdato. Sørg for, at du kan se følgende Webex egenskaber for kontaktcenter: |
3 |
Klik på agentdesktop_url for at åbne siden Systemegenskab agentdesktop_url side. |
4 |
I feltet Værdi skal du angive URL-adressen til Webex Contact Center Desktop i henhold til aktivitetsområdet.
|
5 |
Klik på Opdater for at gemme ændringerne. |
6 |
(Valgfrit) Hvis du vil ændre navnet på aktivitetstabellen, skal du redigere egenskaberne for x_caci_webexcc.webexccactivitytable efter behov.
|
7 |
(Valgfrit) Tilføj brugergrupper på følgende måder:
|
1 |
Fra feltet Filternavigator skal du navigere til . |
2 |
Klik på Ny. |
3 |
Angiv følgende egenskaber for URL-adressen:
|
4 |
Til højre for URL-feltet skal du klikke på knappen Lås og tilføje |
5 |
(Valgfrit) Vælg den bruger/de agentgrupper, der skal tildeles konfigurationen. |
6 |
Klik på Send. URL-adressen vises som et link. |
7 |
Fra feltet Filternavigator skal du navigere til Service Operations. |
8 |
(Valgfrit) På listen Brugergruppe skal du flytte de brugergrupper, der har adgang til Webex Contact Center Desktop fra Tilgængelig til Valgt. |
9 |
Før du forsøger at bruge OpenFrame-telefonen, skal du sørge for at overføre den brugerdefinerede JSON-fil til ServiceNow-skrivebordslayout til Webex Contact Center Management Portal. For yderligere oplysninger, se Konfigurere ServiceNow-skrivebordslayoutet på Webex kontaktcenter. |
1 |
Download skrivebordslayoutet til ServiceNow fra https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
Opdater egenskaberne i filen Skrivebordslayout, hvis det er nødvendigt. |
3 |
Gå til Webex kontaktcenteradministrationsportalen. |
4 |
På navigationslinjen i Management Portal skal du vælge . |
5 |
Klik på Nyt layout , og angiv detaljerne for skrivebordslayoutet. |
6 |
Upload ServiceNow Desktop Layout JSON-filen. |
7 |
Klik på Gem for at gemme konfigurationen. Du kan nu starte Webex Contact Center Desktop i ServiceNow-konsollen. |
8 |
Fra feltet Filternavigator skal du navigere til Service Operations. |
1 |
Fra feltet Filternavigator skal du navigere til Hændelser > Åbn hændelse. |
2 |
Højreklik på opkaldsfeltet, og klik på Konfigurer ordbog. |
3 |
Tilføj kommaseparerede attributter Du kan nu begynde at bruge Webex Contact Center Desktop i ServiceNow-konsollen. |
4 |
Fra feltet Filternavigator skal du navigere til . |
Agent Desktop i ServiceNow-konsollen
Før du foretager udgående opkald, skal du sikre dig, at du gør følgende:
-
Opret det udgående indgangspunkt, og konfigurer en strategi for udgående indgangspunkt.
-
Aktivér udgående ANI for agentprofilen.
-
Indstil det udgående ANI til en opkaldsnummer-til-indgangspunkt-tilknytning.
Du kan finde flere oplysninger i kapitlet Klargøring i Cisco Webex Contact Center Opsætnings- og administrationsvejledning.
Fra feltet Filternavigator skal du navigere til Service Operations.
Du kan finde oplysninger om, hvordan du bruger Desktop, under fanen Agent i Webex Contact Center Hjælp.
Oversigt
I denne artikel beskrives flere måder, hvorpå du kan tilpasse dine forretningsregler for ServiceNow CRM-connectoren. Den beskriver, hvordan du kan tilpasse use cases baseret på forretningsregler, der er specifikke for ServiceNow.
Kunden skal selv administrere disse use cases på ServiceNow. Konfigurationen er specifik for ServiceNow og Webex ikke Contact Center-software eller -ekspertise.
Dette er en referencedokumentation, der hjælper med at ændre forretningsregler. ServiceNow-udviklerne opretter og administrerer forretningsreglerne og yder support.
Cisco leverer kun eksempeldokumentation.
Følgende afsnit indeholder oplysninger om, hvordan du konfigurerer, aktiverer og administrerer widgetten Handlinger for udvikler- og virksomhedsforekomster.
Send widgetten Opdater sæt til handlinger
For de licenserede virksomhedsforekomster skal du installere den nyeste Webex kontaktcenterapp fra ServiceNow-butikken .
Hvis du vil konfigurere widgetten Handlinger for udviklerforekomsterne, skal du downloade den nyeste XML fil med systemopdateringssæt, der er tilgængelig på github-lageret på denne placering: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Filnavnet er webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Hvis du vil bekræfte opdateringen af widgetten Handlinger, skal du se trin 2 til 9 i Send opdateringssættet.
Widgetten Aktivér handlinger
Brug egenskaben isWidgetDisplayEnabled til at aktivere widgetten Handlinger. Du må ikke ændre denne egenskabs værdi i det brugerdefinerede skrivebordslayouts konsolløse sektion. Egenskaben er altid angivet til falsk i det brugerdefinerede skrivebordslayouts konsolløse sektion. Du bør kun opdatere egenskabens værdi i panelafsnittet i det brugerdefinerede skrivebordslayout.
Når du har aktiveret widgetten Handlinger i det brugerdefinerede skrivebordslayout, kan du udføre følgende handlinger:
- Administrer aktivitetsposter – Klik på Vis/rediger aktivitetspost for at få vist listen over aktivitetsposter, der er tilknyttet opkalderen.
- Tilknyt CRM-objekter – Klik på Knyt til aktivitetsposter for at føje CRM-objekter, f.eks. opkaldstype (indgående eller udgående), opkaldsobjekt, opkaldsnoter osv. til aktivitetsposten.
- Administrer hændelser – Klik på Opret hændelse. Der oprettes en ny hændelse med oplysninger om den person, der ringer op, udfyldt på forhånd. Du kan foretage de nødvendige opdateringer af hændelsen. Du kan vælge at ændre posttypen fra hændelse til sag, HR-modul osv. baseret på dine krav. Hvis du vil ændre posttypen, skal du redigere værdien af egenskaben typeOfRecord i konfigurationen af widgetten Handlinger. For eksempel:
{ "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" : "Create Incident" }, "wrapper": { "title": "SNOW Actions!", "maximizeAreaName": "app-maximize-area" } } ] }
- Tilføj noter om liveopkald – Du kan registrere yderligere oplysninger om opkaldet i tekstområdet og afslutte opkaldet. Du kan se disse noter tilføjet som opkaldsnoter i aktivitetsposten.
Kodeændring på ServiceNow
Scriptet indeholder ændringer-
Gå til filternavigator, og søg efter
Script indeholder
.Vælg scriptet under Systemgrænseflade.
-
Filtrer navnet , og søg efter
propUtiler
. -
Ændre metoden
UserGetSysId
I scriptet .Kurat:
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= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },
Ny prøvekode for hændelsen:
UserGetSysId: function () { var opened_for; //Incident related changes var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', opened_for); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='phone'; inc.short_description='Call received from '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = ny GlideRecordSecure ('interaktion'); grInt.initialiser (); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid = sysid; returnere JSON.stringify (sysidlist); },
-
Gå til filternavigator, og søg efter
UI-siden
.Vælg sider med brugergrænsefladen under Systemgrænseflade.
-
Filtrer navnet , og søg efter
agentdesktop
. -
Ændre
Screenpop
Funktion i klientscript.Aktuel funktion:
screen pop-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: 'interaction', forespørgsel: 'sys_id='+sysid });
Eksempelkode for hændelsen:
screen pop-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(); // For Incident-related change var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', forespørgsel: 'sys_ id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }
Hvis opkaldsoplysningerne findes i CRM, og der allerede er åbnet en ny hændelse med denne kontakt, åbner programmet den igangværende hændelse
Hvis opkaldsoplysningerne ikke findes i CRM, åbner programmet en ny hændelse
Hvis opkaldsoplysningerne findes i CRM, åbner programmet en ny hændelse med forudfyldte detaljer
Oversigt
Denne use case beskriver processen med at tilføje en ekstra kolonne til ServiceNow-tabellen - webexcc_imp_activity og oprette sn_openframe_phone_log ved installationen af Webex CC til ServiceNow CRM Connector.
Som standard indeholder tabellen visse systemfelter og værdier, der er standard.
Du kan oprette flere forretningsspecifikke variabler (CAD-variabler) inde i WebexCC Flow-designeren og tilføje CAD-variablerne inde i ServiceNow-aktivitetsloggen efter opkald samt bevare dette til tabeldataene efter opkaldsaktivitet.
Dette er kun en referencedokumentation - og viser, hvordan du gør dette for en CAD-eksempelvariabel kaldet Kundenavn, der gemmer kundenavnet i IVR og sender dette til ServiceNow.
Det forventes, at partner+kundeserviceNow-udviklerne vil konfigurere og administrere denne konfiguration, da det er en tilpasning af den eksisterende connector.
Cisco leverer kun teknikkerne til tilpasning og udvidelse af stikket.
Fra og med denne artikel har Cisco-teamet valideret understøttelse af tilføjelse af CAD-variabler til aktivitetsloggen og aktivitetstabellen ved hjælp af den teknik, der er beskrevet nedenfor:
Føj kolonne til WebexCC IMP-aktivitet
-
Rediger tabellen i udviklerversionen af ServiceNow.
-
Gå til filternavigatoren, og søg efter studie.
Vælg
Cisco Webex Contact Center
eller
-
Markér feltet
WebexCC IMP-aktivitet
bord -
Tilføj en ny kolonne, f.eks.
CustomerName
Føj kolonne til telefonlog
-
Rediger telefonlogtabellen.
-
Tilføj en ny kolonne, f.eks.
CustomerName
.
Kort over WebexCC-aktivitetstransformering
Tilføj en ny kolonne, f.eks. CustomerName
felttilknytning.
Tilpasse listekolonner
Som Service nu anbefaler, skal du ændre handlingen Valg fra Opret til Ignorer.
Konfigurer liste over telefonlogfiler
Gå til Script Inkluder
Tilføj kun én linje webexcc.u_customername=actInfo.CustomerName
Til propUtils.
Eksempel på script
Se linjen: webexcc.u_customername=actInfo.CustomerName; med en understøttende 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 // returner null; var grInt = ny GlideRecord ('interaktion'); grInt.initialiser (); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); returnere sysid; }, setWebexcctable: function () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable')); webexcc.addQuery("callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { webexcc.ani = actInfo.ani; webexcc.dnis =actInfo.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds; webexcc.ringingtime = actInfo.ringingtime; webexcc.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; Denne linje tilføjes - for at registrere den i aktivitetsloggen webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Aktiviteter på hændelsesrekord; var actInfoString =this.getParameter ('actInfo'); var suser = ny GlideRecordSecure ("sys_user"); suser.addQuery ("telefon", 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(); } } } vende tilbage sys_id; }, type: 'propUtils' });
Opret en CAD-variabel i flowdesigner
Føj CAD-variablen til skrivebordslayoutet
Eksempel
"CadName1:SnowField1,CadName2:SnowField2" CadName1 er CustomerName SnowField1 bruges også som CustomerName, som er en del af eksemplet på scirpt showen ovenfor "actInfo.CustomerName".
Demo skærmbilleder
Se den nyligt tilføjede CAD-variabel i WebexCC-aktivitetstabellen.
Opret CAD-variabel til flowdesigner
Hændelsens hastende karakterHændelsens indvirkning
Opdatering af Service Now-script
Opdateringer til scriptet omfatter
-
Gå til filternavigatoren, og søg efter
script inkluderer
Vælg indstillingen Script inkluderer under Systemgrænseflade.
-
Filtrer navnet med
propUtils
. -
Ændre metoden
UserGetSysId
I feltet Script .Nuværende script:
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= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },
Ny prøvekode for hændelsen:
UserGetSysId: function () { var opened_for; var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', opened_for); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); } else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='phone'; inc.urgency=this.getParameter('IncUrgency'); inc.impact=this.getParameter('Impact'); inc.short_description='Opkald modtaget fra '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = ny GlideRecordSecure ('interaktion'); grInt.initialiser (); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid = sysid; returnere JSON.stringify(sysidlist);//sysid; },
-
Gå til filternavigatoren, og søg efter sider
i
brugergrænsefladen.Vælg indstillingen Brugergrænsefladesider under Systemgrænseflade.
-
Filtrer siderne på brugergrænsefladen med Navn, og søg efter
agentdesktop
. -
Ændre
Screenpop
Funktion i feltet Script.Aktuel funktion:
screen pop-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: 'interaction', forespørgsel: 'sys_id='+sysid }); }
Eksempelkode for hændelsen:
screen pop-funktion 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('felt', 'telefon'); gaout.addParam('værdi', 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', forespørgsel: '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)); }
Hvis opkaldsoplysningerne findes i CRM, og der ikke er nogen ny eller igangværende hændelse, åbner programmet en ny hændelse
Skift koden på ServiceNow
Føj nye kolonner til WebexCC IMP-aktivitet
bord
Åbn WebexCC IMP-aktivitetbord Tilføj en ny kolonne - InteraktionsNumber Tilføj en ny kolonne - IncidentNumber
Klik på Opdater.
Føj nye kolonner til Telefonlogfil
bord
Åbn Telefonlogfil
bord
Kort over WebexCC-aktivitetstransformering
Åbn Transformér kort
Fra filternavigatoren
Klik på WebexCC-aktivitetstransformkort
Klik på Opdater.
Ændringer af scriptet omfatter
-
Gå til filternavigator, og søg efter "script inkluderer".
Vælg scriptet under Systemgrænseflade.
-
Filtrer navnet med
propUtiler
. -
Ændre metoden
setWebexcctable
.Ny prøvekode for hændelse:
setWebexcctable: function () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('webexccactivitytable')); webexcc.addQuery("u_callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { //Activities on Incident record; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; slet actInfo['interaction_sys_id']; slet actInfo['incident_sys_id']; if( interactionsysid!= null && interactionsysid != undefined){ var inte = new GlideRecordSecure('interaction'); //inte.get('sys_id', interactionsysid ); inte.addQuery('sys_id', interactionsysid ); inte.query(); if (inte.next()) { intenum=inte.number; // inte.setValue('state','Closed Complete'); inte.work_notes='Update State to closed.' inte.update(); } } if( incsysid!= null && incsysid != undefined){ var inci = new GlideRecordSecure('incident'); inci.addQuery('sys_id', incsysid ); inci.query(); if (inci.next()) { incnum=inci.number; var jsonPretty = JSON.stringify(actInfo,null,2); //JSON.stringify(JSON.parse(actInfoString),null,2); inci.comments =jsonPretty; inci.update(); } } else{ var suser = new GlideRecordSecure("sys_user"); suser.addQuery("telefon", 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(); } returnere sys_id; },
Metodeændringer på sider i brugergrænsefladen
-
Gå til filternavigator, og søg efter
Brugergrænsefladesider
Vælg indstillingen Brugergrænsefladesider under Systemgrænseflade.
-
Filtrer siderne på brugergrænsefladen med Navn, og søg efter
agentdesktop
. -
Ændre
nuAktiviteter og screenpop
Funktion i scriptet.Aktuel funktion:
funktion 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); }
Eksempelkode for hændelsen:
funktion 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); } 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(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', forespørgsel: '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)); }
Resultater efter opdateringen
Følgende tilpasninger gælder for version 1.0.5 og ældre. For tilpasninger til de nyere versioner 1.0.7 og nyere skal du følge trinnene ovenfor.
Tilpasning # 1 – Tilføj brugerdefinerede forretningsregler for use cases for opkaldsflow
Oprette en ny hændelsespost for hvert opkaldFor hvert nyt opkald til WebexCC CRM-connectoren i ServiceNow skal du oprette en ny hændelsespost.
Søg efter forretningsregler i filternavigatoren
Klik på Ny.
Eksempelkode til reference:
funktion customcti() { var url = null; var name = sysparm_caller_name; eid = sysparm_caller_id; var phone = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; if (fQuery == null) fQuery = ''; var view = sysparm_view; if (view == null || view == '') view = "itil"; var userID = null; if (eid != null && eid != '') { userID = UserGetSysId ("employee_number",eid); } if (userID == null && name != null && name != '') { userID = UserGetSysId ("navn", navn); } if (userID == null && phone != null && phone != '') { userID = UserGetSysId ("telefon", telefon); } if (userID != null) { if (fQuery.length > 0) fQuery += "ˆ"; fQuery += "caller_id=" + userID; } if (url == null) { url = "incident.do?sys_id=-1"; if (fQuery != null) url += "&sysparm_query=" + fQuery; } answer = url; returnere URL; } funktion UserGetSysId(field, value) { var user = new GlideRecord("sys_user"); user.addQuery(field, value); user.query(); if (user.next()) return user.sys_id; ellers return null; }
Eksempelkonfiguration af forretningsreglen
Aktivér klient, der kan kaldes
Computer Telephony Integration (CTI) Behandling for hændelse er markeret som Sand.
Opdater screenpop-url'en med den brugerdefinerede CTI-regel " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="
Det sysparm_cti_rule=navn , hvor 'navn' er navnet på en funktion , skal påberåbes CTI Behandling i stedet for at bruge standardscriptet.
Definer funktionen i en sys_script post, der er markeret som klient, der kan kaldes.
Hvis du skal indsætte, opdatere eller slette GlideRecords i funktionen, skal du kalde en separat ikke-klientkaldbar funktion for at udføre opdateringerne.
Hvis du vil gøre et script klientkaldbart, skal du markere afkrydsningsfeltet for klientkaldbare i den formular, der vises, når posten sys_script vises.
Afkrydsningsfeltet for klienten vises ikke som standard. For at se skal du ændre de felter, der vises på formularen, ved hjælp af tandhjulsikonet og slush bucket-mekanismen.
Tilpasning # 2 - Tilføj CAD-variabel i Webex kontaktcenteraktivitetstabel
OversigtI denne artikel beskrives processen til tilføjelse af en ekstra kolonne til ServiceNow-tabellen - webexcc_activity, der oprettes ved installationen af Webex CC for ServiceNow CRM Connector.
Tabellen indeholder som standard systemfelter og værdier, der er standard.
Du kan potentielt oprette flere forretningsspecifikke variabler (CAD-variabler) inde i WebexCC Flow-designeren og tilføje disse CAD-variabler i ServiceNow-aktivitetsloggen efter opkald og bevare dette til tabeldataene efter opkaldsaktivitet.
-
Dette er kun referencedokumentation - og viser, hvordan du gør dette for en CAD-eksempelvariabel kaldet Kundenavn, der gemmer kundenavnet i IVR og sender dette til ServiceNow.
-
Partner+kunden ServiceNow-udviklerne konfigurerer og administrerer denne konfiguration, da det er en tilpasning af den eksisterende connector.
-
Cisco leverer kun de teknikker, der bruges til at tilpasse og udvide stikket.
-
Fra og med denne artikel har Cisco-teamet valideret understøttelse af tilføjelse af CAD-variabler til aktivitetsloggen og aktivitetstabellen ved hjælp af den teknik, der er beskrevet nedenfor.
Rediger tabellen i udviklerversionen af ServiceNow.
Gå til
.Vælg WebexCC-aktivitetstabel .
f.eks. . CustomerName.
Vælg Listelayout for WebexCC-aktivitet.
Dette trin er ikke påkrævet, hvis du bruger Update Set XML – Der kræves kun én linje, før der tilføjes "webexcc.u_customername=actInfo.CustomerName" til proUtils.
Eksempel på script
Se linjen med:webexcc.u_customername=actInfo.CustomerName; med en understøttende kommentar.
var propUtils2 = klasse.create(); propUtils2.prototype = Object.extendsObject(global. AbstractAjaxProcessor,{ getWebexccProp: function () { var webexccprop = {}; webexccprop.instanceurl= 'https://'+gs.getProperty('instance_name')+'.service-now.com/'; webexccprop.url=gs.getProperty('x_caci_webexcc.agentdesktop_url'); webexccprop.popupurl=gs.getProperty('x_caci_webexcc.screenpop_url'); return JSON.stringify(webexccprop); }, setWebexcctable: function () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_ webexcc.webexccactivitytable')); webexcc.addQuery ("callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { webexcc.ani = actInfo.ani; webexcc.dnis =actInfo.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds; webexcc.ringingtime =actInfo.ringingtime; webexcc.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; // Denne linje er tilføjet - for at registrere den i aktivitetsloggen webexcc. u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Aktiviteter på hændelsesrekord; var actInfoString =this.getParameter ('actInfo'); var suser = ny GlideRecordSecure ("sys_user"); suser.addQuery ("telefon", 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(); } } } vende tilbage sys_id; }, type: 'propUtils2' });
Rediger siden Brugergrænseflade med et nyt scriptnavnOpret en CAD-variabel i flowdesigner
Føj CAD-variablen til skrivebordslayoutet
Demo skærmbilleder
Se den nyligt tilføjede CAD-variabel i WebexCC-aktivitetstabellen.