Integrer Webex Contact Center med ServiceNow (version 1 – ældre)
Forudsætninger
I øjeblikket gælder denne funktion kun for agenter.
Inden du integrerer Webex-kontaktcenter med ServiceNow CRM-konsollen, skal du sikre, at du har følgende:
-
Adgang til Webex-kontaktcenter.
-
Administratoradgang til Control Hub på https://admin.webex.com og Webex-kontaktcenters administrationsportal. URL-adresserne for administrationsportalen er specifikke for din region.
-
En agent med adgang til desktoppen. URL-adressen for desktoppen er specifik for din region.
-
Agentadgang til følgende domæne, der er tilføjet i listen over tilladte indholdssikkerhedspolitik:
-
*.service-now.com
For yderligere oplysninger om, hvordan man definerer den tilladte liste, se artiklen Sikkerhedsindstillinger for Webex-kontaktcenter.
-
-
En ServiceNow-udviklerportalkonto. For at oprette en konto skal du gå til ServiceNow-udviklerportalen på og klikke på Tilmeld dig og begynde at https://developer.servicenow.com/dev.do opbygge.
-
Adgang til følgende filer på https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
ServiceNu et opdateringssæt (XML)
-
ServiceNow Contact Center-desktoplayout (JSON)
-
- De ServiceNow-udgaver, som Webex Contact Center understøtter, er Vancouver, Utah, Tokya, Washington og Xanadu. Få flere oplysninger i Webex Contact Center-integration med ServiceNow.
Følg en af de to metoder nedenfor:
For udviklerforekomster anbefaler vi, at du følger trinnene under vejledningen til udviklerforekomster.
Hvis du ejer en forekomst med virksomhedslicens, skal du følge retningslinjerne for forekomster med virksomhedslicens.
Vi anbefaler ikke at blande den virksomhedslicenserede app med udviklersandkasseforekomster.
Følgende afsnit beskriver trinnene til installation af ServiceNow-forbindelsen for udviklerforekomster.
1 |
Log ind på din ServiceNow-udviklerportalkonto, og åbn administrationskonsollen . |
2 |
Fra området Min forekomst i menuen Konto skal du klikke på Start bygning. |
3 |
I din udviklerforekomst skal du fra feltet Filternavigator øverst til venstre i vinduet navigere til Plugins. |
4 |
Søg efter Openframe-plugin, der har titlen Openframe. Du skal muligvis rulle gennem listen. |
5 |
Klik på Installer for at installere Openframe-plugin'et. |
6 |
I fanen Aktiver plugin dialogboks klik på Aktivér. |
7 |
Når plugin-aktiveringen er fuldført, skal du klikke på Luk og genindlæs formular i dialogboksen Plugin-aktivering . |
8 |
Du kan verificere plugin-aktivering ved at gå til OpenFrame i feltet Filter navigator øverst til venstre i vinduet. |
9 |
Klik på Konfigurationer , og sørg for, at OpenFrame-plugin'et vises på listen OpenFrame-konfigurationer . |
1 |
Download den seneste systemopdateringssæt XML-fil, der er tilgængelig på github-repo på denne placering: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. Filnavn: webexcc-servicenow-update-setV(X).xml |
2 |
I din ServiceNow-forekomst skal du fra feltet Filternavigator øverst til venstre i vinduet navigere til . |
3 |
Klik på linket Importer opdatering indstillet fra XML . |
4 |
Klik på Vælg fil, vælg XML-filen for systemopdatering, og klik derefter på Overfør.
Opdateringen vises på listen Hentede opdateringssæt og er i tilstanden Indlæst .
|
5 |
Fra listen Hentede opdateringssæt skal du klikke på filnavnet Opdateringssæt (link) for at åbne opdateringssættet. |
6 |
I øverste højre hjørne af vinduet skal du klikke på Forvisning af opdater indstillet for at kontrollere den opdatering, der er indstillet for problemer. |
7 |
Klik på Luk i dialogboksen Opdater Indstil forhåndsvisning, når forhåndsvisningen er fuldført. |
8 |
Klik på Indstil opdatering. |
9 |
Klik på Luk i dialogboksen Tilslutning til opdateringssæt , når tilslutning af opdateringssæt er fuldført. |
1 |
I feltet Filternavigator øverst til venstre i vinduet skal du skrive |
2 |
På siden Systemegenskaber , sorter egenskaberne efter opdateret dato. Kontroller, at du kan se følgende webex-kontaktcenteregenskaber : |
3 |
Klik agentdesktop_url for at åbne siden Systemegenskab agentdesktop_url . |
4 |
I feltet Værdi skal du indtaste URL-adressen til Webex Contact Center Desktop i henhold til driftsområdet. |
5 |
Klik på Opdater for at gemme ændringerne. |
6 |
(Valgfri) Hvis du vil ændre navnet på aktivitetstabel, skal du redigere de webexccactivitytable egenskaber efter behov. På siden Systemegenskaber skal du klikke på Webexccactivitytable. Rediger feltet Værdi efter behov. |
7 |
(Valgfri) Tilføj brugergrupper på følgende måder:
|
1 |
Fra feltet Filter navigator skal du navigere til |
2 |
Klik på Ny. |
3 |
Angiv følgende egenskaber for URL-adressen:
|
4 |
Til højre for feltet URL-adresse skal du klikke på knappen Lås og tilføje |
5 |
(Valgfri) Vælg bruger/agentgruppe(r) for at tildele konfigurationen. |
6 |
Klik på Indsend. URL-adressen vises som et link. |
7 |
Før du forsøger at bruge OpenFrame-telefonen, skal du sørge for, at du overfører den ServiceNow brugerdefinerede JSON-fil til Webex-kontaktcenters administrationsportal. Få flere oplysninger i Konfigurer ServiceNow-desktoplayoutet på Webex Contact Center. |
1 |
Download desktoplayoutet til ServiceNow fra https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
Opdater egenskaberne i filen Desktop Layout, hvis det er nødvendigt. |
3 |
Gå til Webex-kontaktcenters administrationsportal . |
4 |
Fra navigationsbjælken i Management Portal skal du vælge |
5 |
Klik på Nyt layout , og indtast oplysningerne om desktop-layoutet. |
6 |
Overfør ServiceNow desktop layout JSON-fil. |
7 |
Klik på Udfør for at gemme konfigurationen. Du kan nu starte Webex-kontaktcenterskrivebord inden for ServiceNow-konsollen. |
8 |
Fra feltet Filternavigator skal du navigere til . |
Følgende afsnit beskriver trinnene til installation af ServiceNow-forbindelsen for licenserede virksomhedsforekomster.
1 |
Log ind på din ServiceNow-udviklerportalkonto, og åbn administrationskonsollen . |
2 |
Fra området Min forekomst i menuen Konto skal du klikke på Start bygning. |
3 |
I din udviklerforekomst skal du fra feltet Filternavigator øverst til venstre i vinduet navigere til Plugins. |
4 |
Søg efter Openframe-plugin, der har titlen Openframe. Du skal muligvis rulle gennem listen. |
5 |
Klik på Installer for at installere Openframe-plugin'et. |
6 |
I fanen Aktiver plugin dialogboks klik på Aktivér. |
7 |
Når plugin-aktiveringen er fuldført, skal du klikke på Luk og genindlæs formular i dialogboksen Plugin-aktivering . |
8 |
Du kan verificere plugin-aktivering ved at gå til OpenFrame i feltet Filter navigator øverst til venstre i vinduet. |
9 |
Klik på Konfigurationer , og sørg for, at OpenFrame-plugin'et vises på listen OpenFrame-konfigurationer . |
Forekomster med virksomhedslicenser kan installere Webex Contact Center-applikationen direkte fra ServiceNow Store.
Download og installer Webex Contact Center-pakken fra ServiceNow-butikken: https://store.servicenow.com/sn_appstore_store.do#!/store/application/6c8e2a4edbc73410e1c75e25ca961947. |
1 |
I feltet Filter navigator øverst til venstre i vinduet skal du indtaste |
2 |
På siden Systemegenskaber , sorter egenskaberne efter opdateret dato. Kontroller, at du kan se følgende webex-kontaktcenteregenskaber : |
3 |
Klik agentdesktop_url for at åbne siden Systemegenskab agentdesktop_url . |
4 |
I feltet Værdi skal du indtaste URL-adressen til Webex Contact Center Desktop i henhold til driftsområdet. |
5 |
Klik på Opdater for at gemme ændringerne. |
6 |
(Valgfri) Hvis du vil ændre navnet på aktivitetstabel, skal du redigere egenskaberne x_caci_webexcc.webexccactivitytable efter behov.
|
7 |
(Valgfri) Tilføj brugergrupper på følgende måder:
|
1 |
Fra feltet Filter navigator skal du navigere til |
2 |
Klik på Ny. |
3 |
Angiv følgende egenskaber for URL-adressen:
|
4 |
Til højre for feltet URL-adresse skal du klikke på knappen Lås og tilføje |
5 |
(Valgfri) Vælg bruger/agentgruppe(r) for at tildele konfigurationen. |
6 |
Klik på Indsend. URL-adressen vises som et link. |
7 |
Fra feltet Filternavigator skal du navigere til . |
8 |
(Valgfri) På listen Brugergruppe skal du flytte de brugergrupper, der kan få adgang til Webex Contact Center-desktoppen, fra Tilgængelig til Valgt. |
9 |
Før du forsøger at bruge OpenFrame-telefonen, skal du sørge for, at du overfører den ServiceNow brugerdefinerede JSON-fil til Webex-kontaktcenters administrationsportal. Få flere oplysninger i Konfigurer ServiceNow-desktoplayoutet på Webex Contact Center. |
1 |
Download desktoplayoutet til ServiceNow fra https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
Opdater egenskaberne i filen Desktop Layout, hvis det er nødvendigt. |
3 |
Gå til Webex-kontaktcenters administrationsportal . |
4 |
Fra navigationsbjælken i Management Portal skal du vælge |
5 |
Klik på Nyt layout , og indtast oplysningerne om desktop-layoutet. |
6 |
Overfør ServiceNow desktop layout JSON-fil. |
7 |
Klik på Udfør for at gemme konfigurationen. Du kan nu starte Webex-kontaktcenterskrivebord inden for ServiceNow-konsollen. |
8 |
Fra feltet Filternavigator skal du navigere til . |
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 . |
Vi understøtter i øjeblikket ikke log ind på Agent Desktop ved hjælp af valgmuligheden Desktop (WebRTC).
Agent Desktop i ServiceNow-konsollen
Inden du foretager ytringsopkald, skal du sikre dig, at du gør følgende:
-
Opret det ydial entry point og opsæt en outdial entry point strategi.
-
Aktiver outdial ANI for agentprofilen.
-
Indstil det udgående OPKALD ANI til en opkaldsnummer-til-indgangspunkttilknytning.
Få flere oplysninger i kapitlet Klargøring i Opsætnings- og administrationsvejledning til Cisco Webex Contact Center.
Fra feltet Filternavigator skal du navigere til .
Få oplysninger om, hvordan du bruger desktop, under fanen Agent i Hjælp til Webex-kontaktcenter.
Overblik
Denne artikel omhandler flere måder at tilpasse dine forretningsregler for ServiceNow CRM-forbindelsen på. Den beskriver, hvordan du kan tilpasse brugsscenarierne baseret på forretningsregler, der er specifikke for ServiceNow.
Kunden skal selv administrere disse brugsscenarier på ServiceNow. Konfigurationen er specifik for ServiceNow og ikke Webex Contact Center-software eller -ekspertise.
Dette er en referencedokumentation til støtte for ændringen af forretningsreglerne. ServiceNow-udviklerne opretter og administrerer forretningsreglerne og yder support.
Cisco leverer kun eksempeldokumentation.
Følgende afsnit indeholder oplysninger om, hvordan du opsætter, aktiverer og administrerer handlingswidgetten for udviklere og virksomhedsforekomster.
Commit widgetten til opdateringssættet for handlinger
For de licenserede virksomhedsforekomster skal du installere den nyeste Webex Contact Center-app fra ServiceNow-butikken.
Hvis du vil opsætte widgetten Handlinger for udviklerforekomster, skal du downloade den seneste systemopdateringssæt-XML-fil, der er tilgængelig på github-repoen 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 forpligte opdateringssættet til widgetten Handlinger, skal du se trin 2 til 9 i Forpligte opdateringssættet.
Aktivér handlingswidget
Brug egenskaben isWidgetDisplayEnabled til at aktivere widgetten Actions. Du må ikke ændre denne egenskabs værdi i det brugerdefinerede desktoplayouts hovedløse sektion. Egenskaben er altid indstillet til falsk i det brugerdefinerede desktoplayouts hovedløse sektion. Du bør kun opdatere egenskabens værdi i panelafsnittet i det brugerdefinerede desktoplayout.
Når du aktiverer widgetten Handlinger i det brugerdefinerede desktoplayout, kan du udføre følgende handlinger:
- Administrer aktivitetsoptegnelser – klik på Vis/rediger aktivitetsoptegnelse for at se listen over aktivitetsoptegnelser, der er knyttet til opkalderen.
- Tilknyt CRM-objekter – klik på Tilknyt til aktivitetsposter for at tilføje CRM-objekter såsom 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, hvor opkaldsoplysningerne er udfyldt på forhånd. Du kan foretage de nødvendige opdateringer af hændelsen. Du kan vælge at ændre registreringstypen fra hændelse til sag, HR-modul osv. baseret på dine krav. Hvis du vil ændre optagelsestypen, skal du ændre værdien af egenskaben typeOfRecord i konfigurationen af widgetten Actions. For eksempel:
{ "comp": "md-tab-panel", "attributter": { "slot": "panel", "klasse": "widget-panel" }, "børn": [{ "comp": "agentx-custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "properties": { "isWidgetDisplayEnabled": sand, "typeOfRecord" : "Opret hændelse" }, "wrapper": { "title": "SNOW-handlinger!", "maximizeAreaName": "app-maximize-area" } } ] }
- Tilføj liveopkaldsnoter – du kan hente 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 filternavigatoren, og søg efter
script inkluderer
.Vælg Scriptet inkluderer under Systemets brugergrænseflade.
-
Filtrer navnet , og søg efter
propUtils
. -
Skift metoden
UserGetSysId
i scriptet.Nuværende:
UserGetSysId : funktion () { 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(); returner sysid; },
Ny prøvekode til hændelsen:
UserGetSysId : funktion () { var opened_for; //Hændelsesrelaterede ændringer var sideliste = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery( this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=bruger.sys_id;//returner bruger.sys_id; var inc = new GlideRecordSecure('hændelse'); inc.addQuery('caller_id', opened_for); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); hvis (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id=opened_for; Inc.contact_type='telefon'; inkl.short_description='Opkald modtaget fra '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = ny 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); },
-
Gå til filternavigatoren, og søg efter
brugergrænsefladesiden
.Vælg brugergrænsefladesider under System-brugergrænsefladen.
-
Filtrer navnet , og søg efter
agentdesktop
. -
Skift funktionen
pop op-skærm
i klientscriptet.Nuværende funktion:
// pop op-funktion screen screen pop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaktion', forespørgsel: 'sys_id='+sysid });
Eksempelkode til hændelsen:
// skærmpop-funktion screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = ny GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // For hændelsesrelateret ændring var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'hændelse', forespørgsel: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm ({ entity: 'hændelse', forespørgsel: '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 applikationen en ny hændelse
Hvis opkaldsoplysningerne findes i CRM, åbner applikationen en ny hændelse med forudfyldte oplysninger
Overblik
Denne brugsscenario beskriver processen med at tilføje en ekstra kolonne til tabellen ServiceNow – webexcc_imp_activity og oprette sn_openframe_phone_log efter installation af Webex CC til ServiceNow CRM Connector.
Som standard indeholder tabellen visse felter og værdier ud af felterne.
Du kan oprette mere virksomhedsspecifikke variabler (CAD-variabler) i WebexCC-flowdesigneren og tilføje CAD-variablerne i ServiceNow-logfilen efter opkaldsaktivitet samt bevare dette til tabeldataene efter opkaldsaktivitet.
Dette er kun en referencedokumentation – og viser, hvordan du gør dette for et eksempel på en CAD-variabel kaldet Kundenavn, der gemmer kundenavnet i IVR og sender dette til ServiceNow.
Det forventes, at udviklerne af partner+kunde ServiceNow vil konfigurere og administrere denne konfiguration, da det er en tilpasning til den eksisterende forbindelse.
Cisco leverer kun teknikkerne til, hvordan du brugertilpasser og udvider forbindelsen.
Fra og med denne artikel har Cisco-teamet valideret understøttelse af tilføjelse af CAD-variabel 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
Webex-kontaktcenter
eller
-
Vælg tabellen
WebexCC IMP-aktivitet
-
Tilføj en ny kolonne, for eksempel
Kundenavn
Føj kolonne til telefonlog
-
Rediger tabellen over telefonlogfiler.
-
Tilføj en ny kolonne, for eksempel
Kundenavn
.
Omdannelseskort for WebexCC-aktivitet
Tilføj en ny kolonne, for eksempel felttilknytning af Kundenavn
.
Tilpas listekolonner
Som Tjeneste nu anbefaler, skal du ændre handlingen Valg fra opret til ignorer.
Konfigurer liste over telefonlogfiler
Gå til Inkluder script
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 : funktion () { 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'); returner JSON.stringify(webexccprop); }, UserGetSysId : funktion () { var opened_for; var user = new GlideRecord ("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query (); if (user.next()) opened_for=user.sys_id;//return user.sys_id; // else // return null; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; }, setWebexcctable : funktion () { var sys_id=0; var actInfo = JSON.parse( this.getParameter('actInfo')); var webexcc = new GlideRecordSecure( gs.getProperty('x_caci_webexcc.webexccactivitytable')); webexcc.addQuery("callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { webexcc.ani = actInfo.dnis =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.Kundenavn; sys_id=webexcc.insert(); //Activities on Incident record; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery ("phone", this.getParameter ('ani')); suser.query (); if(suser.next ()) { var inc = new GlideRecordSecure ('incident'); inc.addQuery ('caller_id', suser.sys_id); inkl.orderByDesc (')sys_created_on'); inc.query(); hvis (inc.next()) { var jsonPretty = JSON.stringify( JSON.parse(actInfoString),null,2); inc.comments =jsonPretty; inc.update(); } } } vend tilbage sys_id; }, type: 'propUtils' });
Opret en CAD-variabel i flowdesigner
Føj CAD-variablen til desktoplayoutet
Eksempel
"CadName1:SnowField1,CadName2:SnowField2" CadName1 er CustomerName SnowField1 bruges også som CustomerName, som er en del af eksempelshowet ovenfor "actInfo.CustomerName".
Demo-skærmbilleder
Se den nyligt tilføjede CAD-variabel i tabellen WebexCC-aktivitet.
Opret CAD-variabel til flowdesigner
HændelseshastendePåvirkning af hændelse
Opdatering af Service Now-script
Opdateringer til scriptet omfatter
-
Gå til filternavigatoren, og søg efter
script omfatter
Vælg valgmuligheden Script inkluderer under Systemets brugergrænseflade.
-
Filtrer navnet med
propUtils
. -
Skift metoden
UserGetSysId
i feltet Script .Aktuelt script:
UserGetSysId : funktion () { 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(); returner sysid; },
Ny prøvekode til hændelsen:
UserGetSysId : funktion () { var opened_for; var sideliste = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery( this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=bruger.sys_id;//returner bruger.sys_id; var inc = new GlideRecordSecure('hændelse'); inc.addQuery('caller_id', opened_for); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); hvis (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('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; },
-
Gå til filternavigatoren, og søg efter
brugergrænsefladesider
.Vælg valgmuligheden UI-sider under System-brugergrænseflade.
-
Filtrer brugergrænsefladesiderne med Navn , og søg efter agentdesktop .
-
Skift funktionen
pop op-skærm
i scriptfeltet.Nuværende funktion:
// pop op-funktion screen screen pop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaktion', forespørgsel: 'sys_id='+sysid }); }
Eksempelkode til hændelsen:
// screen pop- funktion screenpop( callerani,callSessionInfo) { var Impact=3; if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact != udefineret) { Impact=callSessionInfo.callAssociatedData.Impact != udefineret) { Impact=callSessionInfo.callAssociatedData.Urgency != udefineret) { IncUrgency=callSessionInfo.callAssociatedData.Urgency != udefineret) { IncUrgency=callSessionInfo.callAssociatedData.Urgency. value; } if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = ny 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: 'hændelse', forespørgsel: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm ({ entity: 'hændelse', forespørgsel: '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 hændelse eller igangværende hændelse, åbner applikationen en ny hændelse
Skift koden på ServiceNow
Føj nye kolonner til tabellen WebexCC IMP-aktivitet
Åbn tabellen WebexCC IMP-aktivitetTilføj en ny kolonne – Interaktionsnummer Tilføj en ny kolonne – hændelsesnummer
Klik på Opdater.
Føj nye kolonner til tabellen Telefonlog
Åbn tabellen Telefonlog
Omdannelseskort for WebexCC-aktivitet
Åbn transformationskort
fra filternavigatoren
Klik på WebexCC Activity TransformMap
Klik på Opdater.
Ændringer af script omfatter
-
Gå til filternavigatoren, og søg efter "script inkluderer".
Vælg Scriptet inkluderer under Systemets brugergrænseflade.
-
Filtrer navnet med
propUtils
. -
Skift metoden
setWebexcctable
.Ny prøvekode til hændelse:
indstilletWebexcctable : funktion () { var sys_id=0; var actInfo = JSON.parse( this.getParameter('actInfo')); var webexcc = new GlideRecordSecure( gs.getProperty('webexccactivitytable')); webexcc.addQuery("u_callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { //Activities on Incident record; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interaktionssid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; delete actInfo['interaction_sys_id']; slet actInfo['incident_sys_id']; if( interactionsysid!= null && interactionsysid != undefined){ var ikke = new GlideRecordSecure('interaction'); //inte.get('sys_id', interaktionsside ); ikke.addQuery('sys_id', interaktionsside ); inte. query(); if (inte. next()) { intenum=inte. number; // inte. setValue('state','Closed Complete'); ikke.work_notes='Opdater tilstand til lukket.'; inte.update(); } } if( incsysid!= null && incsysid != undefined){ var inci = new GlideRecordSecure('incident'); inci.addQuery('sys_id', incsysid ); inci.query(); hvis (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(); hvis (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. kø; 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(); } vend tilbage sys_id; },
Metodeændringer på brugergrænsefladesider
-
Gå til filternavigatoren, og søg efter
brugergrænsefladesider
Vælg valgmuligheden UI-sider under System-brugergrænseflade.
-
Filtrer brugergrænsefladesiderne med Navn , og søg efter
agentdesktop
. -
Skift funktionen
nowActivities og pop op-skærm
i scriptet.Nuværende funktion:
funktion nowActivities(actInfo, ani) { var gaout = ny GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gaout.getXML(SetCCsysId); }
Eksempelkode til hændelsen:
funktion nowActivities( actInfo, ani) { var sysObjstr = window. localStorage. getItem("screenpopinteraction"); if( sysObjstr != null && sysObjstr != udefineret) { 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); } funktionsskærmpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = ny 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: 'hændelse', forespørgsel: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm ({ entity: 'hændelse', forespørgsel: '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 nedenfor. Følg trinnene ovenfor for tilpasninger til de nyere versioner 1.0.7 og derover.
Tilpasning nr. 1 – tilføj brugerdefinerede forretningsregler for brugsscenarier for opkaldsstrøm
Opret en ny hændelsespost for hvert opkaldOpret en ny hændelsesrapport for hvert nyt opkald til WebexCC CRM-forbindelsen i ServiceNow.
Søg efter forretningsregler på 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; hvis (vis == nul || view == '') view = "itil"; var userID = null; if (eid != null && eid != '') { userID = UserGetSysId("employee_number",eid); } hvis (userID == null && name != null && name != '') { userID = UserGetSysId("name", name); } hvis (userID == null && phone != null && phone != '') { userID = UserGetSysId("phone", phone); } hvis (userID != null) { if (fQuery.length > 0) fQuery += "^"; fQuery += "caller_id=" + userID; } hvis (url == null) { url = "incident.do?sys_id=- 1"; hvis (fQuery != null) url += "&sysparm_query=" + fQuery; } svar = url; returns url; } funktion UserGetSysId( felt, værdi) { var user = ny GlideRecord("sys_user"); user. addQuery( felt, værdi); user. query (); hvis (user. next ()) returnerer bruger.sys_id; ellers er det nul; }
Eksempel på konfiguration af forretningsreglen
Aktivér klient, der kan ringes op
Behandling af computertelefoniintegration (CTI) for hændelse er markeret som Sand.
Opdater URL-adressen til pop op-skærmen med den brugerdefinerede CTI-regel " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="
sysparm_cti_rule=navnet , hvor 'navn' er navnet på en funktion skal bruges til CTI-behandling i stedet for at bruge standardscriptet.
Definer funktionen i en sys_script post markeret klient, der kan ringes op.
Hvis du skal indsætte, opdatere eller slette en eller flere GlideRecord(er) i funktionen, skal du ringe til en separat funktion, der ikke kan ringes op af klienten, for at udføre opdateringerne.
For at gøre en script-klient kan ringes op, skal du markere afkrydsningsfeltet klient kan ringes op på den formular, der vises, når sys_script posten vises.
Afkrydsningsfeltet, der kan ringes op af klienten, vises ikke som standard. Hvis du vil se det, skal du ændre de felter, der vises på formularen, ved hjælp af tandhjulsikonet og slush spånmekanismen.
Tilpasning nr. 2 – Tilføj CAD-variabel i aktivitetstabellen for Webex Contact Center
OversigtDenne artikel beskriver processen med at tilføje en ekstra kolonne til tabellen ServiceNow – webexcc_activity som oprettes ved installationen af Webex CC til ServiceNow CRM Connector.
Som standard indeholder tabellen systemfelter og værdier, der ikke er i boksen.
Du kan potentielt oprette mere virksomhedsspecifikke variabler (CAD-variabler) i WebexCC-flowdesigneren og tilføje disse CAD-variabler i ServiceNow-aktivitetsloggen efter opkald og bevare dette til data i tabellen over aktivitet efter opkald .
-
Dette er kun referencedokumentation – og viser, hvordan du gør dette for et eksempel på en CAD-variabel kaldet Kundenavn, der gemmer kundenavnet i IVR og sender dette til ServiceNow.
-
Udviklerne af partner+kunde ServiceNow vil konfigurere og administrere denne konfiguration, da den er en tilpasning til den eksisterende konnektor.
-
Cisco leverer kun teknikkerne til, hvordan du brugertilpasser og udvider forbindelsen.
-
Fra og med denne artikel har Cisco-teamet valideret understøttelse af tilføjelse af CAD-variabel til aktivitetsloggen og aktivitetstabellen ved hjælp af den teknik, der er beskrevet nedenfor.
Rediger tabellen i udviklerversionen af ServiceNow.
Gå til
.Vælg tabellen WebexCC-aktivitet .
For eksempel Kundenavn.
Vælg listelayout for WebexCC-aktivitet.
Dette trin er ikke påkrævet, hvis du bruger opdateringssæt-XML – der kræves kun én linje, der skal tilføjes "webexcc.u_customername=actInfo.CustomerName" til propUtils.
Eksempel på script
Se linjen med:webexcc.u_customername=actInfo.CustomerName; med en understøttende kommentar.
var propUtils2 = Class. create (); propUtils2. prototype = Object. extendsObject( global. AbstractAjaxProcessor,{ getWebexccProp : funktion () { 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'); returner JSON.stringify(webexccprop); }, sætWebexcctable : funktion () { 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.dnis =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.Kundenavn; sys_id=webexcc.insert(); // Activities on Incident record; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery ("phone", this.getParameter ('ani')); suser.query (); if(suser.next ()) { var inc = new GlideRecordSecure ('incident'); inc.addQuery ('caller_id', suser.sys_id); inkl.orderByDesc (')sys_created_on'); inc.query(); hvis (inc.next()) { var jsonPretty = JSON.stringify( JSON.parse(acting string),null,2); inc.comments =jsonPretty; inc.update(); } } } vend tilbage sys_id; }, type: 'propUtils2' });
Rediger brugergrænsefladesiden med et nyt scriptnavnOpret en CAD-variabel i flowdesigner
Føj CAD-variablen til desktoplayoutet
Demo-skærmbilleder
Se den nyligt tilføjede CAD-variabel i tabellen WebexCC-aktivitet.