Integrer Webex Contact Center med ServiceNow (versjon 1—Legacy)
Forutsetninger
Minste støttede størrelse for softphone-grensesnittet er 500px. Enhver verdi lavere enn 500 piksler kan føre til problemer med visning eller funksjonalitet.
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 Webex Contact CenterManagement Portal. URL-adressene for Management Portal er spesifikke for regionen din.
-
En agent med tilgang til skrivebordet. Nettadressen til skrivebordet er spesifikk for regionen din.
-
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 Contact Center.
-
-
En ServiceNow-utviklerportalkonto. For å opprette en konto, gå til ServiceNow utviklerportal på https://developer.servicenow.com/dev.do og klikk 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 Contact Center Desktop Layout (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 Integration with ServiceNow.
Følg en av de to metodene nedenfor:
- For utviklerforekomster anbefaler vi at du følger trinnene i veiledningen for utviklerforekomster.
- Hvis du eier en forekomst med bedriftslisensiert forekomst, følger du retningslinjene for forekomster med virksomhetslisensiering.
Vi anbefaler ikke å blande den bedriftslisensierte appen med utviklersandkasseforekomster.
Digitale kanaler som chat og e-post støttes ikke med CRM-kontakter. Dette gjelder alle CRM-integrasjoner som bruker disse kontaktene. Planlegg arbeidsflytene for distribusjon og kundeengasjement deretter.
De følgende avsnittene beskriver trinnene for å installere ServiceNow-kontakten for utviklerforekomster.
| 1 |
Logg på ServiceNow-utviklerportalkontoen din og åpne administras jonskonsollen. |
| 2 |
Fra Min forekomst -området på Konto- menyen klikker du Start bygging.
|
| 3 |
På utviklerforekomsten din, fra filternavigator feltet øverst til venstre i vinduet, naviger til Plugins.
|
| 4 |
Søk etter Openframe-plugin som har tittelen Open frame. Du må kanskje bla gjennom listen.
|
| 5 |
Klikk på Installer for å installere Openframe-pluginet. |
| 6 |
Klikk Aktiver i dialogboksen Akti ver plugin.
|
| 7 |
Når plugin-aktiveringen er fullført, klikker du Lukk og last inn skjema på nytt i dialogboksen Plug-in-aktivering.
|
| 8 |
For å bekrefte plugin-aktiveringen, fra filternavigator feltet øverst til venstre i vinduet, naviger til OpenFrame. |
| 9 |
Klikk på Konfigurasjoner og kontroller at OpenFrame-plugin-modulen vises i OpenFrame-konfigur asjonslisten.
|
| 1 |
Filnavn: Web Excc-ServiceNow-Update-Setv (X) .xml
|
| 2 |
I ServiceNow-forekomsten, fra filternavigator feltet øverst til venstre i vinduet, navigerer til gjennomføring.
|
| 3 |
Klikk koblingen Importer oppdateringssett fra XML.
|
| 4 |
Klikk Velg fil, velg XML-filen for systemoppdateringssett, og klikk deretter Last opp.
Oppdateringssettet vises i listen Hentet oppdateringssett og er i Lastet tilstand.
|
| 5 |
Fra listen Hentet oppdateringssett klikker du på Update Set File Name (lenken) for å åpne oppdateringssettet.
|
| 6 |
Øverst til høyre i vinduet klikker du på Forhånds visning av oppdateringssett for å sjekke om det er problemer i oppdateringssettet.
|
| 7 |
Klikk Luk k i dialogboksen Update Set Preview når forhåndsvisningen er fullført.
|
| 8 |
Klikk på Commit Update Set.
|
| 9 |
Klikk Luk k i dialogboksen Update Set Commit når bekreftelsen av oppdateringssettet er fullført.
|
| 1 |
Skriv inn
|
| 2 |
På siden Systemegenskaper sorterer du egenskapene etter oppdatert dato. Forsikre deg om at du kan se følgende Webex Contact Center-egenskaper:
|
| 3 |
Klikk agentdesktop_urlfor å åpne agentdesktop_url siden System egenskaper. |
| 4 |
I Ver di- feltet skriver du inn URL-adressen for Webex Contact Center Desktop i henhold til operasjonsområdet.
|
| 5 |
Klikk Oppdater for å lagre endringene. |
| 6 |
(Valgfritt) Hvis du vil endre navnet på aktivitetstabellen, redigerer webexccactivit ytable-egenskapene etter behov. På siden Systemegenskaper klikker du på webex ccactivitytable. Endre Verdi- feltet etter behov.
|
| 7 |
(Valgfritt) Legg til brukergrupper på følgende måter:
|
| 1 |
Fra Filternavigator- feltet navigerer du til .
|
| 2 |
Klikk 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-en vises som en lenke.
|
| 7 |
Før du prøver å bruke OpenFrame-telefonen, må du sørge for at du laster opp ServiceNow egendefinert JSON-fil for skrivebordsoppsett til Webex Contact Center. Management Portal Hvis du vil ha mer informasjon, kan du se Konfigurere ServiceNow Desktop Layout på Webex Contact Center. |
| 1 |
|
| 2 |
Oppdater egenskapene i skrivebordslayoutfilen, hvis nødvendig. |
| 3 |
Gå til Webex Contact CenterManagement Portal. |
| 4 |
Fra Management Portal navigasjonslinjen velger du Klargjøring
|
| 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 Contact Center Desktop i ServiceNow-konsollen. |
| 8 |
Fra Filternavigator- feltet navigerer du til .
|
I de følgende avsnittene beskrives trinnene for å installere ServiceNow-kontakten for lisensierte forekomster av bedrifter.
| 1 |
Logg på ServiceNow-utviklerportalkontoen din og åpne administras jonskonsollen. |
| 2 |
Fra Min forekomst -området på Konto- menyen klikker du Start bygging.
|
| 3 |
På utviklerforekomsten din, fra filternavigator feltet øverst til venstre i vinduet, naviger til Plugins.
|
| 4 |
Søk etter Openframe-plugin som har tittelen Open frame. Du må kanskje bla gjennom listen.
|
| 5 |
Klikk på Installer for å installere Openframe-pluginet. |
| 6 |
Klikk Aktiver i dialogboksen Akti ver plugin.
|
| 7 |
Når plugin-aktiveringen er fullført, klikker du Lukk og last inn skjema på nytt i dialogboksen Plug-in-aktivering.
|
| 8 |
For å bekrefte plugin-aktiveringen, fra filternavigator feltet øverst til venstre i vinduet, naviger til OpenFrame. |
| 9 |
Klikk på Konfigurasjoner og kontroller at OpenFrame-plugin-modulen vises i OpenFrame-konfigur asjonslisten.
|
Forekomster som har bedriftslisenser, kan installere Webex Contact Center-applikasjonen direkte fra ServiceNow Store.
|
|
| 1 |
I Filternavigator -feltet øverst til venstre i vinduet skriver du inn
|
| 2 |
På siden Systemegenskaper sorterer du egenskapene etter oppdatert dato. Forsikre deg om at du kan se følgende Webex Contact Center-egenskaper:
|
| 3 |
Klikk agentdesktop_urlfor å åpne agentdesktop_url siden System egenskaper. |
| 4 |
I Ver di- feltet skriver du inn URL-adressen for Webex Contact Center Desktop i henhold til operasjonsområdet.
|
| 5 |
Klikk Oppdater for å lagre endringene. |
| 6 |
(Valgfritt) Hvis du vil endre navnet på aktivitetstabellen, redigerer du egenskapen x_caci_webexcce.webexccactiv itytable etter behov.
|
| 7 |
(Valgfritt) Legg til brukergrupper på følgende måter:
|
| 1 |
Fra Filternavigator- feltet navigerer du til .
|
| 2 |
Klikk 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-en vises som en lenke.
|
| 7 |
Fra Filternavigator- feltet navigerer du til .
|
| 8 |
(Valgfritt) I Brukergruppe- listen flytter du brukergruppene som har tilgang til Webex Contact Center- skrivebordet fra Tilgjengelig til valgt. |
| 9 |
Før du prøver å bruke OpenFrame-telefonen, må du sørge for at du laster opp ServiceNow egendefinert JSON-fil for skrivebordsoppsett til Webex Contact Center. Management Portal Hvis du vil ha mer informasjon, kan du se Konfigurere ServiceNow Desktop Layout på Webex Contact Center. |
| 1 |
|
| 2 |
Oppdater egenskapene i skrivebordslayoutfilen, hvis nødvendig. |
| 3 |
Gå til Webex Contact CenterManagement Portal. |
| 4 |
Fra Management Portal navigasjonslinjen velger du Klargjøring
|
| 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 Contact Center Desktop i ServiceNow-konsollen. |
| 8 |
Fra Filternavigator- feltet navigerer du til .
|
| 1 |
Fra Filternavigator- feltet navigerer du til Hendelser > Åpne hendelse. |
| 2 |
Høyreklikk på anropsfeltet og klikk Konfigurer ordbok.
|
| 3 |
Legg til kommaseparerte attributter
Du kan nå begynne å bruke Webex Contact Center Desktop i ServiceNow-konsollen. |
| 4 |
Fra Filternavigator- feltet navigerer du til .
|
- Vi støtter kun pålogging ved Agent Desktop bruk av WebRTC for Salesforce (SFDC) og Microsoft Dynamics (MS Dynamics) -tilkoblinger.
- Foreløpig gjelder denne funksjonen bare for agenter.
Agent Desktopi ServiceNow Console
Før du foretar utgående anrop, må du sørge for at du gjør følgende:
-
Opprett outdial inngangspunkt og sett opp en outdial inngangspunktstrategi.
-
Aktiver outdial ANI for agentprofilen.
-
Angi den utgående ANI til en tilordning for oppringingsnummer til inngangspunkt.
Hvis du vil ha mer informasjon, kan du se kapitlet om klargj øring i Cisco Webex Contact Centerinstallasjons- og administrasjonsveiledningen.
Fra Filternavigator- feltet navigerer du til .
Hvis du vil ha informasjon om hvordan du bruker Desktop, kan du se Agent -fanen 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 Contact Center-programvare 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 leverer bare eksempeldokumentasjon.
De følgende avsnittene inneholder detaljer om hvordan du konfigurerer, aktiverer og administrerer Handlings-widgeten for utvikler- og bedriftsforekomster.
Utfør oppdateringssettet for handlinger-widgeten
For de lisensierte forekomstene i bedriften installerer du den nyeste Webex Contact Center-appen fra Service Now-butikken.
Hvis du vil konfigurere Handlings-widgeten for utviklerforekomstene, laster du ned den nyeste XML-filen for systemoppdateringssett 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. Hvis du vil utføre oppdateringssettet for widgeten Handlinger, kan du se trinn 2 til 9 i Gjennomfør oppdateringssettet.
Aktiver handlings-widgeten
Bruk egenskapen isWidgetDisplayEnabled til å aktivere widgeten Handlinger. Du må ikke endre verdien for denne egenskapen i den egendefinerte skrivebordslayoutens hodeløse seksjon. Egenskapen er alltid satt til falsk i den egendefinerte skrivebordslayoutens hodeløse seksjon. Du bør bare oppdatere egenskapens verdi i paneldelen av det egendefinerte skrivebordsoppsettet.
Når du aktiverer widgeten Handlinger i det egendefinerte skrivebordsoppsettet, kan du utføre følgende handlinger:
- Administrer aktivitetsposter — Klikk Vis /rediger aktivitetspost for å vise listen over aktivitetsposter som er knyttet til den som ringer.
- Tilknytt CRM-objekter — Klikk Til knyt til aktivitetsposter for å legge til CRM-objekter, for eksempel anropstype (innkommende eller utgående), anropsobjekt, anropsnotater og så videre, i aktivitetsposten.
- Administrer hendelser — Klikk på Opprett hendelse. En ny hendelse opprettes med innringerdetaljene 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. Hvis du vil endre posttypen, endrer du verdien av TypeOfRec ord-egenskapen i widgetkonfigurasjonen Handlinger. For eksempel:
{ "comp": "md-tab-panel", "attributes": { "slot": "panel", "class": "widget-pane" }, "children": [ { "comp": "agentx-custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "properties": { "isWidgetDisplayEnabled": true, "typeOfRecord" : "Create Incident" }, "wrapper": { "title": "SNOW Actions !", "maximizeAreaName": "app-maximize-area" } } ] } - Legg til direktesendte anropsnotater — Du kan hente tilleggsinformasjon om samtalen i tekstområdet og avslutte samtalen. Du kan se disse notatene lagt til som anropsnotater i aktivitetsposten.
Kodeendring på ServiceNow
Skriptet inneholder endringer-
Gå til filternavigatoren og søk etter
skript inkludert
.Velg Skript Inkluderer under Systembrukergrensesnitt.
-
Filtrer navnet og søk etter
PropUtils.
-
Endre metoden U
serGetSysID i skriptet
.Nåværende:
UserGetSysId : function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },Ny eksempelkode for hendelsen:
UserGetSysId : function () { var opened_for; //Incident related changes var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', opened_for); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='phone'; inc.short_description='Call Received From '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = 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 filternavigator og søk etter
UI page.Velg UI-sider under System UI.
-
Filtrer navnet og søk etter
agentdesktop
. -
Endre
skjermpop-
funksjonen i klientskript.Nåværende funksjon:
// screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid });Eksempelkode for hendelsen:
// screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // For Incident-related change var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', 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 innringingsinformasjonen finnes i CRM, og det allerede er åpnet en ny hendelse med denne kontakten, åpner applikasjonen den pågående hendelsen
Hvis innringingsinformasjonen ikke finnes i CRM, åpner applikasjonen en ny hendelse
Hvis innringingsinformasjonen 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 installasjonen av Webex CC for ServiceNow CRM Connector.
Som standard inneholder tabellen visse systemfelt og verdier utenfor boksen.
Du kan opprette flere forretningsspesifikke variabler (CAD-variabler) inne i WebExCC Flow designer og legge til CAD-variablene inne i ServiceNow-aktivitetsloggen etter anrop, samt fortsette dette i aktivitetstabelldataene etter anrop.
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 legger dette til ServiceNow.
Det forventes at partner+kundeserviceNow-utviklerne vil konfigurere og administrere denne konfigurasjonen ettersom den er en tilpasning til den eksisterende kontakten.
Cisco gir bare teknikkene for hvordan du tilpasser og utvider kontakten.
Fra og med denne artikkelen har Cisco-teamet validert støtte for tillegg av CAD-variabel til aktivitetsloggen og aktivitetstabellen ved hjelp av teknikken 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 kontaktsenter

eller



-
Velg
WebExCC IMP-aktivitetstabellen

-
Legg til en ny kolonne, for eksempel
CustomerName


Legg til kolonne i telefonlogg
-
Rediger telefonloggtabellen.


-
Legg til en ny kolonne, for eksempel
CustomerName
.

WebExCC Aktivitetstransformasjonskart

Legg til en ny kolonne, for eksempel CustomerNam
e-felttilordning.


Tilpass listekolonner

Som Service Now anbefaler, endrer du Valg-handlingen fra opprett til ignorere.


Konfigurer telefonloggliste

Gå til Script Include
Legg bare en linje webexcc. u_customername=ActInfo.CustomerName til PropUtils
.



Se linjen: webexcc. u_customername=ActInfo.Customer Name; med en støttende kommentar.
var propUtils = Class.create();
propUtils.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{
getWebexccProp : function () {
var webexccprop = {};
webexccprop.instanceurl= 'https://'+gs.getProperty('instance_name')+'.service-now.com/';
webexccprop.url=gs.getProperty('x_caci_webexcc.agentdesktop_url');
// webexccprop.popupurl=gs.getProperty('x_caci_webexcc.screenpop_url');
return JSON.stringify(webexccprop);
},
UserGetSysId : function () {
var opened_for;
var user = new GlideRecord("sys_user");
user.addQuery(this.getParameter('field'),this.getParameter('value'));
user.query();
if (user.next())
opened_for=user.sys_id;//return user.sys_id;
// else
// 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 : 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;
// This line is Added - to capture it in the Activity Log
webexcc.u_customername=actInfo.CustomerName;
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);
inc.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'
});
Opprette en CAD-variabel i Flow designer

Legge til CAD-variabelen i skrivebordsoppsettet
Eksempel
"CadName1:SnowField1,CadName2:SnowField2"
CadName1 is CustomerName
SnowField1 is also used as CustomerName which is part of sample scirpt showen above "actInfo.CustomerName".

Demo skjermbilder
Vis den nylig tilføyde CAD-variabelen i WebExCC aktivitetstabellen.



Opprette CAD-variabel for Flow Designer
Hendelseshaster
Hendelsespåvirkning

Service Now skriptoppdatering
Oppdateringer til skriptet inkluderer
-
Gå til filternavigatoren og søk etter
script includesVelg alternativet Skript inkluderer under Systembrukergrensesnitt.

-
Filtrer navnet med
propUtils.
-
Endre metoden U
serGetSysID i Skrip
t-feltet.
Nåværende skript:
UserGetSysId : function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; 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 = 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
UI pages.Velg alternativet UI-sider under System UI.

-
Filtrer bruker grensesnittsidene med navn og søk etter
agentdesktop.
-
Endre
skjermpop-
funksjonen i skriptfeltet.
Nåværende funksjon:
// screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid }); }Eksempelkode for hendelsen:
// screen pop function 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('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: '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 innringingsinformasjonen finnes i CRM, og det ikke er noen ny eller pågående hendelse, åpner applikasjonen en ny hendelse


Endre koden på ServiceNow
Legg til nye kolonner i WebExCC IMP-aktivitetstabellen
Åpne WebExCC IMP-aktivitetstabellen





Klikk på Opp dater.


Legge til nye kolonner i telefonlogg
tabellen
Åpne telefonlogg
tabellen





WebExCC Aktivitetstransformasjonskart
Åpne transformasjonskart
fra filternavigatoren


Klikk på WebExCC Activity TransformMap




Klikk på Oppdater.

Endringer i skript inkluderer
-
Gå til filternavigatoren og søk etter «skript inkluderer».
Velg Skript Inkluderer under Systembrukergrensesnitt.

-
Filtrer navnet med
PropUtils.

-
Endre metoden
SetWeb
ExccTable.
Ny eksempelkode for hendelse:
setWebexcctable : function () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('webexccactivitytable')); webexcc.addQuery("u_callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { //Activities on Incident record; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; delete actInfo['interaction_sys_id']; delete 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(); } return sys_id; },
Metodeendringer på UI-sider
-
Gå til filternavigatoren og søk etter
UI-sider
Velg alternativet UI-sider under System UI.

-
Filtrer brukergrensesnittsidene med navn og søk etter
agentdesktop.
-
Endre funksjonen
NowActivities og screenpop
i skriptet.
Nåværende funksjon:
function 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 != 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); } function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', 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 nyere. Følg trinnene ovenfor for tilpasningene for nyere versjoner 1.0.7 og nyere.
Tilpasning nr. 1 - Legg til egendefinerte forretningsregler for brukstilfeller for samtaleflyt
Opprett en ny hendelsespost for hvert anropFor hvert nytt anrop til WebExCC CRM-kontakten i ServiceNow, opprett en ny hendelsesrekord.
Søk etter forretningsregler i filternavigatoren

