Integrišite Vebek kontakt centar sa ServiceNov-om (verzija 1 - Legacy)
Preduslovi
Minimalna podržana veličina softphone interfejsa je 500pk. Bilo koja vrednost manja od 500px može dovesti do problema sa prikazom ili funkcionalnošću.
Pre nego što integrišete Vebek kontakt centar sa ServiceNov CRM konzolom, uverite se da imate sledeće:
-
Pristup Vebek kontakt centru.
-
Administratorski pristup kontrolnom čvorištu na adresi https://admin.webex.com i Vebek kontakt centru. Management Portal URL-ovi za njih Management Portal su specifični za vaš region.
-
Agent sa pristupom radnoj površini. URL za radnu površinu specifičan je za vaš region.
-
Pristup agenta sledećem domenu koji je dodan u listu dozvoljenih smernica bezbednosti sadržaja:
-
*.service-nov.com
Za više informacija o tome kako da definišete dozvoljenu listu pogledajte članak Bezbed nosne postavke za Vebek kontakt centar.
-
-
Nalog portala za programere ServiceNov. Da biste kreirali nalog, idite na portal za programere ServiceNov na adresi https://developer.servicenow.com/dev.do i kliknite na Prijavite se i Počnite sa izgrad njom.
-
Pristup sledećim datotekama na https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
ServiceNov set ažuriranja (KSML)
-
Izgled radne površine za kontakt centar ServiceNov (JSON)
-
- Izdanja ServiceNov-a koja Vebek kontakt centar podržava su Vankuver, Juta, Tokia, Vašington i Ksanadu. Više informacija potražite u odeljku Integracija Vebek kontakt centra sa ServiceNov-om.
Sledite jednu od dve metode u nastavku:
- Za slučajeve programera preporučujemo da sledite korake u okviru vodiča za instance programera.
- Ako posedujete instancu sa licencom preduzeća, sledite smernice za instance sa licencom preduzeća.
Ne preporučujemo mešanje aplikacije licencirane za preduzeće sa instancama peskovnika za programere.
Digitalni kanali kao što su ćaskanje i e-pošta nisu podržani pomoću CRM konektora. Ovo se odnosi na sve CRM integracije koje koriste ove konektore. Molimo vas da u skladu sa tim planirajte svoje radne tokove implementacije i angažovanja kupaca.
Sledeći odeljci opisuju korake za instaliranje ServiceNov konektora za instance programera.
| 1 |
Prijavite se na svoj ServiceNov nalog portala za programere i otvorite administr acionu konzolu. |
| 2 |
U oblasti Moja instanca u meniju Nalog kliknite na dugme Pok reni izgradnju.
|
| 3 |
Na instanci programera, iz polja Filter navigator u gornjem levom uglu prozora idite na Dod aci.
|
| 4 |
Potražite dodatak Openframe koji ima naslov Open frame. Možda ćete morati da se krećete kroz listu.
|
| 5 |
Kliknite Instaliraj da biste instalirali dodatak Openframe. |
| 6 |
U dijaloš kom okviru Aktivi raj dodatak kliknite na dugme Aktiviraj.
|
| 7 |
Kada je aktivacija dodatka završena, kliknite na Zatvori i ponovo učitaj obrazac u di jaloškom okviru Aktivacija dodatka.
|
| 8 |
Da biste proverili aktivaciju dodatka, iz polja Filter navigator u gornjem levom uglu prozora idite na OpenFrame. |
| 9 |
Kliknite na Konfiguracije i uverite se da se dodatak OpenFrame pojavljuje na listi OpenFrame konfiguracija.
|
| 1 |
Ime datoteke: Vebekcc-ServiceNov-Update-SetV (Ks) .kml
|
| 2 |
Na instanci ServiceNov, iz polja Filter Navigator u gornjem levom uglu prozora idite na Setovi .
|
| 3 |
Kliknite na U vezi set ažuriranja iz KSM L veze.
|
| 4 |
Kliknite na dugme Izaberi datote ku, izaberite KSML datoteku Postavi ažuriranje sistema, a zatim kliknite na dugme Otpremi.
Skup ažuriranja pojavljuje se na listi Pre uzetih skupova ažuri ranja i nalazi se u stanju uč itano.
|
| 5 |
Na listi Pre uzetih skupova ažuri ranja kliknite na Naziv datoteke Ažuriraj set (veza) da biste otvorili Set ažuriranja.
|
| 6 |
U gornjem desnom uglu prozora kliknite na Pregled podešavanja ažuriranja da biste proverili da li postoji problem u skupu ažuriranja.
|
| 7 |
Kliknite Zatvori na dijaloškom okviru za ažuriranje podešavanja pregleda kada se pregled završi.
|
| 8 |
Kliknite na dug me Obavi set ažuriranja.
|
| 9 |
Kliknite Zatvori na dijaloš kom okviru Obav eš tavanje podešavanja ažuriranja kada se završi izvršavanje skupa ažuriranja.
|
| 1 |
U polju Filter navigator u gornjem levom uglu prozora otkucajte
|
| 2 |
Na stranici S vojstva sistema sortirajte svojstva prema datumu ažuriranja. Uverite se da vidite sledeća svojstva Vebek kontakt centra:
|
| 3 |
Kliknite agentdesktop_urlda biste otvorili stranicu S voj agentdesktop_url stva sistema. |
| 4 |
U polje Vred nost unesite URL radne površine Vebek kontakt centra prema regionu rada.
|
| 5 |
Kliknite na dug me A žuriraj da biste sačuvali promene. |
| 6 |
(Opcionalno) Da biste promenili ime tabele aktivnosti, uredite svojstva vebek ccactivity table po potrebi. Na stranici S vojstva sistema kliknite na vebekccactiv itable. Promenite polje V red nost po potrebi.
|
| 7 |
(Opcionalno) Dodajte korisničke grupe na sledeće načine:
|
| 1 |
Iz polja Filter navigator id ite na .
|
| 2 |
Kliknite na Novo.
|
| 3 |
Unesite sledeća svojstva za URL:
|
| 4 |
Desno od polja URL, kliknite na dugme Zak ljučaj i dodajte
|
| 5 |
(Opcionalno) Izaberite grupu korisnika/agenta da biste dodelili konfiguraciju.
|
| 6 |
Kliknite na Pošal ji. URL se pojavljuje kao veza.
|
| 7 |
Pre nego što pokušate da koristite OpenFrame telefon, uverite se da otpremite prilagođenu JSON datoteku ServiceNov rasporeda radne površine u Vebek kontakt centar. Management Portal Više informacija potražite u odeljku Po dešavanje rasporeda radne površine ServiceNov u Vebek kontakt centru. |
| 1 |
|
| 2 |
Ažurirajte svojstva u datoteci rasporeda radne površine, ako je potrebno. |
| 3 |
Idite u Vebek kontakt centar. Management Portal |
| 4 |
Na Management Portal navigacionoj traci izaberite Obezbe ne površine.
|
| 5 |
Kliknite na Novi izgled i unesite detalje za izgled radne površine. |
| 6 |
Otpremite JSON datoteku ServiceNov Desktop Layout. |
| 7 |
Kliknite na dug me S ačuvaj da biste sačuvali konfiguraciju. Sada možete pokrenuti radnu površinu Vebek Contact Center unutar ServiceNov konzole. |
| 8 |
Iz polja Filter Navigator idite na Radni .
|
Sledeći odeljci opisuju korake za instaliranje ServiceNov konektora za licencirane instance preduzeća.
| 1 |
Prijavite se na svoj ServiceNov nalog portala za programere i otvorite administr acionu konzolu. |
| 2 |
U oblasti Moja instanca u meniju Nalog kliknite na dugme Pok reni izgradnju.
|
| 3 |
Na instanci programera, iz polja Filter navigator u gornjem levom uglu prozora idite na Dod aci.
|
| 4 |
Potražite dodatak Openframe koji ima naslov Open frame. Možda ćete morati da se krećete kroz listu.
|
| 5 |
Kliknite Instaliraj da biste instalirali dodatak Openframe. |
| 6 |
U dijaloš kom okviru Aktivi raj dodatak kliknite na dugme Aktiviraj.
|
| 7 |
Kada je aktivacija dodatka završena, kliknite na Zatvori i ponovo učitaj obrazac u di jaloškom okviru Aktivacija dodatka.
|
| 8 |
Da biste proverili aktivaciju dodatka, iz polja Filter navigator u gornjem levom uglu prozora idite na OpenFrame. |
| 9 |
Kliknite na Konfiguracije i uverite se da se dodatak OpenFrame pojavljuje na listi OpenFrame konfiguracija.
|
Instance koje imaju licence za preduzeća mogu instalirati aplikaciju Vebek kontakt centar direktno iz ServiceNov prodavnice.
|
|
| 1 |
U polje Filter navigator u gornjem levom uglu prozora unesite
|
| 2 |
Na stranici S vojstva sistema sortirajte svojstva prema datumu ažuriranja. Uverite se da vidite sledeća svojstva Vebek kontakt centra:
|
| 3 |
Kliknite agentdesktop_urlda biste otvorili stranicu S voj agentdesktop_url stva sistema. |
| 4 |
U polje Vred nost unesite URL radne površine Vebek kontakt centra prema regionu rada.
|
| 5 |
Kliknite na dug me A žuriraj da biste sačuvali promene. |
| 6 |
(Opcionalno) Da biste promenili ime tabele aktivnosti, uredite svojstva x_caci_webexcc.vebekccactivitable po potrebi.
|
| 7 |
(Opcionalno) Dodajte korisničke grupe na sledeće načine:
|
| 1 |
Iz polja Filter navigator id ite na .
|
| 2 |
Kliknite na Novo.
|
| 3 |
Unesite sledeća svojstva za URL:
|
| 4 |
Desno od polja URL, kliknite na dugme Zak ljučaj i dodajte
|
| 5 |
(Opcionalno) Izaberite grupu korisnika/agenta da biste dodelili konfiguraciju.
|
| 6 |
Kliknite na Pošal ji. URL se pojavljuje kao veza.
|
| 7 |
Iz polja Filter Navigator idite na Radni .
|
| 8 |
(Opcionalno) Na listi Korisničke grupe pomerite grupe korisnika koje mogu da pristupe radnoj površini Vebek kontakt centra sa Dostupne u Izab rano. |
| 9 |
Pre nego što pokušate da koristite OpenFrame telefon, uverite se da otpremite prilagođenu JSON datoteku ServiceNov rasporeda radne površine u Vebek kontakt centar. Management Portal Više informacija potražite u odeljku Po dešavanje rasporeda radne površine ServiceNov u Vebek kontakt centru. |
| 1 |
|
| 2 |
Ažurirajte svojstva u datoteci rasporeda radne površine, ako je potrebno. |
| 3 |
Idite u Vebek kontakt centar. Management Portal |
| 4 |
Na Management Portal navigacionoj traci izaberite Obezbe ne površine.
|
| 5 |
Kliknite na Novi izgled i unesite detalje za izgled radne površine. |
| 6 |
Otpremite JSON datoteku ServiceNov Desktop Layout. |
| 7 |
Kliknite na dug me S ačuvaj da biste sačuvali konfiguraciju. Sada možete pokrenuti radnu površinu Vebek Contact Center unutar ServiceNov konzole. |
| 8 |
Iz polja Filter Navigator idite na Radni .
|
| 1 |
U polju Filter navigator idite na In cidenti > Otvori incident. |
| 2 |
Kliknite desnim tasterom miša na polje pozivaoca i kliknite na Konfiguriši rečnik.
|
| 3 |
Dodajte Atribu
Sada možete da počnete da koristite radnu površinu Vebek Contact Center unutar ServiceNov konzole. |
| 4 |
Iz polja Filter Navigator idite na Radni .
|
- Podržavamo prijavljivanje Agent Desktop samo za korišćenje VebRTC za Salesforce (SFDC) i Microsoft Dinamics (MS Dinamics) konektore.
- Trenutno je ova funkcija primenljiva samo na agente.
Agent Desktopu ServiceNov konzoli
Pre nego što uputite vanjske pozive, uverite se da uradite sledeće:
-
Kreirajte spoljnu ulaznu tačku i postavite strategiju vanjske ulazne tačke.
-
Omogućite vanjski ANI za profil agenta.
-
Podesite vanjski ANI na mapiranje brojčanog broja do tačke ulaska.
Za više informacija pogledajte poglavlje Obezbe đivanje u Vodi ču za Cisco Webex Contact Centerpodešavanje i administraciju.
Iz polja Filter Navigator idite na Radni .
Za informacije o tome kako da koristite Desktop pogledajte karticu Agent u pomoći Vebek kontakt centra.
Pregled
Ovaj članak pokriva nekoliko načina za prilagođavanje poslovnih pravila za ServiceNov CRM konektor. Detaljno opisuje kako možete prilagoditi slučajeve upotrebe na osnovu poslovnih pravila koja su specifična za ServiceNov.
Kupac mora sam upravljati ovim slučajevima upotrebe na ServiceNov-u. Konfiguracija je specifična za ServiceNov, a ne softver ili stručnost Vebek kontakt centra.
Ovo je referentna dokumentacija koja pomaže u izmeni poslovnih pravila. Programeri ServiceNov-a kreiraće i upravljaće poslovnim pravilima i pružati podršku.
Cisco pruža samo uzorak dokumentacije.
Sledeći odeljci pružaju detalje o tome kako da podesite, omogućite i upravljate vidžetom Akcije za instance programera i preduzeća.
Pošaljite set ažuriranja za vidžet radnji
Za licencirane korporativne instance instalirajte najnoviju aplikaciju Vebek Contact Center iz Service Nov prodavnice.
Da biste podesili vidžet Akcije za instance programera, preuzmite najnoviju KSML datoteku za podešavanje ažuriranja sistema dostupnu na github repo-u na ovoj lokaciji: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Ime datoteke je webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Da biste izvršili skup ažuriranja za vidžet Radnje, pogledajte korake 2 do 9 u odeljku Pove štavanje skupa ažuriranja.
Omogući vidžet za akcije
Koristite svojstvo isVidgetDisplaiEnabled da biste omogućili vidžet Akcije. Ne smete da menjate vrednost ovog svojstva u odeljku bez glave prilagođenog izgleda radne površine. Svojstvo je uvek podešeno na false u odeljku bez glave prilagođenog izgleda radne površine. Trebalo bi da ažurirate vrednost svojstva samo u odeljku panela prilagođenog rasporeda radne površine.
Kada omogućite vidžet Akcije u prilagođenom rasporedu radne površine, možete izvršiti sledeće radnje:
- Upravljanje zapisima aktivnosti — kliknite na Prikaz/uredi zapis aktivnosti da biste videli listu zapisa aktivnosti povezanih sa pozivaocem.
- Pridružite CRM objekte — kliknite na dugme Pridruži zapisima aktivnosti da biste u zapis aktivnosti dodali CRM objekte kao što su tip poziva (dolazni ili odlazni), objekt poziva, beleške o pozivu itd.
- Upravljanje incidentima — kliknite na dugme Kreiraj incident. Stvara se novi incident sa unapred popunjenim detaljima pozivaoca. Možete izvršiti potrebna ažuriranja incidenta. Možete izabrati da izmenite vrstu zapisa od incidenta do slučaja, HR modul i tako dalje na osnovu vaših zahteva. Da biste promenili tip zapisa, izmenite vrednost svojstva TipeOfRecord u konfiguraciji vidžeta Akcije. Na primer:
{ "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 beleške o pozivu uživo — možete da snimite dodatne informacije o pozivu u tekstualnom području i završite poziv. Ove beleške možete videti dodate kao beleške o pozivima u zapisu aktivnosti.
Promena koda na ServiceNov-u
Skripta uključuje promene-
Idite na filter navigator i potražite
skriptu koja uključuje
.Izaberite Skripta uključuje pod sistemskim korisničkim interfejsom.
-
Filtrirajte ime i potražite
PropuTils
. -
Promenite metod
UserGetSisid 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.Izaberite korisničke stranice u okviru Sistemskog korisničkog interfej sa.
-
Filtrirajte ime i potražite
agentdesktop
. -
Promenite 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 });Primer 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 pozivaocu postoje u CRM-u, a već je otvoren novi incident sa ovim kontaktom, aplikacija otvara incident nenapretka
Ako informacije o pozivaocu ne postoje u CRM-u, aplikacija otvara novi incident
Ako informacije o pozivaocu postoje u CRM-u, aplikacija otvara novi incident sa unapred popunjenim detaljima
Pregled
Ovaj slučaj upotrebe detaljno opisuje postupak dodavanja dodatne kolone u ServiceNov tabelu - webexcc_imp_activity i kre sn_openframe_phone_log iranja nakon instalacije Vebek CC za ServiceNov CRM konektor.
Tabela podrazumevano sadrži određena sistemska polja i vrednosti izvan okvira.
Možete da kreirate više promenljivih specifičnih za poslovanje (CAD promenljive) unutar VebEkCC dizajnera toka i dodate CAD promenljive unutar dnevnika aktivnosti nakon poziva ServiceNov, kao i da to zadržite u podacima tabele aktivnosti nakon poziva.
Ovo je samo referentna dokumentacija - i pokazuje kako to učiniti za uzorak CAD promenljive pod nazivom Ime kupca koja čuva ime kupca unutar IVR-a i objavljuje ovo u ServiceNov-u.
Očekuje se da će programeri partner+korisničke službe konfigurirati i upravljati ovom konfiguracijom jer je to prilagođavanje postojećem konektoru.
Cisco pruža samo tehnike kako prilagoditi i proširiti konektor.
Od ovog članka, Cisco tim je potvrdio podršku za dodavanje CAD promenljive u dnevnik aktivnosti i tabelu aktivnosti koristeći tehniku opisanu u nastavku:
Dodajte kolonu u VebEkCC IMP aktivnost
-
Uredite tabelu u verziji ServiceNov-a za programere.

