Integrirajte Webex kontakt centar s ServiceNow (verzija 1 - Legacy)
Preduvjeti
Minimalna podržana veličina softphone sučelja je 500px. Svaka vrijednost manja od 500px može rezultirati problemima s prikazom ili funkcionalnošću.
Prije nego što Webex Contact Center integrirate s ServiceNow CRM konzolom, provjerite imate li sljedeće:
-
Pristup Webex kontakt centru.
-
Administratorski pristup kontrolnom čvorištu na adresi https://admin.webex.com i Webex kontakt centru. Management Portal URL-ovi za njih specifični Management Portal su za vašu regiju.
-
Agent s pristupom radnoj površini. URL radne površine specifičan je za vašu regiju.
-
Pristup agenta sljedećoj domeni koja je dodana u Popis dopuštenih pravila o sigurnosti sadržaja:
-
*.service-now.com
Više informacija o tome kako definirati dopušteni popis potražite u članku Sigur nosne postavke za Webex kontakt centar.
-
-
Račun portala za programere ServiceNow. Da biste stvorili račun, idite na portal za programere ServiceNow na adresi https://developer.servicenow.com/dev.do i kliknite Prijavite se i Počnite graditi.
-
Pristup sljedećim datotekama na https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
ServiceNow set ažuriranja (XML)
-
Izgled radne površine serviceNow kontaktnog centra (JSON)
-
- Izdanja ServiceNow koja Webex Contact Center podržava su Vancouver, Utah, Tokya, Washington i Xanadu. Za više informacija pogledajte Webex Contact Center Integracija sa ServiceNow.
Slijedite jednu od dvije metode u nastavku:
- Za primjerke programera preporučujemo da slijedite korake u vodiču za instancu programera.
- Ako posjedujete instancu licenciranu za poduzeće, slijedite smjernice za instance licencirane za poduzeća.
Ne preporučujemo miješanje aplikacije licencirane za poduzeće s instancama pješčanika za programere.
Digitalni kanali poput chata i e-pošte nisu podržani pomoću CRM konektora. To se odnosi na sve CRM integracije koje koriste ove priključke. Molimo isplanirajte svoje tijekove implementacije i angažmana kupaca u skladu s tim.
Sljedeći odjeljci opisuju korake za instaliranje konektora ServiceNow za instance programera.
| 1 |
Prijavite se na račun portala za razvojne programere ServiceNow i otvorite Administr acijsku konzolu. |
| 2 |
U području Moja inst anca izbornika Račun kliknite Pokreni izgradnju.
|
| 3 |
Na instanci programera iz polja Filter navigator u gornjem lijevom kutu prozora idite na Dodat ci.
|
| 4 |
Potražite dodatak Openframe koji ima naslov Open frame. Možda ćete se morati pomicati kroz popis.
|
| 5 |
Kliknite Instaliraj da biste instalirali dodatak Openframe. |
| 6 |
U dijaloš kom okviru Ak tiviraj dodatak kliknite Aktiviraj.
|
| 7 |
Kada je aktivacija dodatka završena, kliknite Zatvori i ponovno učitaj obrazac u di jaloškom okviru Aktivacija dodatka.
|
| 8 |
Da biste provjerili aktivaciju dodatka, iz polja Filter navigator u gornjem lijevom kutu prozora idite na OpenFrame. |
| 9 |
Kliknite Konfiguracije i pobrinite se da se dodatak OpenFrame pojavljuje na popisu OpenFrame Configurations.
|
| 1 |
Naziv datoteke: WebExcc-ServiceNow-Update-Setv (X) .xml
|
| 2 |
Na instanci ServiceNow iz polja Filter Navigator u gornjem lijevom kutu prozora idite na Skupovi .
|
| 3 |
Kliknite vezu U vezi set ažuriranja iz XML- a.
|
| 4 |
Kliknite Odaberi datote ku, odaberite XML datoteku Postavi ažuriranje sustava, a zatim kliknite U čitaj.
Skup ažuriranja pojavljuje se na popisu Preuzetih skupova ažuri ranja i nalazi se u stanju uč itano.
|
| 5 |
Na popisu Preuzetih skupova ažuri ranja kliknite Naziv datoteke Ažuriraj skupa (veza) da biste otvorili skup ažuriranja.
|
| 6 |
U gornjem desnom kutu prozora kliknite Pregledaj set ažuriranja da biste provjerili ima li problema u skupu ažuriranja.
|
| 7 |
Kliknite Zatvori na dijaloškom okviru Ažuriraj set pregled nakon završetka pregleda.
|
| 8 |
Kliknite O vjeri set ažuriranja.
|
| 9 |
Kliknite Zatvori u dijaloš kom okviru Pove zi vanje skupa ažuriranja nakon dovršetka izvršavanja skupa ažuriranja.
|
| 1 |
U polje Filter navigator u gornjem lijevom kutu prozora upišite
|
| 2 |
Na stranici S vojstva sustava sortirajte svojstva prema datumu ažuriranja. Provjerite možete li vidjeti sljedeća svojstva Webex Contact Center:
|
| 3 |
Kliknite agentdesktop_urlda biste otvorili stranicu S voj agentdesktop_url stva sustava. |
| 4 |
U polje Vri jednost unesite URL radne površine Webex Cont act Center prema regiji rada.
|
| 5 |
Kliknite A ž uriraj da biste spremili promjene. |
| 6 |
(Neobavezno) Da biste promijenili naziv tablice aktivnosti, uredite svojstva webexccactivity table prema potrebi. Na stranici S vojstva sustava kliknite na webex ccactivitytable. Promijenite polje Vri jednost prema potrebi.
|
| 7 |
(Neobavezno) Dodajte korisničke grupe na sljedeće načine:
|
| 1 |
U polju Filter navigator id ite na .
|
| 2 |
Kliknite Novo.
|
| 3 |
Unesite sljedeća svojstva za URL:
|
| 4 |
Desno od polja URL kliknite gumb Zak lju čaj i dodajte
|
| 5 |
(Opcionalno) Odaberite korisnik/grupe agenata da biste dodijelili konfiguraciju.
|
| 6 |
Kliknite Po šalji. URL se pojavljuje kao veza.
|
| 7 |
Prije nego što pokušate koristiti OpenFrame telefon, pobrinite se da prenesete ServiceNow prilagođenu datoteku Desktop Layout JSON u Webex kontakt centar. Management Portal Dodatne informacije potražite u odjelj ku Postavljanje izgleda radne površine ServiceNow u Webex kontaktnom centru. |
| 1 |
|
| 2 |
Ako je potrebno, ažurirajte svojstva u datoteci Izgled radne površine. |
| 3 |
Idite na Webex kontakt centar. Management Portal |
| 4 |
Na Management Portal navigacijskoj traci odaberite Postavljanje .
|
| 5 |
Kliknite Novi izgled i unesite detalje za izgled radne površine. |
| 6 |
Prenesite datoteku ServiceNow Desktop Layout JSON. |
| 7 |
Kliknite S premi da biste spremili konfiguraciju. Sada možete pokrenuti Webex Contact Center Desktop unutar ServiceNow konzole. |
| 8 |
U polju Filter Navigator idite na Radni .
|
Sljedeći odjeljci opisuju korake za instaliranje konektora ServiceNow za licencirane poslovne instance.
| 1 |
Prijavite se na račun portala za razvojne programere ServiceNow i otvorite Administr acijsku konzolu. |
| 2 |
U području Moja inst anca izbornika Račun kliknite Pokreni izgradnju.
|
| 3 |
Na instanci programera iz polja Filter navigator u gornjem lijevom kutu prozora idite na Dodat ci.
|
| 4 |
Potražite dodatak Openframe koji ima naslov Open frame. Možda ćete se morati pomicati kroz popis.
|
| 5 |
Kliknite Instaliraj da biste instalirali dodatak Openframe. |
| 6 |
U dijaloš kom okviru Ak tiviraj dodatak kliknite Aktiviraj.
|
| 7 |
Kada je aktivacija dodatka završena, kliknite Zatvori i ponovno učitaj obrazac u di jaloškom okviru Aktivacija dodatka.
|
| 8 |
Da biste provjerili aktivaciju dodatka, iz polja Filter navigator u gornjem lijevom kutu prozora idite na OpenFrame. |
| 9 |
Kliknite Konfiguracije i pobrinite se da se dodatak OpenFrame pojavljuje na popisu OpenFrame Configurations.
|
Instance koje imaju korporativne licence mogu instalirati aplikaciju Webex Contact Center izravno iz ServiceNow trgovine.
|
|
| 1 |
U polje Filter navigator u gornjem lijevom kutu prozora unesite
|
| 2 |
Na stranici S vojstva sustava sortirajte svojstva prema datumu ažuriranja. Provjerite možete li vidjeti sljedeća svojstva Webex Contact Center:
|
| 3 |
Kliknite agentdesktop_urlda biste otvorili stranicu S voj agentdesktop_url stva sustava. |
| 4 |
U polje Vri jednost unesite URL radne površine Webex Cont act Center prema regiji rada.
|
| 5 |
Kliknite A ž uriraj da biste spremili promjene. |
| 6 |
(Opcionalno) Da biste promijenili naziv tablice aktivnosti, uredite svojstva x_caci_webexcc.webexccactiv itytable prema potrebi.
|
| 7 |
(Neobavezno) Dodajte korisničke grupe na sljedeće načine:
|
| 1 |
U polju Filter navigator id ite na .
|
| 2 |
Kliknite Novo.
|
| 3 |
Unesite sljedeća svojstva za URL:
|
| 4 |
Desno od polja URL kliknite gumb Zak lju čaj i dodajte
|
| 5 |
(Opcionalno) Odaberite korisnik/grupe agenata da biste dodijelili konfiguraciju.
|
| 6 |
Kliknite Po šalji. URL se pojavljuje kao veza.
|
| 7 |
U polju Filter Navigator idite na Radni .
|
| 8 |
(Opcionalno) Na popisu Korisničke grupe premjestite grupe korisnika koje mogu pristupiti radnoj površini Webex Contact Center iz Dostup ne u Odabrano. |
| 9 |
Prije nego što pokušate koristiti OpenFrame telefon, pobrinite se da prenesete ServiceNow prilagođenu datoteku Desktop Layout JSON u Webex kontakt centar. Management Portal Dodatne informacije potražite u odjelj ku Postavljanje izgleda radne površine ServiceNow u Webex kontaktnom centru. |
| 1 |
|
| 2 |
Ako je potrebno, ažurirajte svojstva u datoteci Izgled radne površine. |
| 3 |
Idite na Webex kontakt centar. Management Portal |
| 4 |
Na Management Portal navigacijskoj traci odaberite Postavljanje .
|
| 5 |
Kliknite Novi izgled i unesite detalje za izgled radne površine. |
| 6 |
Prenesite datoteku ServiceNow Desktop Layout JSON. |
| 7 |
Kliknite S premi da biste spremili konfiguraciju. Sada možete pokrenuti Webex Contact Center Desktop unutar ServiceNow konzole. |
| 8 |
U polju Filter Navigator idite na Radni .
|
| 1 |
U polju Filter navigator idite na In cidenti > Otvori incident. |
| 2 |
Desnom tipkom miša kliknite polje pozivatelja i kliknite Konfiguriraj rječnik.
|
| 3 |
Dodajte Atribu
Sada možete početi koristiti Webex Contact Center Desktop unutar ServiceNow konzole. |
| 4 |
U polju Filter Navigator idite na Radni .
|
- Podržavamo prijavu na Agent Desktop korištenje WebRTC samo za Salesforce (SFDC) i Microsoft Dynamics (MS Dynamics) konektora.
- Trenutno se ova značajka primjenjuje samo na agente.
Agent Desktopu konzoli ServiceNow
Prije nego što uputite vanjske pozive, pobrinite se da učinite sljedeće:
-
Stvorite vanjsku ulaznu točku i postavite strategiju vanjske ulazne točke.
-
Omogućite vanjski ANI za profil agenta.
-
Postavite vanjski ANI na mapiranje brojčanog broja do točke ulaska.
Dodatne informacije potražite u poglavlju Op skrba u V odiču za Cisco Webex Contact Centerpostavljanje i administraciju.
U polju Filter Navigator idite na Radni .
Informacije o korištenju radne površine potražite na kartici Agent u pomoći Webex kontaktnog centra.
Pregled
Ovaj članak pokriva nekoliko načina prilagodbe poslovnih pravila za ServiceNow CRM konektor. Detaljno opisuje kako možete prilagoditi slučajeve korištenja na temelju poslovnih pravila koja su specifična za ServiceNow.
Kupac mora sam upravljati ovim slučajevima korištenja na ServiceNow. Konfiguracija je specifična za ServiceNow, a ne softver ili stručnost Webex Contact Center.
Ovo je referentna dokumentacija koja pomaže u izmjeni poslovnih pravila. Programeri ServiceNow kreirat će poslovna pravila i upravljati njima te pružati podršku.
Cisco pruža samo uzorak dokumentacije.
Sljedeći odjeljci pružaju detalje o tome kako postaviti, omogućiti i upravljati widgetom Akcije za instance programera i poduzeća.
Dodjeljivanje skupa ažuriranja za widget radnji
Za licencirane poslovne instance instalirajte najnoviju aplikaciju Webex Contact Center iz trgovine Service Now.
Da biste postavili widget Akcije za instance programera, preuzmite najnoviju XML datoteku za podešavanje ažuriranja sustava dostupnu na github repo-u na ovom mjestu: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Naziv datoteke je webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Da biste izvršili skup ažuriranja za widget Radnje, pogledajte korake od 2 do 9 u odjeljku Odobrenje skupa ažuriranja.
Omogući widget radnji
Koristite svojstvo isWidgetDisplayEnabled da biste omogućili widget Akcije. Ne smijete mijenjati vrijednost ovog svojstva u odjeljku bez glave prilagođenog izgleda radne površine. Svojstvo je uvijek postavljeno na false u odjeljku bez glave prilagođenog izgleda radne površine. Vrijednost svojstva trebali biste ažurirati samo u odjeljku ploče prilagođenog izgleda radne površine.
Nakon što omogućite widget Radnje u prilagođenom izgledu radne površine, možete izvršiti sljedeće radnje:
- Upravljanje zapisima aktivnosti — kliknite Prikaz/Uredi zapis aktivnosti da biste vidjeli popis zapisa aktivnosti povezanih s pozivateljem.
- Pridružite CRM objekte — kliknite Pri druži zapisima aktivnosti da biste u zapis aktivnosti dodali CRM objekte kao što su vrsta poziva (dolazni ili odlazni), objekt poziva, bilješke o pozivu itd.
- Upravljanje incidentima — kliknite Stvori incident. Stvara se novi incident s unaprijed popunjenim detaljima pozivatelja. Možete izvršiti potrebna ažuriranja incidenta. Možete odabrati izmjenu vrste zapisa od incidenta do slučaja, HR modula i tako dalje na temelju vaših zahtjeva. Da biste promijenili vrstu zapisa, izmijenite vrijednost svojstva TypeOfRecord u konfiguraciji widgeta Akcije. Na primjer:
{ "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" } } ] } - Dodajte bilješke o pozivu uživo — možete snimiti dodatne informacije o pozivu u tekstualnom području i završiti poziv. Ove bilješke možete vidjeti dodane kao bilješke o pozivu u zapisu aktivnosti.
Promjena koda na ServiceNow
Skripta uključuje promjene-
Idite na filter navigator i potražite
skriptu koja uključuje
.Odaberite Skripta uključuje pod Sustav no korisničko sučelje.
-
Filtrirajte ime i potražite
PropuTils
. -
Promijenite metodu
UserGetSySid u skripti
.Trenutni:
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; },Novi uzorak koda za incident:
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); },
-
Idite na filter navigator i potražite
UI page.Odaberite stranice korisničkog su čelja pod Sučeljem sustava.
-
Filtrirajte ime i potražite
agentdesktop
. -
Promijenite funkciju
screenpop
u Client skripti.Trenutna funkcija:
// 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 });Uzorak koda za incident:
// 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' }); } }
Ako informacije o pozivatelju postoje u CRM-u, a već je otvoren novi incident s ovim kontaktom, aplikacija otvara incident nenapredka
Ako informacije o pozivatelju ne postoje u CRM-u, aplikacija otvara novi incident
Ako podaci o pozivatelju postoje u CRM-u, aplikacija otvara novi incident s unaprijed ispunjenim detaljima
Pregled
Ovaj slučaj upotrebe detaljno opisuje postupak dodavanja dodatnog stupca u tablicu ServiceNow - webexcc_imp_activity i stvaranje sn_openframe_phone_log nakon instalacije Webex CC za ServiceNow CRM Connector.
Tablica prema zadanim postavkama sadrži određena polja sustava izvan okvira i vrijednosti.
Možete stvoriti više varijabli specifičnih za poslovanje (CAD varijable) unutar dizajnera WebExCC Flow i dodati CAD varijable unutar dnevnika aktivnosti nakon poziva ServiceNow, kao i zadržati to u podacima tablice aktivnosti nakon poziva.
Ovo je samo referentna dokumentacija - i pokazuje kako to učiniti za uzorak CAD varijable pod nazivom Ime korisnika koja pohranjuje ime kupca unutar IVR-a i objavljuje to na ServiceNow.
Očekuje se da će programeri partner+Customer ServiceNow konfigurirati i upravljati ovom konfiguracijom jer je to prilagodba postojećem konektoru.
Cisco pruža samo tehnike kako prilagoditi i proširiti konektor.
Od ovog članka, Ciscoov tim potvrdio je podršku za dodavanje CAD varijable u dnevnik aktivnosti i tablicu aktivnosti koristeći tehniku opisanu u nastavku:
Dodajte stupac u WebExCC IMP aktivnost
-
Uredite tablicu u verziji programa ServiceNow za programere.

