Integrer Webex Contact Center med ServiceNow (versjon 1 – eldre)
Forutsetninger
For øyeblikket gjelder denne funksjonen bare for agenter.
Før du integrerer Webex Contact Center med ServiceNow CRM-konsollen, må du kontrollere at du har følgende:
-
Tilgang til Webex Contact Center.
-
Administratortilgang til Control Hub på https://admin.webex.com og administrasjonsportalen for Webex Contact Center. URL-adressene for administrasjonsportalen er spesifikke for din region.
-
En agent med tilgang til skrivebordet. URL-adressen for skrivebordet er spesifikk for din region.
-
Agenttilgang til følgende domene som er lagt til i listen over tillatte innholdssikkerhetsretningslinjer:
-
*.service-now.com
Hvis du vil ha mer informasjon om hvordan du definerer tillatelseslisten, kan du se artikkelen Sikkerhetsinnstillinger for Webex Contact Center.
-
-
En ServiceNow-utviklerportalkonto. Hvis du vil opprette en konto, går du til utviklerportalen for ServiceNow på https://developer.servicenow.com/dev.do og klikker på Registrer deg og start bygging.
-
Tilgang til følgende filer på https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
ServiceNow-oppdateringssett (XML)
-
Skrivebordsoppsett for ServiceNow Contact Center (JSON)
-
- ServiceNow-utgavene som Webex Contact Center støtter, er Vancouver, Utah, Tokya, Washington og Xanadu. Hvis du vil ha mer informasjon, kan du se Webex Contact Center-integrering med ServiceNow.
Følg én av de to metodene nedenfor:
For utviklerforekomster anbefaler vi at du følger trinnene under veiledningen for utviklerforekomster.
Hvis du eier en bedriftslisensiert forekomst, følger du retningslinjene for bedriftslisensierte forekomster.
Vi anbefaler ikke å blande den bedriftslisensierte appen med utviklersandboksforekomster.
Følgende deler beskriver trinnene for å installere ServiceNow-koblingen for utviklerforekomster.
1 |
Logg på ServiceNow-utviklerportalkontoen din og åpne Administrasjon -konsollen. |
2 |
Fra Min forekomst -området på Konto -menyen klikker du på Start bygning. |
3 |
I utviklerforekomsten navigerer du til Plugin-moduler -feltet øverst til venstre i vinduet fra Filternavigator. |
4 |
Søk etter Openframe-programtillegget som har tittelen Openframe. Du må kanskje bla gjennom listen. |
5 |
Klikk på Installer for å installere Openframe-plugin-modulen. |
6 |
Klikk på Aktiver i dialogboksen Aktiver plugin. |
7 |
Når plugin-aktiveringen er fullført, klikker du på Lukk og last inn skjema på nytt i dialogboksen Plugin-aktivering . |
8 |
Hvis du vil bekrefte aktiveringen av plugin-modulen, navigerer du til OpenFrame -feltet øverst til venstre i vinduet Filternavigator. |
9 |
Klikk på Konfigurasjoner og kontroller at OpenFrame-programtillegget vises i listen OpenFrame-konfigurasjoner . |
1 |
Last ned den nyeste XML-filen for systemoppdatering som er tilgjengelig på github repo på denne plasseringen: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. Filnavn: webexcc-servicenow-update-setV(X).xml |
2 |
I din ServiceNow-forekomst navigerer du fra feltet Filternavigator øverst til venstre i vinduet til . |
3 |
Klikk på koblingen Importer oppdateringssett fra XML . |
4 |
Klikk på Velg fil, velg XML-filen for systemoppdateringssett, og klikk deretter på Last opp.
Oppdateringssettet vises i listen Hentet oppdateringssett og er i tilstanden Lastet .
|
5 |
Fra listen Hentet oppdateringssett klikker du på filnavnet (koblingen) for å åpne oppdateringssettet. |
6 |
Klikk på Forhåndsvis oppdateringssett øverst til høyre i vinduet for å se etter problemer i oppdateringssettet. |
7 |
Klikk på Lukk i dialogboksen Oppdater forhåndsvisning av innstilling når forhåndsvisningen er fullført. |
8 |
Klikk på Utfør oppdateringssett. |
9 |
Klikk på Lukk i dialogboksen Oppdateringssett når oppdateringssettet er fullført. |
1 |
I feltet Filternavigator øverst til venstre i vinduet skriver du inn |
2 |
På siden Systemegenskaper sorterer du egenskapene etter oppdatert dato. Sørg for at du kan se følgende egenskaper for Webex Contact Center: |
3 |
Klikk agentdesktop_url for å åpne siden System Propertyagentdesktop_url . |
4 |
I Verdi -feltet skriver du inn URL-adressen til Webex Contact Center Desktop i henhold til driftsområdet. |
5 |
Klikk på Oppdater for å lagre endringene. |
6 |
(Valgfritt) Hvis du vil endre navnet på aktivitetstabellen, redigerer du egenskapene for webexccactivitytable etter behov. På siden Systemegenskaper klikker du på webexccactivitytable. Endre Verdi -feltet etter behov. |
7 |
(Valgfritt) Legg til brukergrupper på følgende måter:
|
1 |
Fra feltet Filternavigator navigerer du til . |
2 |
Klikk på Ny. |
3 |
Angi følgende egenskaper for URL-adressen:
|
4 |
Til høyre for URL -feltet klikker du på Lås -knappen og legger til |
5 |
(Valgfritt) Velg bruker-/agentgruppen(e) for å tilordne konfigurasjonen. |
6 |
Klikk på Send inn. URL-adressen vises som en kobling. |
7 |
Før du prøver å bruke OpenFrame-telefonen, må du sørge for at du laster opp JSON-filen for ServiceNow-egendefinert skrivebordsoppsett til Webex Contact Center Management Portal. Hvis du vil ha mer informasjon, kan du se Konfigurere ServiceNow-skrivebordsoppsettet på Webex Contact Center. |
1 |
Last ned skrivebordsoppsettet for ServiceNow fra https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
Oppdater om nødvendig egenskapene i filen Skrivebordsoppsett. |
3 |
Gå til administrasjonsportalen for Webex Contact Center. |
4 |
Velg |
5 |
Klikk på Nytt oppsett og skriv inn detaljene for skrivebordsoppsettet. |
6 |
Last opp JSON-filen for ServiceNow Desktop Layout. |
7 |
Klikk på Lagre for å lagre konfigurasjonen. Du kan nå starte Webex Contact Center Desktop i ServiceNow-konsollen. |
8 |
Fra feltet Filternavigator navigerer du til . |
Følgende deler beskriver trinnene for å installere ServiceNow-koblingen for lisensierte bedriftsforekomster.
1 |
Logg på ServiceNow-utviklerportalkontoen din og åpne Administrasjon -konsollen. |
2 |
Fra Min forekomst -området på Konto -menyen klikker du på Start bygning. |
3 |
I utviklerforekomsten navigerer du til Plugin-moduler -feltet øverst til venstre i vinduet fra Filternavigator. |
4 |
Søk etter Openframe-programtillegget som har tittelen Openframe. Du må kanskje bla gjennom listen. |
5 |
Klikk på Installer for å installere Openframe-plugin-modulen. |
6 |
Klikk på Aktiver i dialogboksen Aktiver plugin. |
7 |
Når plugin-aktiveringen er fullført, klikker du på Lukk og last inn skjema på nytt i dialogboksen Plugin-aktivering . |
8 |
Hvis du vil bekrefte aktiveringen av plugin-modulen, navigerer du til OpenFrame -feltet øverst til venstre i vinduet Filternavigator. |
9 |
Klikk på Konfigurasjoner og kontroller at OpenFrame-programtillegget vises i listen OpenFrame-konfigurasjoner . |
Forekomster som har bedriftslisenser, kan installere Webex Contact Center-programmet direkte fra ServiceNow Store.
Last ned 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 skriver du inn |
2 |
På siden Systemegenskaper sorterer du egenskapene etter oppdatert dato. Sørg for at du kan se følgende egenskaper for Webex Contact Center: |
3 |
Klikk agentdesktop_url for å åpne siden System Propertyagentdesktop_url . |
4 |
I Verdi -feltet skriver du inn URL-adressen til Webex Contact Center Desktop i henhold til driftsområdet. |
5 |
Klikk på Oppdater for å lagre endringene. |
6 |
(Valgfritt) Hvis du vil endre navnet på aktivitetstabellen, redigerer du egenskapene x_caci_webexcc.webexccactivitytable etter behov.
|
7 |
(Valgfritt) Legg til brukergrupper på følgende måter:
|
1 |
Fra feltet Filternavigator navigerer du til . |
2 |
Klikk på Ny. |
3 |
Angi følgende egenskaper for URL-adressen:
|
4 |
Til høyre for URL -feltet klikker du på Lås -knappen og legger til |
5 |
(Valgfritt) Velg bruker-/agentgruppen(e) for å tilordne konfigurasjonen. |
6 |
Klikk på Send inn. URL-adressen vises som en kobling. |
7 |
Fra feltet Filternavigator navigerer du til . |
8 |
(Valgfritt) I Brukergruppe liste, flytt brukergruppene som har tilgang til Webex Contact Center Desktop, fra Tilgjengelig til Valgt. |
9 |
Før du prøver å bruke OpenFrame-telefonen, må du sørge for at du laster opp JSON-filen for ServiceNow-egendefinert skrivebordsoppsett til Webex Contact Center Management Portal. Hvis du vil ha mer informasjon, kan du se Konfigurere ServiceNow-skrivebordsoppsettet på Webex Contact Center. |
1 |
Last ned skrivebordsoppsettet for ServiceNow fra https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
Oppdater om nødvendig egenskapene i filen Skrivebordsoppsett. |
3 |
Gå til administrasjonsportalen for Webex Contact Center. |
4 |
Velg |
5 |
Klikk på Nytt oppsett og skriv inn detaljene for skrivebordsoppsettet. |
6 |
Last opp JSON-filen for ServiceNow Desktop Layout. |
7 |
Klikk på Lagre for å lagre konfigurasjonen. Du kan nå starte Webex Contact Center Desktop i ServiceNow-konsollen. |
8 |
Fra feltet Filternavigator navigerer du til . |
1 |
Fra feltet Filternavigator går du til Hendelser > Åpne hendelse. |
2 |
Høyreklikk på anropsfeltet, og klikk på Konfigurer ordbok. |
3 |
Legg til kommadelte attributter Du kan nå begynne å bruke Webex Contact Center Desktop i ServiceNow-konsollen. |
4 |
Fra feltet Filternavigator navigerer du til . |
Vi støtter for øyeblikket ikke pålogging til Agent Desktop ved hjelp av alternativet Desktop (WebRTC).
Agent Desktop i ServiceNow-konsollen
Før du foretar utgående anrop, må du sørge for at du gjør følgende:
-
Opprett inngangspunktet for oppringing og sett opp en strategi for oppringing.
-
Aktiver ANI for å ringe ut for agentprofilen.
-
Angi oppringings-ANI til en oppringingsnummer-til-inngangspunkt-tilordning.
Hvis du vil ha mer informasjon, kan du se kapitlet Klargjøring i Oppsett og administrasjonsguide for Cisco Webex Contact Center.
Fra feltet Filternavigator navigerer du til .
Hvis du vil ha informasjon om hvordan du bruker skrivebordet, kan du se fanen Agent i hjelp til Webex Contact Center.
Oversikt
Denne artikkelen dekker flere måter å tilpasse forretningsreglene dine for ServiceNow CRM-kontakten på. Den beskriver hvordan du kan tilpasse brukstilfellene basert på forretningsregler som er spesifikke for ServiceNow.
Kunden må selv administrere disse brukstilfellene på ServiceNow. Konfigurasjonen er spesifikk for ServiceNow og ikke Webex Contact Center-programvare eller -ekspertise.
Dette er en referansedokumentasjon som hjelper med å endre forretningsreglene. ServiceNow-utviklerne vil opprette og administrere forretningsreglene og gi støtte.
Cisco gir bare eksempeldokumentasjon.
Avsnittene nedenfor gir detaljer om hvordan du konfigurerer, aktiverer og administrerer miniprogram for handlinger for utviklere og bedriftsforekomster.
Fullfør oppdateringssettet for handlinger-widget
For de lisensierte bedriftsforekomstene installerer du den nyeste Webex Contact Center-appen fra ServiceNow-butikken.
Hvis du vil konfigurere handlingsminiprogrammet for utviklerforekomster, laster du ned den nyeste XML-filen for systemoppdatering som er tilgjengelig på github repo på dette stedet: 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 utføre oppdateringssettet for Handlinger-widgeten, kan du se trinn 2 til 9 i Utføre oppdateringssettet.
Aktiver widget for handlinger
Bruk egenskapen isWidgetDisplayEnabled for å aktivere Handlinger-widget. Du må ikke endre denne egenskapens verdi i delen av det egendefinerte skrivebordsoppsettet. Egenskapen er alltid satt til false i delen av det egendefinerte skrivebordsoppsettet. Du bør bare oppdatere egenskapets verdi i paneldelen av det egendefinerte skrivebordsoppsettet.
Når du aktiverer handlingswidgeten i det egendefinerte skrivebordsoppsettet, kan du utføre følgende handlinger:
- Administrer aktivitetsoppføringer – Klikk på Vis/rediger aktivitetsoppføring for å vise listen over aktivitetsoppføringer som er knyttet til innringeren.
- Knytt CRM-objekter – Klikk på Knytt til aktivitetsoppføringer for å legge til CRM-objekter som anropstype (innkommende eller utgående), anropsobjekt, anropsmerknader og så videre til aktivitetsoppføringen.
- Administrer hendelser – Klikk på Opprett hendelse. En ny hendelse opprettes med innringerdetaljene forhåndsutfylt. Du kan gjøre de nødvendige oppdateringene av hendelsen. Du kan velge å endre registreringstypen fra hendelse til sak, HR-modul osv. basert på dine krav. Hvis du vil endre oppføringstypen, endrer du verdien til egenskapen typeOfRecord i konfigurasjonen av Handlinger-kontrollprogrammet. For eksempel:
{ "comp": "md-tab-panel", "attributter": { "slot": "panel", "class": "widget-panel" }, "children": [ { "comp": "agentx-custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "properties": { "isWidgetDisplayEnabled": sann, "typeOfRecord": "Create Incident" }, "wrapper": { "title": "SNOW Actions !", "maximizeAreaName": "app-maximize-area" } } ] }
- Legg til anropsnotater i sanntid – Du kan fange opp tilleggsinformasjon om samtalen i tekstområdet og fullføre samtalen. Du kan se disse notatene lagt til som anropsnotater i aktivitetsoppføringen.
Kodeendring på ServiceNow
Skriptet Inkluderer endringer-
Gå til filternavigator og søk etter
skript inkluderer
.Velg Skriptet inkluderer under System-brukergrensesnitt.
-
Filtrer Navn og søk etter
propUtils
. -
Endre metoden
UserGetSysId
i skriptet.Strømming:
UserGetSysId: funksjon () { 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; },
Ny eksempelkode for hendelsen:
UserGetSysId: funksjon () { var opened_for; //Hendelsesrelaterte endringer var sideliste = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for= bruker.sys_id;//returner bruker.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; inkl.contact_type='telefon'; inkl.short_description='Anrop mottatt fra '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist); },
-
Gå til filternavigatoren og søk etter
UI-siden
.Velg brukergrensesnitt under System-brukergrensesnitt.
-
Filtrer Navn og søk etter
agentskrivebord
. -
Endre
skjermpopup
-funksjonen i klientskript.Gjeldende funksjon:
// screen pop-funksjon 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: 'samhandling', spørring: 'sys_id='+sysid });
Eksempelkode for hendelsen:
// screen pop-funksjon 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 hendelsesrelatert endring var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: «hendelse», spørring: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: «hendelse», spørring: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }
Hvis anropsinformasjonen finnes i CRM, og det allerede er åpnet en ny hendelse med denne kontakten, åpner programmet oppstartshendelsen
Hvis anropsinformasjonen ikke finnes i CRM, åpner programmet en ny hendelse
Hvis anropsinformasjonen finnes i CRM, åpner programmet en ny hendelse med forhåndsfylte detaljer
Oversikt
Denne brukstilfellen beskriver prosessen med å legge til en ekstra kolonne i ServiceNow-tabellen – webexcc_imp_activity og opprette sn_openframe_phone_log Webex CC for ServiceNow CRM Connector ved installasjon.
Som standard inneholder tabellen visse systemfelt og verdier utenfor boksene.
Du kan opprette mer forretningsspesifikke variabler (CAD-variabler) i WebexCC Flow-designeren og legge til CAD-variablene i ServiceNow-aktivitetsloggen etter anrop, i tillegg til å beholde dette i tabelldataene etter anrop.
Dette er bare en referansedokumentasjon – og viser hvordan du gjør dette for en prøve CAD-variabel kalt Kundenavn som lagrer kundenavnet i IVR og legger dette inn på ServiceNow.
Det forventes at utviklerne av partner og kunde ServiceNow vil konfigurere og administrere denne konfigurasjonen, da det er en tilpasning til den eksisterende kontakten.
Cisco gir bare teknikkene for hvordan du kan tilpasse og utvide kontakten.
Fra og med denne artikkelen har Cisco-teamet validert støtte for å legge til CAD-variabel i aktivitetsloggen og aktivitetstabellen ved hjelp av teknikken som er beskrevet nedenfor:
Legg til kolonne i WebexCC IMP-aktivitet
-
Rediger tabellen i utviklerversjonen av ServiceNow.
-
Gå til filternavigatoren og søk etter studio.
Velg
Webex Contact Center
eller
-
Velg tabellen for
WebexCC IMP-aktivitet
-
Legg til en ny kolonne, for eksempel
CustomerName
Legg til kolonne i telefonlogg
-
Rediger telefonloggtabellen.
-
Legg til en ny kolonne, for eksempel
CustomerName
.
Kart for transformering av WebexCC-aktivitet
Legg til en ny kolonne, for eksempel felttilordning av CustomerName
.
Tilpass listekolonner
Som Service Now anbefaler, endrer du Choice-handlingen fra oppretting til ignorering.
Konfigurer telefonloggliste
Gå til skript Inkluder
Legg bare til én linje webexcc.u_customername=actInfo.CustomerName
til propUtils.
Eksempelskript
Se linjen: webexcc.u_customername=actInfo.CustomerName; med en støttekommentar.
var propUtils = Class.create(); propUtils.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{ getWebexccProp : funksjon () { 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'); returnere JSON.stringify(webexccprop); }, UserGetSysId : funksjon () { 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 : funksjon () { 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; webexcc.queuename =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 linjen er lagt til – for å 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(); if (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(actInfoString),null,2); inc.comments =jsonPretty; inc.update(); } } } return sys_id; }, type: 'propUtils' });
Opprett en CAD-variabel i flytdesigner
Legg til CAD-variabelen i skrivebordsoppsettet
Eksempel
"CadName1:SnowField1,CadName2:SnowField2" CadName1 er CustomerName SnowField1 brukes også som CustomerName som er en del av eksempelshowet ovenfor "actInfo.CustomerName".
Demonstrasjonsskjermbilder
Vis den nylig tillagte CAD-variabelen i WebexCC-aktivitetstabellen.
Opprett CAD-variabel for flytdesigner
HastesituasjonPåvirkning av hendelse
Skriptoppdatering for tjeneste nå
Oppdateringer av skriptet inkluderer
-
Gå til filternavigatoren og søk etter
skript inkluderer
Velg alternativet Skript inkluderer under System-brukergrensesnitt.
-
Filtrer Navnet med
propUtils
. -
Endre metoden
UserGetSysId
i Script -feltet.Gjeldende skript:
UserGetSysId: funksjon () { 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; },
Ny eksempelkode for hendelsen:
UserGetSysId: funksjon () { 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= bruker.sys_id;//returner bruker.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; inkl.contact_type='phone'; inc.urgency=this.getParameter('IncUrgency'); inc.impact=this.getParameter('Impact'); inc.short_description='Anrop mottatt fra '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist);//sysid; },
-
Gå til filternavigatoren og søk etter
brukergrensesnittsider
.Velg alternativet Brukergrensesnitt under System-brukergrensesnitt.
-
Filtrer brukergrensesnittsidene etter Navn og søk etter agentskrivebord .
-
Endre
skjermpopup
-funksjonen i skriptfeltet.Gjeldende funksjon:
// screen pop-funksjon 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: 'samhandling', spørring: 'sys_id='+sysid }); }
Eksempelkode for hendelsen:
// screen pop-funksjon screenpop(callerani,callSessionInfo) { var Impact=3; if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact != udefinert) { Impact=callSessionInfo.callAssociatedData.Impact != udefinert) { IncUrgency=3; if(callSessionInfo.callAssociatedData.Urgency != udefinert) { IncUrgency=callSessionInfo.callAssociatedData.Urgency.value; } if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam('Impact', Impact); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: «hendelse», spørring: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: «hendelse», spørring: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("skjermpopinteraction", JSON.stringify(sysObj)); }
Hvis anropsinformasjonen finnes i CRM, og det ikke er noen ny hendelse eller oppstart, åpner programmet en ny hendelse
Endre koden på ServiceNow
Legg til nye kolonner i tabellen for WebexCC IMP-aktivitet
Åpne tabellen for WebexCC IMP-aktivitetLegg til en ny kolonne - Interaksjonsnummer Legg til en ny kolonne – Hendelsesnummer
Klikk på Oppdater.
Legg til nye kolonner i tabellen Telefonlogg
Åpne tabellen Telefonlogg
Kart for transformering av WebexCC-aktivitet
Åpne transformeringskart
fra filternavigatoren
Klikk på WebexCC Activity TransformMap
Klikk på Oppdater.
Endringer i skript inkluderer
-
Gå til filternavigator og søk etter "skript inkluderer".
Velg Skriptet inkluderer under System-brukergrensesnitt.
-
Filtrer Navnet med
propUtils
. -
Endre metoden
setWebexcctable
.Ny eksempelkode for hendelse:
settWebexcctable: funksjon () { 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=""; delete actInfo['interaction_sys_id']; slett actInfo['incident_sys_id']; if( interactionsysid!= null && interactionsysid != undefined){ var ikke = new GlideRecordSecure('interaction'); //inte.get('sys_id', interactionside ); ikke.addQuery('sys_id', interactionside ); ikke.query(); if (ikke.next()) { intenum=ikke.number; // ikke.setValue('state','Closed Complete'); ikke.work_notes='Oppdater tilstand til lukket.'; 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("phone", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id", suser.sys_id); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(actInfo,null,2); inc.comments =jsonPretty; inc.update(); } } } webexcc.u_ani = actInfo.ani; webexcc.u_dnis =actInfo.dnis; webexcc.u_queuename =actInfo. queuename; webexcc.u_wrapuptime =actInfo. wrapuptime; webexcc.u_callduration =actInfo.CallDurationInSeconds; webexcc.u_ringingtime =actInfo.ringetid; 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(); } retur sys_id; },
Metodeendringer på brukergrensesnittsider
-
Gå til filternavigator og søk etter
brukergrensesnittsider
Velg alternativet Brukergrensesnitt under System-brukergrensesnitt.
-
Filtrer brukergrensesnittsidene etter Navn og søk etter
agentskrivebord
. -
Endre funksjonen
nowActivities og skjermpop
i skriptet.Gjeldende funksjon:
funksjon 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 hendelsen:
function nowActivities(actInfo, ani) { var sysObjstr = window.localStorage.getItem("screenpopinteraction"); if(sysObjstr != null && sysObjstr != undefinert) { 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); } funksjonsskjermpop(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: «hendelse», spørring: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: «hendelse», spørring: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("skjermpopinteraction", JSON.stringify(sysObj)); }
Resultater etter oppdatering
Følgende tilpasninger gjelder for versjon 1.0.5 og nedenfor. For tilpasningene til de nyere versjonene 1.0.7 og nyere, følg trinnene ovenfor.
Tilpasning # 1 - Legg til egendefinerte forretningsregler for brukstilfeller for samtaleflyt
Opprett en ny hendelsesoppføring for hver samtaleOpprett en ny hendelsesoppføring for hvert nytt anrop til WebexCC CRM-kontakten i ServiceNow.
Søke etter forretningsregler i filternavigatoren
Klikk på Ny.
Eksempelkode for referanse:
funksjon 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 == null || view == '') view = "itil"; var userID = null; if (eid != null && eid != '') { userID = UserGetSysId("employee_number",eid); } if (userID == null && name != null && name != '') { userID = UserGetSysId("name", navn); } if (userID == null && phone != null && phone != '') { userID = UserGetSysId("phone", 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; } svar = url; return url; } funksjon UserGetSysId(felt, verdi) { var user = new GlideRecord("sys_user"); user.addQuery(felt, verdi); user.query(); hvis (user.next()) returnerer brukeren.sys_id; ellers returnerer null; }
Eksempelkonfigurasjon av forretningsregelen
Aktiver oppringbar klient
Behandling av datamaskintelefoniintegrering (CTI) for hendelse er merket som Sann.
Oppdater URL-adressen for skjermbildet med den egendefinerte CTI-regelen " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="
sysparm_cti_rule=navnet der «navn» er navnet på en funksjon skal brukes for CTI-behandling i stedet for å bruke standardskriptet.
Definer funksjonen i en sys_script oppføringsmerket klient som kan ringes opp.
Hvis du må sette inn, oppdatere eller slette noen GlideRecord(er) i funksjonen, må du ringe en separat funksjon som ikke kan ringes opp av klienten for å utføre oppdateringene.
Hvis du vil gjøre et skript klientoppringbar, må du merke av i avkrysningsboksen klientoppringbar på skjemaet som vises når sys_script oppføringen vises.
Avmerkingsboksen for klientoppringing vises ikke som standard. For å vise må du endre feltene som vises på skjemaet ved hjelp av tannhjulikonet og slush bucket-mekanismen.
Tilpasning # 2 - Legg til CAD-variabel i aktivitetstabell for Webex Contact Center
OversiktDenne artikkelen beskriver prosessen for å legge til en ekstra kolonne i ServiceNow-tabellen – webexcc_activity som opprettes ved installasjonen av Webex CC for ServiceNow CRM Connector.
Som standard inneholder tabellen systemfelt og verdier utenfor boksen.
Du kan potensielt opprette mer bedriftsspesifikke variabler (CAD-variabler) i WebexCC Flow-designeren og legge til disse CAD-variablene i ServiceNow aktivitetsloggen etter anrop, og holde dette til dataene i aktivitetstabellen etter anrop .
-
Dette er bare referansedokumentasjon – og viser hvordan du gjør dette for en eksempel CAD-variabel kalt Kundenavn som lagrer kundenavnet i IVR og legger dette inn på ServiceNow.
-
Utviklerne av partner og kunde ServiceNow vil konfigurere og administrere denne konfigurasjonen, da det er en tilpasning til den eksisterende kontakten.
-
Cisco vil bare gi deg teknikkene for hvordan du kan tilpasse og utvide kontakten.
-
Fra og med denne artikkelen har Cisco-teamet validert støtte for å legge til CAD-variabel i aktivitetsloggen og aktivitetstabellen ved hjelp av teknikken som er beskrevet nedenfor.
Rediger tabellen i utviklerversjonen av ServiceNow.
Gå til
.Velg tabellen WebexCC-aktivitet .
For eksempel CustomerName.
Velg listeoppsett for WebexCC-aktivitet.
Dette trinnet er ikke nødvendig hvis du bruker oppdateringssett XML – bare én linje må legges til «webexcc.u_customername=actInfo.CustomerName» til propUtils.
Eksempelskript
Se linjen med:webexcc.u_customername=actInfo.CustomerName; med en støttekommentar.
var propUtils2 = Class.create(); propUtils2.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{ getWebexccProp : funksjon () { 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); }, setWebexcctable : funksjon () { 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; webexcc.queuename =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 linjen er lagt til – for å 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(); if (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(acting string),null,2); inc.comments =jsonPretty; inc.update(); } } } return sys_id; }, type: 'propUtils2' });
Rediger brukergrensesnittsiden med et nytt skriptnavnOpprett en CAD-variabel i flytdesigner
Legg til CAD-variabelen i skrivebordsoppsettet
Demonstrasjonsskjermbilder
Vis den nylig tillagte CAD-variabelen i WebexCC-aktivitetstabellen.