-
Idite na navigator filtera i potražite studio.

Izaberite
Vebek kontakt centar

ili



-
Izaberite tab
elu aktivnosti VebEkCC IMP

-
Dodajte novu kolonu, na primer,
CustomerName


Dodajte kolonu u dnevnik telefona
-
Uredite tabelu dnevnika telefona.


-
Dodajte novu kolonu, na primer,
CustomerName
.

Mapa transformacije aktivnosti VebEkCC

Dodajte novu kolonu, na primer, mapiranje polja CustomerName
.


Personalizujte kolone liste

Kao što Service Nov preporučuje, promenite akciju Izbor iz kreiranja u ignorisanje.


Konfigurišite listu dnevnika telefona

Idite na Uključite skriptu
Dodajte samo jednu liniju ve bekcc. u_customername=Actinfo
.CustomerName do PropuTils.



Pogledajte liniju: vebek cc. u_customername=ActInfo.CustomerName; sa 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'
});
Kreirajte CAD promenljivu u Flov dizajneru

Dodajte CAD promenljivu u raspored radne površine
Primer
"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 ekrana
Pogledajte novododanu CAD promenljivu u tabeli aktivnosti VebEkCC.



Kreirajte CAD promenljivu za Flov Designer
Hitnost incidenta
Uticaj incidenta