-
Idite na navigator filtera i potražite studio.

Odaberite
Webex kontakt centar

ili



-
Odaberite
WebExCC IMP tablicu aktivnosti

-
Dodajte novi stupac, na primjer,
CustomerName


Dodajte stupac u dnevnik telefona
-
Uredite tablicu dnevnika telefona.


-
Dodajte novi stupac, na primjer,
CustomerName
.

Mapa transformacije aktivnosti WebExCC

Dodajte novi stupac, na primjer mapiranje polja CustomerName
.


Prilagodite stupce popisa

Kao što Service Now preporučuje, promijenite akciju Odabir iz kreiranja u zanemarivanje.


Konfigurirajte popis telefonskih dnevnika

Idite na Uključite skriptu
Dodajte samo jedan redak webexcc. u_customername=Actinfo
.CustomerName u PropuTils.



Pogledajte liniju: webexcc. u_customername=ActInfo.CustomerName; s pratećim komentarom.
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'
});
Stvorite CAD varijablu u dizajneru protoka

Dodajte varijablu CAD u izgled radne površine
Primjer
"CadName1:SnowField1,CadName2:SnowField2"
CadName1 is CustomerName
SnowField1 is also used as CustomerName which is part of sample scirpt showen above "actInfo.CustomerName".

Demo snimke zaslona
Pogledajte novododanu CAD varijablu u tablici aktivnosti WebExCC.