Klikk Ny.

Eksempelkode for referanse:
function 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", name); } if (userID == null && phone != null && phone != '') { userID = UserGetSysId("phone", phone); } if (userID != null) { if (fQuery.length > 0) fQuery += "^"; fQuery += "caller_id=" + userID; } if (url == null) { url = "incident.do?sys_id=-1"; if (fQuery != null) url += "&sysparm_query=" + fQuery; } answer = url; return url; } function UserGetSysId(field, value) { var user = new GlideRecord("sys_user"); user.addQuery(field, value); user.query(); if (user.next()) return user.sys_id; else return null; }Eksempelkonfigurasjon av forretningsregelen

Aktiver klient som kan ringes

Computer Telephony Integration (CTI) Processing for Incident er merket som True.

Oppdater skjermpop-url-en med den tilpassede CTI-regelen "cti.do? sysparm_cti_rule=Opprett tilfeldighet& = "sysparm_caller_phone

sysparm_cti_rule=navnet der 'navn' er navnet på en funksjon, skal påkalles for CTI-behandling i stedet for å bruke standardskriptet.
Definer funksjonen i en opp sys_scriptføring merket klientkallbar.
Hvis du må sette inn, oppdatere eller slette GlidereCord (er) i funksjonen, kaller du en separat funksjon som ikke kan anropes av klienten for å utføre oppdateringene.
Hvis du vil gjøre et skript klientkallbart, må du merke av i avmerkingsboksen Client-callable på skjemaet som vises når oppføringen vises. sys_script
Avmerkingsboksen som kan kalles for klient 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 Webex Contact Center aktivitetstabell
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.
Tabellen inneholder som standard systemfelt og verdier som er ferdige.
Du kan potensielt opprette flere forretningsspesifikke variabler (CAD-variabler) inne i WebExCC Flow designer og legge til disse CAD-variablene i ServiceNow-aktivitetsloggen etter an rop, og fortsette dette i aktivitetstabelldataene etter anrop.
-
Dette er kun referansedokumentasjon - og viser hvordan du gjør dette for en eksempel CAD-variabel kalt Customer Name som lagrer kundenavnet inne i IVR og legger dette til ServiceNow.
-
Partner+kundeserviceNow-utviklerne vil konfigurere og administrere denne konfigurasjonen ettersom den er en tilpasning til den eksisterende kontakten.
-
Cisco vil bare gi teknikkene for hvordan du tilpasser og utvider kontakten.
-
Fra og med denne artikkelen har Cisco-teamet validert støtte for tillegg av CAD-variabel til aktivitetsloggen og aktivitetstabellen ved hjelp av teknikken beskrevet nedenfor.
Rediger tabellen i utviklerversjonen av ServiceNow.

