Integrer Webex kontaktsenter med ServiceNow (versjon 1 – eldre)
Forutsetninger
Denne funksjonen gjelder for øyeblikket bare agenter.
Før du integrerer Webex kontaktsenter med CRM-konsollen ServiceNow, må du kontrollere at du har følgende:
-
Tilgang til Webex kontaktsenter.
-
Administratortilgang til Control Hub på https://admin.webex.com og Webex Contact Center Management Portal. URL-adressene for administrasjonsportalen er spesifikke for ditt område.
-
Nord-Amerika: https://portal.wxcc-us1.cisco.com
-
Storbritannia: https://portal.wxcc-eu1.cisco.com
-
Singapore: https://portal-v2.wxcc-sg1.cisco.com
-
-
En agent med tilgang til skrivebordet. URL-adressen til skrivebordet er spesifikk for ditt område.
-
Nord-Amerika: https://desktop.wxcc-us1.cisco.com
-
Storbritannia: https://desktop.wxcc-eu1.cisco.com
-
Singapore: https://desktop.wxcc-sg1.cisco.com
-
-
Agenttilgang til følgende domene som er lagt til i listen over tillatte retningslinjer for innholdssikkerhet:
-
*.service-now.com
Hvis du vil ha mer informasjon om hvordan du definerer den tillatte listen, kan du se artikkelen Sikkerhetsinnstillinger for Webex kontaktsenter.
-
-
En konto på ServiceNow-utviklerportalen. For å opprette en konto, gå til ServiceNow utviklerportal på https://developer.servicenow.com/dev.do og klikk på Registrer deg og begynn å bygge.
-
Tilgang til følgende filer på https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
ServiceNow-oppdateringssett (XML)
-
ServiceNow Skrivebordsoppsett for kontaktsenter (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 Kontaktsenterintegrasjon med ServiceNow.
Følg en av de to metodene nedenfor:
For utviklerforekomster anbefaler vi at du følger trinnene under veiledningen for utviklerforekomst.
Hvis du eier en bedriftslisensiert forekomst, følger du retningslinjene for bedriftslisensierte forekomster.
Vi anbefaler ikke at du blander den bedriftslisensierte appen med sandkasseforekomster for utviklere.
Avsnittene nedenfor beskriver fremgangsmåten for å installere ServiceNow-koblingen for utviklerforekomster.
1 |
Logg på kontoen din på ServiceNow-utviklerportalen , og åpne administrasjonskonsollen . |
2 |
Fra Min forekomst-området på Konto-menyen klikker du Start bygging. |
3 |
I utviklerforekomsten , fra Filternavigator-feltet øverst til venstre i vinduet, navigerer du til Plugin-moduler. |
4 |
Søk etter Openframe-plugin som har tittelen Openframe. Du må kanskje bla gjennom listen. |
5 |
Klikk Installer for å installere Openframe-plugin-modulen. |
6 |
I dialogboksen Aktiver plugin-modul klikker du Aktiver. |
7 |
Når plugin-aktiveringen er fullført, klikker du Lukk og last inn skjemaet på nytt i dialogboksen Plugin-aktivering . |
8 |
For å bekrefte plugin-aktiveringen, naviger til OpenFrame fra filternavigatorfeltet øverst tilvenstre i vinduet. |
9 |
Klikk på Konfigurasjoner, og kontroller at OpenFrame-plugin-modulen vises i listen OpenFrame-konfigurasjoner . |
1 |
Last ned den nyeste systemoppdateringssettet XML-filen som er tilgjengelig på github-repositoriet på denne plasseringen : https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. Filnavn: webexcc-servicenow-update-setV(X).xml |
2 |
I Service Now-forekomsten , fra feltet Filternavigator øverst til venstre i vinduet, navigerer du til |
3 |
Klikk koblingen Importer oppdateringssett fra XML . |
4 |
Klikk Velg fil, velg systemoppdateringssettet XML filen, og klikk deretter Last opp.
Oppdateringssettet vises i listen Retrieved Update Sets og har tilstanden Loaded .
|
5 |
Fra listen Retrieved Update Sets (kobling) klikker du koblingen Update Set File Name (kobling) for å åpne oppdateringssettet. |
6 |
Øverst til høyre i vinduet klikker du på Forhåndsvis oppdateringssett for å sjekke oppdateringssettet for problemer. |
7 |
Klikk Lukk i dialogboksen Oppdater forhåndsvisning når forhåndsvisningen er fullført. |
8 |
Klikk på Commit Update Set. |
9 |
Klikk Lukk i dialogboksen Oppdater sett utførelse når utførelsen av 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. Kontroller at du kan se følgende Webex kontaktsenteregenskaper: |
3 |
Klikk agentdesktop_url for å åpne siden Systemegenskap agentdesktop_url . |
4 |
I Verdi-feltet angir du URL-adressen til skrivebordet for Webex kontaktsenter i henhold til operasjonsområdet.
|
5 |
Klikk Oppdater for å lagre endringene. |
6 |
(Valgfritt) Hvis du vil endre navnet på Aktivitet-tabellen, 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 går du til . |
2 |
Klikk på Ny. |
3 |
Skriv inn 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-/agentgruppene for å tilordne konfigurasjonen. |
6 |
Klikk på Bekreft. URL-adressen vises som en kobling. |
7 |
Før du prøver å bruke OpenFrame-telefonen, må du laste opp den egendefinerte JSON-filen for skrivebordsoppsett for Service Now til administrasjonsportalen for Webex kontaktsenter. Hvis du vil ha mer informasjon, kan du se Konfigurere skrivebordsoppsettet for ServiceNow i Webex kontaktsenter. |
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 skrivebordsoppsettfilen. |
3 |
Gå til Webex Contact Center Management Portal. |
4 |
Fra navigasjonsfeltet i administrasjonsportalen velger du . |
5 |
Klikk Nytt oppsett , og angi detaljene for skrivebordsoppsettet. |
6 |
Last opp JSON-filen ServiceNow Desktop Layout. |
7 |
Klikk Lagre for å lagre konfigurasjonen. Du kan nå starte skrivebordet for Webex kontaktsenter i ServiceNow-konsollen. |
8 |
Fra feltet Filternavigator går du til . |
Avsnittene nedenfor beskriver fremgangsmåten for å installere ServiceNow-koblingen for lisensierte bedriftsforekomster.
1 |
Logg på kontoen din på ServiceNow-utviklerportalen , og åpne administrasjonskonsollen . |
2 |
Fra Min forekomst-området på Konto-menyen klikker du Start bygging. |
3 |
I utviklerforekomsten , fra Filternavigator-feltet øverst til venstre i vinduet, navigerer du til Plugin-moduler. |
4 |
Søk etter Openframe-plugin som har tittelen Openframe. Du må kanskje bla gjennom listen. |
5 |
Klikk Installer for å installere Openframe-plugin-modulen. |
6 |
I dialogboksen Aktiver plugin-modul klikker du Aktiver. |
7 |
Når plugin-aktiveringen er fullført, klikker du Lukk og last inn skjemaet på nytt i dialogboksen Plugin-aktivering . |
8 |
For å bekrefte plugin-aktiveringen, naviger til OpenFrame fra filternavigatorfeltet øverst tilvenstre i vinduet. |
9 |
Klikk på Konfigurasjoner, og kontroller at OpenFrame-plugin-modulen vises i listen OpenFrame-konfigurasjoner . |
Forekomster som har enterprise-lisenser, 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. Kontroller at du kan se følgende Webex kontaktsenteregenskaper: |
3 |
Klikk agentdesktop_url for å åpne siden Systemegenskap agentdesktop_url . |
4 |
I Verdi-feltet angir du URL-adressen til skrivebordet for Webex kontaktsenter i henhold til operasjonsområdet.
|
5 |
Klikk Oppdater for å lagre endringene. |
6 |
(Valgfritt) Hvis du vil endre navnet på Aktivitet-tabellen , redigerer du x_caci_webexcc.webexccactivitytable-egenskapene etter behov.
|
7 |
(Valgfritt) Legg til brukergrupper på følgende måter:
|
1 |
Fra feltet Filternavigator går du til . |
2 |
Klikk på Ny. |
3 |
Skriv inn følgende egenskaper for nettadressen:
|
4 |
Til høyre for URL feltet klikker du på Lås knappen og legger til |
5 |
(Valgfritt) Velg bruker-/agentgruppene for å tilordne konfigurasjonen. |
6 |
Klikk på Bekreft. URL-en vises som en lenke. |
7 |
Fra Filternavigator -feltet, naviger til . |
8 |
(Valgfritt) I Brukergruppe listen flytter du brukergruppene som har tilgang til Webex Kontaktsenter-skrivebordet fra Tilgjengelig til >Valgt<a224. |
9 |
Før du prøver å bruke OpenFrame-telefonen, sørg for at du laster opp den tilpassede ServiceNow-skrivebordsoppsettet JSON-filen til Webex Contact Center Management Portal. For mer informasjon, se Konfigurer ServiceNow Desktop Layout på Webex kontaktsenter. |
1 |
Last ned skrivebordsoppsettet for ServiceNow fra https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
Oppdater egenskapene i Desktop Layout-filen om nødvendig. |
3 |
Gå til Webex kontaktsenteradministrasjonsportal. |
4 |
Fra Management Portal-navigasjonslinjen velger du . |
5 |
Klikk Ny layout og skriv inn detaljene for skrivebordsoppsettet. |
6 |
Last opp ServiceNow Desktop Layout JSON-filen. |
7 |
Klikk Lagre for å lagre konfigurasjonen. Du kan nå starte Webex Kontaktsenter-skrivebordet i ServiceNow-konsollen. |
8 |
Fra Filternavigator feltet, naviger til . |
1 |
Fra Filternavigator feltet, naviger til Hendelser > Åpen hendelse. |
2 |
Høyreklikk på innringerfeltet og klikk Konfigurer ordbok. |
3 |
Legg til kommadelte attributter Du kan nå begynne å bruke Webex Kontaktsenter-skrivebordet i ServiceNow-konsollen. |
4 |
Fra Filternavigator feltet, naviger til . |
Vi støtter kun pålogging Agent Desktop ved å bruke WebRTC for Salesforce (SFDC) og Microsoft Dynamics (MS Dynamics) koblinger.
Agent Desktop i ServiceNow-konsollen
Før du foretar utgående anrop, sørg for at du gjør følgende:
-
Opprett utgående inngangspunkt og sett opp en strategi for utgående inngangspunkt.
-
Aktiver utgående ANI for agentprofilen.
-
Sett den utgående ANI-en til en oppringingsnummer-til-inngangspunkt-tilordning.
For mer informasjon, se Provisioning kapittelet i Cisco Webex Contact Center Oppsett og administrasjonsveiledning.
Fra Filternavigator -feltet, naviger til .
For informasjon om hvordan du bruker Desktop, se Agent fanen i Webex kontaktsenterhjelp.
Oversikt
Denne artikkelen dekker flere måter å tilpasse forretningsreglene for ServiceNow CRM-koblingen. 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 kontaktsenterprogramvare eller ekspertise.
Dette er en referansedokumentasjon for å hjelpe til med endring av forretningsregler. ServiceNow-utviklerne vil opprette og administrere forretningsreglene og gi støtte.
Cisco gir bare eksempeldokumentasjon.
De følgende delene gir detaljer om hvordan du setter opp, aktiverer og administrerer handlingsmodulen for utvikler- og bedriftsforekomster.
Utfør oppdateringssettet for handlinger-widgeten
For de lisensierte bedriftsforekomstene, installer den nyeste Webex Contact Center-appen fra ServiceNow-butikk.
For å sette opp Actions-widgeten for utviklerforekomstene, last ned den siste System Update Set XML-filen som er tilgjengelig på github-repoen 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. For å utføre oppdateringssettet for Actions-widgeten, se trinn 2 til 9 in Forplikt oppdateringssettet.
Aktiver handlingswidget
Bruk egenskapen isWidgetDisplayEnabled for å aktivere handlingsmodulen. Du må ikke endre denne egenskapens verdi i den egendefinerte skrivebordsoppsettets hodeløse seksjon. Egenskapen er alltid satt til usann i den egendefinerte skrivebordsoppsettets hodeløse seksjon. Du bør bare oppdatere egenskapens verdi i paneldelen av det tilpassede skrivebordsoppsettet.
Når du har aktivert Actions-widgeten i det tilpassede skrivebordsoppsettet, kan du utføre følgende handlinger:
- Administrer aktivitetsposter – Klikk på Vis/rediger aktivitetspost for å se listen over aktivitetsposter knyttet til den som ringer.
- Tilknytt CRM-objekter – Klikk Knytt til aktivitetsposter for å legge til CRM-objekter som anropstype (innkommende eller utgående), anropsobjekt, anropsnotater og så videre til aktivitetsposten.
- Administrer hendelser – klikk på Opprett hendelse. En ny hendelse opprettes med anropsdetaljene forhåndsutfylt. Du kan gjøre de nødvendige oppdateringene til hendelsen. Du kan velge å endre posttypen fra hendelse til sak, HR-modul og så videre basert på dine krav. For å endre posttypen, endre verdien av typeOfRecord egenskapen i Actions-widgetkonfigurasjonen. Eksempel:
{ "comp": "md-tab-panel", "attributes": { "slot": "panel", "class": "widget-panel" }, "children": [ { "comp": "agentx-custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "properties": { "isWidgetDisplay" "Incident" "Incident" "Incident" "Incident": " }, "wrapper": { "title": "SNOW Actions !", "maximizeAreaName": "app-maximize-area" } } ] }
- Legg til direkte anropsnotater – Du kan fange opp tilleggsinformasjon om anropet i tekstområdet og avslutte anropet. Du kan se disse notatene lagt til som anropsnotater i aktivitetsposten.
Kodeendring på ServiceNow
Skriptet inkluderer endringer-
Gå til filternavigator og søk etter
Manus inkluderer
.Velg Script Includes under System UI.
-
Filtrer navnet og søk etter
propUtils
. -
Endre metoden
UserGetSysId
i skriptet.Nåværende:
UserGetSysId: function () { var opened_for; var bruker = new GlideRecord("sys_user"); user.addQuery(this.getParameter('felt'),this.getParameter('verdi')); bruker.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= åpnet_for; var sysid=grInt.insert(); returnere sysid; },
Ny eksempelkode for hendelsen:
UserGetSysId: function () { var opened_for; //Hendelsesrelaterte endringer var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('felt'),this.getParameter('verdi')); bruker.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure('hendelse'); inc.addQuery('ringer_id', åpnet_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=åpnet_for; inc.contact_type='telefon'; 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= 'telefon'; grInt.opened_for= åpnet_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist); },
-
Gå til filternavigator og søk etter
UI-side
.Velg UI-sider under System-UI.
-
Filtrer navnet og søk etter
agentdesktop
. -
Endre
skjermpop
Funksjon i klientskript.Nåværende funksjon:
// skjermpopfunksjon screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gauut = new GlideAjax('propUtils'); gauout.addParam('sysparm_name', 'UserGetSysId'); gauout.addParam('felt', 'telefon'); gauout.addParam('verdi', callerani); gauut.getXMLWait(); var sysid = gauut.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid });
Eksempelkode for hendelsen:
// skjermpopfunksjon screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gauut = new GlideAjax('propUtils'); gauout.addParam('sysparm_name', 'UserGetSysId'); gauout.addParam('felt', 'telefon'); gauout.addParam('verdi', callerani); gauut.getXMLWait(); // For hendelsesrelatert endring var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8'}); } }
Hvis oppringerinformasjonen finnes i CRM, og det allerede er en ny hendelse åpnet med denne kontakten, åpner applikasjonen den pågående hendelsen
Hvis oppringerinformasjonen ikke finnes i CRM, åpner applikasjonen en ny hendelse
Hvis oppringerinformasjonen finnes i CRM, åpner applikasjonen en ny hendelse med forhåndsutfylte detaljer
Oversikt
Denne brukssaken beskriver prosessen for å legge til en ekstra kolonne i ServiceNow-tabellen - webexcc_imp_activity og opprette sn_openframe_phone_log ved installasjon av Webex CC for ServiceNow CRM Connector.
Som standard inneholder tabellen visse systemfelt og verdier.
Du kan opprette flere forretningsspesifikke variabler (CAD-variabler) inne i WebexCC Flow-designeren og legge til CAD-variablene i ServiceNow post call-aktivitetsloggen, i tillegg til å opprettholde dette til aktivitetstabelldataene for post call.
Dette er kun en referansedokumentasjon - og viser hvordan du gjør dette for en eksempel CAD-variabel kalt Customer Name som lagrer kundenavnet inne i IVR og poster dette til ServiceNow.
Det forventes at partner+kunden ServiceNow-utviklerne vil konfigurere og administrere denne konfigurasjonen da den er en tilpasning til den eksisterende koblingen.
Cisco gir kun teknikkene for hvordan du kan tilpasse og utvide kontakten.
Fra og med denne artikkelen har Cisco-teamet validert støtte for tillegg av CAD-variabel til aktivitetsloggen og aktivitetstabellen ved å bruke teknikken beskrevet nedenfor:
Legg til kolonne til WebexCC IMP-aktivitet
-
Rediger tabellen i utviklerversjonen av ServiceNow.
-
Gå til filternavigatoren og søk etter studio.
Velg
Webex Contact Center
eller
-
Velg
WebexCC IMP-aktivitet
bord -
Legg til en ny kolonne, for eksempel
Kundenavn
Legg til kolonne til telefonlogg
-
Rediger telefonloggtabellen.
-
Legg til en ny kolonne, for eksempel
Kundenavn
.
WebexCC aktivitetstransformasjonskart
Legg til en ny kolonne, for eksempel Kundenavn
feltkartlegging.
Tilpass listekolonner
Som Service Now anbefaler, endre Valg-handlingen fra opprette til ignorer.
Konfigurer telefonloggliste
Gå til Script Inkluder
Legg til bare én linje webexcc.u_customername=actInfo.CustomerName
Til propUtils.
Se linjen: webexcc.u_customername=actInfo.CustomerName; med en støttekommentar.
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_caciskagent'); webexccprop.popupurl=gs.getProperty('x_caci_webexcc.screenpop_url'); return JSON.stringify(webexccprop }, UserGetSysId: function () { var opened_for var user = new GlideRecord("sys_user"(is.getParath), user.query(); if (user.next()) opened_for=user.sys_id; // else // return null; opened_for; var sysid=grInt.insert(); return sysid }, setWebexcctable: function () var sys_id=0; 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 linjen er lagt til - for å fange den i aktivitetsloggen webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); //Aktiviteter på hendelsesregistrering; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery("telefon", this.getParameter('ani')); bruker.query(); if(suser.next()) { var inc = new GlideRecordSecure('hendelse'); inc.addQuery('ringer_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(); } } } returner sys_id; }, skriv: 'propUtils' });
Lag en CAD-variabel i Flow designer
Legg til CAD-variabelen til skrivebordsoppsettet
Eksempel
"CadName1:SnowField1,CadName2:SnowField2" CadName1 er CustomerName SnowField1 brukes også som CustomerName som er en del av eksempelbildet vist ovenfor "actInfo.CustomerName".
Demo-skjermbilder
Se den nylig lagt til CAD-variabelen i WebexCC-aktivitetstabellen.
Lag CAD-variabel for Flow Designer
Hendelse hasterInnvirkning på hendelsen
Service Now-skriptoppdatering
Oppdateringer til skriptet inkluderer
-
Gå til filternavigatoren og søk etter
script include
Velg Script Includes alternativet under System UI.
-
Filtrer Navn med
propUtils
. -
Endre metoden
UserGetSysId
i Manus felt.Gjeldende manus:
UserGetSysId: function () { var opened_for; var bruker = new GlideRecord("sys_user"); user.addQuery(this.getParameter('felt'),this.getParameter('verdi')); bruker.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= åpnet_for; var sysid=grInt.insert(); retur sysid; },
Ny eksempelkode for hendelsen:
UserGetSysId: function () { var opened_for; var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('felt'),this.getParameter('verdi')); bruker.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure('hendelse'); inc.addQuery('ringer_id', åpnet_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=åpnet_for; inc.contact_type='telefon'; 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= 'telefon'; grInt.opened_for= åpnet_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist);//sysid; },
-
Gå til filternavigatoren og søk etter
UI-sider
.Velg UI-sider alternativ under System UI.
-
Filtrer UI-sider med Navn og søk etter
agentdesktop
. -
Endre
skjermpop
Funksjon i skriptfeltet.Nåværende funksjon:
// skjermpopfunksjon screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gauut = new GlideAjax('propUtils'); gauout.addParam('sysparm_name', 'UserGetSysId'); gauout.addParam('felt', 'telefon'); gauout.addParam('verdi', callerani); gauut.getXMLWait(); var sysid = gauut.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid }); }
Eksempelkode for hendelsen:
screen pop-funksjonen 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('verdi', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam('Impact', Impact); gaout.getXMLWait (); var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }
Hvis innringerinformasjonen finnes i CRM, og det ikke er noen ny eller pågående hendelse, åpner programmet en ny hendelse
Endre koden på ServiceNow
Legg til nye kolonner i WebexCC IMP-aktivitet
bord
Åpne WebexCC IMP-aktivitetbord
Klikk på Oppdater.
Legg til nye kolonner i Telefon Logg
bord
Åpne Telefon Logg
bord
WebexCC Aktivitet Transform Kart
Åpne Transformere kart
Fra filternavigatoren
Klikk på WebexCC-aktivitet TransformMap
Klikk på Oppdater.
Endringer i skript inkluderer
-
Gå til filternavigatoren og søk etter "script includes".
Velg skriptet inkluderer under System UI.
-
Filtrer navnet med
propUtils
. -
Endre metoden
settWebexcctable
.Ny eksempelkode for hendelse:
setWebexcctable: 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()) { //Aktiviteter på hendelsespost; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; slette actInfo['interaction_sys_id']; slette 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("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.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(); } tilbake sys_id; },
Metodeendringer på UI-sider
-
Gå til filternavigatoren og søk etter
UI-sider
Velg alternativet UI Pages under System UI.
-
Filtrer UI-sidene med Name og søk etter
agentdesktop
. -
Endre
nowActivities og screenpop
Funksjon i skriptet.Nåværende 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:
funksjon 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); } funksjon screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('felt', 'telefon'); gaout.addParam('verdi', callerani); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }
Resultater etter oppdateringen
Følgende tilpasninger gjelder for versjon 1.0.5 og eldre. For tilpasninger for nyere versjoner 1.0.7 og nyere, følg fremgangsmåten ovenfor.
Tilpasning # 1 – Legg til egendefinerte forretningsregler for brukstilfeller for samtaleflyt
Opprette en ny hendelsesoppføring for hver samtaleFor hvert nye anrop til WebexCC CRM-koblingen i ServiceNow oppretter du en ny hendelsesoppføring.
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; 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("name", 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; } svar = url; returnere URL; } funksjon UserGetSysId(felt, verdi) { var user = new GlideRecord("sys_user"); user.addQuery(felt, verdi); user.query(); if (user.next()) return user.sys_id; else return null; }
Eksempelkonfigurasjon av forretningsregelen
Aktiver kundeanrop
Computer Telephony Integration (CTI) Processing For Incident er merket som True.
Oppdater URL-adressen for screenpop 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 påberopes for CTI Behandler i stedet for å bruke standardskriptet.
Definer funksjonen i en sys_script oppføring merket klientanropbar .
Hvis du må sette inn, oppdatere eller slette GlideRecords i funksjonen, kan du kalle en separat ikke-klientanropbar funksjon for å utføre oppdateringene.
Hvis du vil gjøre et skript klientanropbart, må du merke av for klientanropbart i skjemaet som vises når den sys_script oppføringen vises.
Avmerkingsboksen for klientanrop vises ikke som standard. Hvis du vil vise, må du endre feltene som vises i skjemaet, ved hjelp av tannhjulikonet og slapsebøttemekanismen.
Tilpasning # 2 – Legg til CAD-variabel i aktivitetstabellen Webex kontaktsenter
OversiktDenne artikkelen beskriver prosessen for å legge til en ekstra kolonne i ServiceNow-tabellen – webexcc_activity som opprettes ved installasjon av Webex CC for ServiceNow CRM Connector.
Som standard inneholder tabellen medfølgende systemfelt og verdier.
Du kan potensielt opprette flere forretningsspesifikke variabler (CAD-variabler) i WebexCC Flow-utformingen og legge til disse CAD-variablene i ServiceNow-aktivitetsloggen etter samtalen, og beholde dette til tabelldataene etter samtaleaktivitet.
-
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 i ServiceNow.
-
Partner+Customer ServiceNow-utviklerne vil konfigurere og administrere denne konfigurasjonen siden den er en tilpasning til den eksisterende koblingen.
-
Cisco vil bare gi teknikker for hvordan du tilpasser og utvider koblingen.
-
Fra og med denne artikkelen har Cisco-teamet validert støtte for tilføyelse av CAD-variabel i aktivitetsloggen og aktivitetstabellen ved hjelp av teknikken beskrevet nedenfor.
Rediger tabellen i utviklerversjonen av ServiceNow.
Gå til
.Velg WebexCC-aktivitetstabell .
For eksempel CustomerName.
Velg listeoppsett for WebexCC-aktivitet.
Dette trinnet er ikke nødvendig hvis du bruker Update Set XML - Bare én linje kreves for å bli lagt til "webexcc.u_customername=actInfo.CustomerName" i propUtils.

Eksempel på skript
Se linjen med:webexcc.u_customername=actInfo.CustomerName; med en støttende kommentar.
var propUtils2 = Class.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 linjen er lagt til - for å fange den i aktivitetsloggen webexcc. u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Aktiviteter på hendelsesposten; var actInfoString =this.getParameter('actInfo'); var suser = nye 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(fungerende streng),null,2); inc.comments =jsonPretty; inc.update(); } } } tilbake sys_id; }, type: 'propUtils2' });
Rediger UI-siden med et nytt skriptnavn
Opprette en CAD-variabel i flytutforming
Legge til CAD-variabelen i skrivebordsoppsettet
Demo skjermbilder
Vis den nylig tilføyde CAD-variabelen i tabellen WebexCC-aktivitet.