Stvorite CAD varijablu za Flow Designer
Hitnost incidenta
Utjecaj incidenta

Ažuriranje skripte Service Now
Ažuriranja skripte uključuju
-
Idite na navigator filtra i potražite
script includesOdaberite opciju U ključuje skriptu pod Su stavnim sučeljem.

-
Filtrirajte ime s
propUtils.
-
Promijenite metodu
UserGetSySid u polju
Skripta.
Trenutna skripta:
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; },Novi uzorak koda za incident:
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; },
-
Idite na navigator filtra i potražite
UI pages.Odaberite opciju Koris ničke stranice u odjel jku Korisničko sučelje sustava.

-
Filtrirajte stranice korisničkog su čelja s imenom i potražite
agentdesktop.
-
Promijenite funkciju
screenpop
u polju skripte.
Trenutna funkcija:
// 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 }); }Uzorak koda za incident:
// 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)); }
Ako informacije o pozivatelju postoje u CRM-u, a nema novog ili nenaprednog incidenta, aplikacija otvara novi incident


Promijenite kôd na ServiceNow
Dodajte nove stupce u tablicu aktivnosti WebExCC IMP
Otvorite WebExCC IMP tablicu aktivnosti





Kliknite na Až uriraj.


Dodavanje novih stupaca u tablicu Dnevnika telefona
Otvor ite tablicu Dnevnika telefona





