Integrer Webex kontaktsenter med ServiceNow
Når du integrerer Webex Contact Center med ServiceNow CRM-konsollen, kan du starte skrivebordet Webex for kontaktsenteret fra ServiceNow.
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 |
Velg fra navigasjonsfeltet i administrasjonsportalen. |
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 til venstre 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 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 |
Fra feltet Filternavigator går du til . |
8 |
(Valgfritt) I listen Brukergrupper flytter du brukergruppene som har tilgang til skrivebordet for Webex kontaktsenter fra Tilgjengelig til Valgt. |
9 |
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 |
Velg fra navigasjonsfeltet i administrasjonsportalen. |
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 . |
1 |
Fra feltet Filternavigator går du til Hendelser > Åpne hendelse. |
2 |
Høyreklikk på anroperfeltet og klikk Konfigurer ordbok. |
3 |
Legg til attributter Du kan nå begynne å bruke Webex Contact Center Desktop i ServiceNow-konsollen. |
4 |
Fra feltet Filternavigator går du til . |
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 outdial og sett opp en strategi for outdial inngangspunkt.
-
Aktiver utgående ANI for agentprofilen.
-
Angi ANI for utgående anrop til tilordning av oppringingsnummer-til-inngangspunkt.
Hvis du vil ha mer informasjon, kan du se kapittelet Klargjøring i konfigurasjons- og administrasjonshåndboken for Cisco Webex Contact Center.
Fra feltet Filternavigator går du til .
Hvis du vil ha informasjon om hvordan du bruker skrivebordet, kan du se kategorien Agent i hjelpen for Webex Contact Center.
Oversikt
Denne artikkelen dekker flere måter å tilpasse forretningsreglene for ServiceNow CRM-koblingen 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 kontaktsenterprogramvare eller -ekspertise.
Dette er en referansedokumentasjon for å hjelpe til med å endre forretningsregler. ServiceNow-utviklerne vil opprette og administrere forretningsreglene og gi støtte.
Cisco gir bare eksempeldokumentasjon.
Avsnittene nedenfor inneholder detaljer om hvordan du konfigurerer, aktiverer og administrerer widgeter for handlinger for utvikler- og bedriftsforekomster.
Utfør kontrollprogrammet Oppdater angitt for handlinger
For de lisensierte bedriftsforekomstene installerer du den nyeste Webex Contact Center-appen fra ServiceNow-butikken .
Hvis du vil konfigurere Handlinger-widgeten for utviklerforekomstene, laster du ned den nyeste System Update Set XML-filen som er tilgjengelig på github-repositoriet på denne plasseringen: 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 widgeten Handlinger, kan du se trinn 2 til 9 i Utføre oppdateringssettet.
Aktiver widget for handlinger
Bruk egenskapen isWidgetDisplayEnabled til å aktivere widgeten Actions. Du må ikke endre denne egenskapens verdi i den hodeløse delen for det egendefinerte skrivebordsoppsettet. Egenskapen settes alltid til usann i den hodeløse delen for det egendefinerte skrivebordsoppsettet. Du bør bare oppdatere egenskapens verdi i paneldelen i det egendefinerte skrivebordsoppsettet.
Når du har aktivert widgeten Handlinger i det egendefinerte skrivebordsoppsettet, kan du utføre følgende handlinger:
- Behandle aktivitetsoppføringer – Klikk Vis/rediger aktivitetsoppføring for å vise listen over aktivitetsoppføringer som er knyttet til oppringeren.
- Knytt til CRM-objekter – Klikk Knytt til aktivitetsoppføringer for å legge til CRM-objekter, for eksempel anropstype (innkommende eller utgående), anropsobjekt, samtalenotater og så videre, i aktivitetsoppføringen.
- Behandle 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 oppføringstypen fra hendelse til sak, HR-modul og så videre, basert på behovene dine. Hvis du vil endre oppføringstypen, endrer du verdien for egenskapen typeOfRecord i widgetkonfigurasjonen Actions. Eksempel:
{ "comp": "md-tab-panel", "attributes": { "slot": "panel", "class": "widget-pane" }, "children": [ { "comp": "agentx-custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "properties": { "isWidgetDisplayEnabled": true, "typeOfRecord" : "Create Incident" }, "wrapper": { "title": "SNOW Actions!", "maximizeAreaName": "app-maximize-area" } } ] }
- Legg til notater med direktesamtale – Du kan registrere tilleggsinformasjon om samtalen i tekstområdet og avslutte samtalen. Du kan se disse notatene lagt til som samtalenotater i aktivitetsoppføringen.
Kodeendring på ServiceNow
Skriptet inkluderer endringer-
Gå til filternavigatoren og søk etter
Skriptet inneholder
.Velg skriptet inkluderer under System UI.
-
Filtrer navnet , og søk etter
propUtils
. -
Endre metoden
UserGetSysId
I manuset .Curent:
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= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },
Ny eksempelkode for hendelsen:
UserGetSysId: funksjon () { var opened_for; //Hendelsesrelaterte endringer var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', opened_for); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { sysidlist.incsysid=inc.getUniqueValue (); }else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='phone'; inc.short_description='Call Received From '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = nye GlideRecordSecure ('interaksjon'); grInt.initialize(); grInt.assigned_to= gs.getUserID (); grInt.type = 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid = sysid; returnere JSON.stringify (sysidlist); },
-
Gå til filternavigatoren og søk etter
UI-siden
.Velg UI-sider under System UI.
-
Filtrer navnet , og søk etter
AgentDesktop
. -
Endre
ScreenPop
Funksjon i klientskript.Nåværende 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('felt', 'telefon'); gaout.addParam('verdi', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({enhet: 'interaksjon', spørring: 'sys_id='+sysid });
Eksempelkode for hendelsen:
screen pop-funksjonen 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(); // 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 innringerinformasjonen finnes i CRM, og det allerede er åpnet en ny hendelse med denne kontakten, åpner programmet den pågående hendelsen
Hvis innringerinformasjonen ikke finnes i CRM, åpner programmet en ny hendelse
Hvis innringerinformasjonen finnes i CRM, åpner programmet en ny hendelse med forhåndsutfylte detaljer
Oversikt
Dette brukstilfellet 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.
Tabellen inneholder som standard visse medfølgende systemfelt og verdier.
Du kan opprette flere forretningsspesifikke variabler (CAD-variabler) i WebexCC-flytutformingen og legge til CAD-variablene i ServiceNow-aktivitetsloggen etter samtalen, samt beholde dette i tabelldataene etter samtaleaktivitet.
Dette er bare en 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.
Det forventes at partner+customer ServiceNow-utviklerne konfigurerer og administrerer denne konfigurasjonen siden det er en tilpassing til den eksisterende koblingen.
Cisco inneholder bare 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:
Legg til kolonne i WebexCC IMP-aktivitet
-
Rediger tabellen i utviklerversjonen av ServiceNow.
-
Gå til filternavigatøren og søk etter studio.
Velg
Webex Contact Center
eller
-
Velg ikonet
WebexCC IMP-aktivitet
bord -
Legg til en ny kolonne, for eksempel
Kundenavn
Legg til kolonne i telefonloggen
-
Rediger telefonloggtabellen.
-
Legg til en ny kolonne, for eksempel
Kundenavn
.
WebexCC Aktivitet Transform Kart
Legg til en ny kolonne, for eksempel Kundenavn
feltkartlegging.
Tilpasse listekolonner
Som Service Now anbefaler, endrer du handlingen Valg fra opprette til ignorere.
Konfigurere liste over telefonlogger
Gå til skript Inkluder
Legg bare til én linje webexcc.u_customername=actInfo.CustomerName
Til propUtils.
Eksempel på skript
Se linjen: webexcc.u_customername=actInfo.CustomerName; med en støttende kommentar.
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'); return JSON.stringify(webexccprop); }, UserGetSysId: function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id;//return user.sys_id; else // return null; var grInt = ny GlideRecord ('interaksjon'); grInt.initialize(); grInt.assigned_to= gs.getUserID (); grInt.type = 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); returnere 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.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(actInfoString),null,2); inc.comments =jsonPretty; inc.update(); } } } tilbake sys_id; }, type: 'propUtils' });
Opprette en CAD-variabel i flytutforming
Legge til CAD-variabelen i skrivebordsoppsettet
Eksempel
"CadName1:SnowField1,CadName2:SnowField2" CadName1 er Kundenavn SnowField1 brukes også som CustomerName, som er en del av eksempelsirptet vist ovenfor "actInfo.CustomerName".
Demo skjermbilder
Vis den nylig tilføyde CAD-variabelen i tabellen WebexCC-aktivitet.
Opprett CAD-variabel for flytutforming
Haster av hendelserKonsekvenser for hendelser
Service Now-skriptoppdatering
Oppdateringer av skriptet inkluderer
-
Gå til filternavigatoren og søk etter
skriptet inkluderer
Velg alternativet Skript inkluderer under System UI.
-
Filtrer navnet med
propUtils
. -
Endre metoden
UserGetSysId
i Skript-feltet .Gjeldende manus:
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= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },
Ny eksempelkode for hendelsen:
UserGetSysId: function () { var opened_for; var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', opened_for); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='phone'; inc.urgency=this.getParameter('IncUrgency'); inc.impact=this.getParameter('impact'); inc.short_description='call received from '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = nye GlideRecordSecure ('interaksjon'); grInt.initialize(); grInt.assigned_to= gs.getUserID (); grInt.type = 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid = sysid; returnere JSON.stringify (sysidlist);//sysid; },
-
Gå til filternavigatoren og søk etter
UI-sider
.Velg alternativet UI-sider under System UI.
-
Filtrer UI-sidene med Name og søk etter
agentdesktop
. -
Endre
ScreenPop
-funksjonen i skriptfeltet.Nåværende funksjon:
screen pop-funksjonen 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(); 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 Legg til en ny kolonne - InteractionsNumber Legg til en ny kolonne - IncidentNumber
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 skriptnavnOpprette en CAD-variabel i flytutforming
Legge til CAD-variabelen i skrivebordsoppsettet
Demo skjermbilder
Vis den nylig tilføyde CAD-variabelen i tabellen WebexCC-aktivitet.