Ažuriranje skripte Service Nov
Ažuriranja skripte uključuju
-
Idite na navigator filtera i potražite
script includesIzaberite opciju U ključuje skriptu u okviru Sistemskog korisničkog interfej sa.

-
Filtrirajte ime sa
propUtils.
-
Promenite metodu
UserGetSisid 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 filtera i potražite
UI pages.Izaberite opciju Korisničke stranice u okviru Sistemskog korisničkog interfejsa.

-
Filtrirajte korisničke stranice sa imenom i potražite
agentdesktop.
-
Promenite 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 }); }Primer 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 pozivaocu postoje u CRM-u, a nema novog ili nenaprednog incidenta, aplikacija otvara novi incident


Promenite kod na ServiceNov-u
Dodajte nove kolone u tabelu aktivnosti VebEkCC IMP
Otvorite tabelu aktivnosti VebEkCC IMP





Kliknite na Až uriraj.


Dodajte nove kolone u tabelu Dnevnik telefona
Otvor ite tabelu Dnevnika telefona





Mapa transformacije aktivnosti VebEkCC
Otvorite mapu transformacije
iz navigatora filtera


Kliknite na VebEk CC Activity TransformMap




Kliknite na dugme Ažuri raj.

Promene u skriptu uključuje
-
Idite na filter navigator i potražite „skripta uključuje“.
Izaberite Skripta uključuje pod sistemskim korisničkim interfejsom.