Mapa transformacije aktivnosti WebExCC
Otvorite kartu transformacije
iz navigatora filtera


Kliknite na WebExCC Activity TransformMap




Kliknite A žuri raj.

Promjene u skriptu uključuje
-
Idite na filter navigator i potražite "skripta uključuje".
Odaberite Skripta uključuje pod Sustav no korisničko sučelje.

-
Filtrirajte ime pomoću
PropuTils
.
-
Promijenite metodu
setWeb
Excctable.
Novi uzorak koda za incident:
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; },
Promjene metode na stranicama korisničkog sučelja
-
Idite na filter navigator i potražite
stranice korisničkog sučel
jaOdaberite opciju Koris ničke stranice u odjel jku Korisničko sučelje sustava.

-
Filtrirajte stranice korisničkog su čelja s imenom i potražite
agentdesktop.
-
Promijenite funkciju
nowActivities i screenpop
u skripti.
Trenutna funkcija:
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); }Uzorak koda za incident:
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)); }
Rezultati nakon ažuriranja

Sljedeće prilagodbe primjenjuju se na verzije 1.0.5 i niže. Za prilagodbe za novije verzije 1.0.7 i novije, slijedite gore navedene korake.
Prilagođavanje br. 1 - Dodajte prilagođena poslovna pravila za slučajeve korištenja toka poziva
Napravite novi zapis incidenta za svaki pozivZa svaki novi poziv u WebExCC CRM konektor u serviceNowu stvorite novi zapis incidenta.
Potražite poslovna pravila na navigatoru Filter