Gå til .



Velg WebExCC Aktiv itetstabell.

For eksempel CustomerName.


Velg Listelayout for WebExCC-aktivitet.

Dette trinnet er ikke nødvendig hvis du bruker Update Set XML - Bare en linje kreves for å bli lagt til "webexcc. u_customername=ActInfo.CustomerName "til PropUtils.



Eksempelskript
Se linjen med: webexcc. u_customername=ActInfo.Customer Name; 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;
// This line is Added - to capture it in the Activity Log
webexcc.u_customername=actInfo.CustomerName;
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);
inc.orderByDesc('sys_created_on');
inc.query();
if (inc.next()) {
var jsonPretty = JSON.stringify(JSON.parse(acting string),null,2);
inc.comments =jsonPretty;
inc.update();
}
}
}
return sys_id;
},
type: 'propUtils2'
});
Rediger brukergrensesnittsiden med et nytt skriptnavn
Opprette en CAD-variabel i Flow designer
Legge til CAD-variabelen i skrivebordsoppsettet
Demo skjermbilder
Vis den nylig tilføyde CAD-variabelen i WebExCC aktivitetstabellen.

CRM-kontakten fungerer basert på versjonen av widgeten som er angitt i skrivebordsoppsettet JSON. Det er ekstremt viktig å sikre at widgetversjonen i skrivebordsoppsettet holdes oppdatert.
Administratorer forventes å sikre at alle skrivebordsoppsett for denne CRM-kontakten bruker denne widgetversjonen. If the layout is not updated to use the latest version, functionality will no longer be supported and may cease to work correctly.
- Siste ServiceNow oppdatering— ServiceNow_Desktop_0 .1.0_v5.0.3.json. Fra mars 2024 er pakkeversjonen 1.0.9
- Siste XML-oppdatering—WebExcc-ServiceNow-Update-SetV7-1-ActionsWidget.xml, juni 2024











