-
Filtrirajte ime pomoću
PropuTils
.
-
Promenite metod
SetVe
bekCCTable.
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; },
Promene metoda na korisničkim korisničkim stranicama
-
Idite na filter navigator i potražite koris
ničke stranice
Izaberite opciju Korisničke stranice u okviru Sistemskog korisničkog interfejsa.

-
Filtrirajte korisničke stranice sa imenom i potražite
agentdesktop.
-
Promenite
funkciju novActivities 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); }Primer 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

Sledeća prilagođavanja važe za verzije 1.0.5 i niže. Za prilagođavanja za novije verzije 1.0.7 i novije, sledite gore navedene korake.
Prilagođavanje br. 1 - Dodajte prilagođena poslovna pravila za slučajeve upotrebe toka poziva
Napravite novi zapis incidenta za svaki pozivZa svaki novi poziv u VebEkCC CRM konektor u ServiceNov-u napravite novi zapis incidenta.
Potražite poslovna pravila na navigatoru Filter

Kliknite na 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čunarske telefonije (CTI) za incident označena je kao ist inita.

Ažurirajte URL ekrana prilagođenim CTI pravilom "cti.do? sysparm_cti_rule= Create sysparm_caller_phone Incident& =“

sysparm_cti_rule=ime gde je 'ime' naziv funkcije treba da se pozove za CTI obradu umesto korišćenja podrazumevane skripte.
Definišite funkciju u unosu koji je označen sys_scriptklijentom koji se može pozvati.
Ako morate da ubacite, ažurirate ili izbrišete 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
Polje za potvrdu za pozivanje klijenta se podrazumevano ne prikazuje. Da biste videli, morate da izmenite polja koja se prikazuju na obrascu pomoću ikone zupčanika i mehanizma kašike.
Prilagođavanje br. 2 - Dodajte CAD promenljivu u tabelu aktivnosti Vebek kontakt centra
PregledOvaj članak detaljno opisuje postupak dodavanja dodatne kolone u ServiceNov tabelu - webexcc_activity koja se kreira nakon instalacije Vebek CC za ServiceNov CRM konektor.
Tabela podrazumevano sadrži sistemska polja i vrednosti izvan okvira.
Potencijalno možete kreirati više promenljivih specifičnih za poslovanje (CAD promenljive) unutar VebEKCC dizajnera toka i dodati te CAD promenljive u dnevnik aktivnosti nakon poziva ServiceNov i zadržati to u podacima tabele aktivnosti nakon poziva.
-
Ovo je samo referentna dokumentacija - i pokazuje kako to učiniti za uzorak CAD promenljive pod nazivom Ime kupca koja čuva ime kupca unutar IVR-a i objavljuje ovo u ServiceNov-u.
-
Programeri za partner+korisničku službu će konfigurirati i upravljati ovom konfiguracijom jer je to prilagođavanje postojećem konektoru.
-
Cisco će pružiti samo tehnike kako prilagoditi i proširiti konektor.
-
Od ovog članka, Cisco tim je potvrdio podršku za dodavanje CAD promenljive u dnevnik aktivnosti i tabelu aktivnosti koristeći tehniku opisanu u nastavku.
Uredite tabelu u verziji ServiceNov-a za programere.