Kliknite Novo.

Uzorak koda za referencu:
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; }Uzorak konfiguracije poslovnog pravila

Omogući poziv klijenta

Obrada integracije računalne telefonije (CTI) za incident označena je kao ist inita.


sysparm_cti_rule=Naziv gdje je 'ime' naziv funkcije treba pozvati za CTI obradu umjesto korištenja zadane skripte.
Definirajte funkciju u unosu označenom klij sys_scriptentom koji se može nazvati.
Ako morate umetnuti, ažurirati ili izbrisati bilo koji GlideRecord (e) u funkciji, pozovite zasebnu funkciju koja se može pozivati bez klijenta da biste izvršili ažuriranja.
Da biste skriptu omogućili pozivanje klijenta, morate potvrditi potvrdni okvir za pozivanje klijenta na obrascu koji se prikazuje kada se unos prikazuje. sys_script
Potvrdni okvir za pozivanje klijenta ne prikazuje se prema zadanim postavkama. Da biste ih pregledali, morate izmijeniti polja koja se prikazuju na obrascu pomoću ikone zupčanika i mehanizma kašike.
Prilagođavanje br. 2 - Dodajte CAD varijabilu u tablicu aktivnosti Webex Contact Center
PregledOvaj članak detaljno opisuje postupak dodavanja dodatnog stupca u tablicu ServiceNow - webexcc_activity koji se stvara nakon instalacije Webex CC za ServiceNow CRM Connector.
Tablica prema zadanim postavkama sadrži polja sustava i vrijednosti izvan okvira.
Potencijalno možete stvoriti više varijabli specifičnih za poslovanje (CAD varijable) unutar dizajnera WebExCC Flow i dodati te CAD varijable unutar dnevnika aktivnosti nakon poziva ServiceNow i zadržati to u podacima tablice aktivnosti nakon poziva.
-
Ovo je samo referentna dokumentacija - i pokazuje kako to učiniti za uzorak CAD varijable pod nazivom Ime korisnika koja pohranjuje ime kupca unutar IVR-a i objavljuje to na ServiceNow.
-
Programeri partner+Customer ServiceNow konfigurirat će i upravljati ovom konfiguracijom jer je to prilagodba postojećem konektoru.
-
Cisco će pružiti samo tehnike kako prilagoditi i proširiti konektor.
-
Od ovog članka, Ciscoov tim potvrdio je podršku za dodavanje CAD varijable u dnevnik aktivnosti i tablicu aktivnosti koristeći tehniku opisanu u nastavku.
Uredite tablicu u verziji programa ServiceNow za programere.

Idite na .



Odaberite WebExCC tablicu aktivnosti.

Na primjer, CustomerName.


Odaberite Izgled popisa za WebExCC aktivnost.

Ovaj korak nije potreban ako koristite XML Set ažuriranja - potreban je samo jedan redak za dodavanje "webexcc. u_customername=ActInfo.CustomerName "u PropuTils.



Uzorak skripte
Pogledajte liniju sa: webexcc. u_customername=ActInfo.CustomerName; s pratećim komentarom.
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'
});
Uređivanje stranice korisničkog sučelja novim imenom skripte
Stvorite CAD varijablu u dizajneru protoka
Dodajte varijablu CAD u izgled radne površine
Demo snimke zaslona
Pogledajte novododanu CAD varijablu u tablici aktivnosti WebExCC.

CRM konektor radi na temelju verzije widgeta navedene u rasporedu radne površine JSON. Izuzetno je važno osigurati da se verzija widgeta unutar rasporeda radne površine ažurira.
Od administratora se očekuje da svi rasporedi radne površine za ovaj CRM konektor koriste ovu verziju widgeta. If the layout is not updated to use the latest version, functionality will no longer be supported and may cease to work correctly.
- Posljednje ažuriranje ServiceNow— .1.0_v5.0.3.jsonServiceNow_Desktop_0. Od ožujka 2024. verzija paketa je 1.0.9
- Zadnja ažuriranja XML-a-WebExCC-ServiceNow-Update-Setv7-1-ActionsWidget.xml, lipanj 2024











