Idite na .



Izaberite Tabela aktivnosti VebEkCC.

Na primer, CustomerName.


Izaberite Izgled liste za V ebEkCC aktivnost.

Ovaj korak nije potreban ako koristite KSML Ažuriranje Set - Potrebno je dodati samo jedan red "vebek cc. u_customername=ActInfo.CustomerName "u PropuTils.



Uzorak skripte
Pogledajte liniju sa: vebek cc. u_customername=ActInfo.CustomerName; sa 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'
});
Uredite korisničku stranicu sa novim imenom skripte
Kreirajte CAD promenljivu u Flov dizajneru
Dodajte CAD promenljivu u raspored radne površine
Demo snimke ekrana
Pogledajte novododanu CAD promenljivu u tabeli aktivnosti VebEkCC.

CRM konektor radi na osnovu verzije vidžeta navedenog u rasporedu radne površine JSON. Izuzetno je važno osigurati da se verzija vidžeta u rasporedu radne površine ažurira.
Od administratora se očekuje da svi rasporedi radne površine za ovaj CRM konektor koriste ovu verziju vidžeta. If the layout is not updated to use the latest version, functionality will no longer be supported and may cease to work correctly.
- Poslednje ažuriranje ServiceNov-a - .1.0_v5.0.3.json. ServiceNow_Desktop_0 Od marta 2024. verzija paketa je 1.0.9
- Poslednja ažuriranja KSML-a — Vebekcc-ServiceNov-Update-SetV7-1-ActionsVidget.kml, jun 2024











































