Integrišite Webex Contact Center sa ServiceNow (Version 1—Legacy)
Preduslovi
CRM konektor radi na osnovu verzije vidžeta navedenog u desktop raspored JSON. Izuzetno je važno da se obezbedi verzija vidžeta u okviru Desktop Laiout se ažurira. Od novembra 2025. najnovija verzija vidžeta je 5.0.0 (V5).
Od administratora se očekuje da osiguraju da svi rasporedi radne površine za ovaj CRM konektor koriste ovu verziju vidžeta. Ako raspored nije ažuriran da koristi najnoviju verziju, funkcionalnost više neće biti podržana i može prestati da radi ispravno.
Pre nego što integrišete Webex Contact Center sa ServiceNow CRM konzolom, uverite se da imate sledeće:
-
Pristup Webex Contact Center.
-
Administratorski pristup kontrolnom čvorištu na # https://admin.webex.com i portalu za upravljanje Webex Contact Center. URL adrese za portal za upravljanje su specifične za vaš region.
-
Agent sa pristupom radnoj površini. URL za radnu površinu je specifičan za vaš region.
-
Pristup agenta sledećem domenu koji je dodan na listi dozvoljenih pravila o bezbednosti sadržaja:
-
*.service-now.com
Za više informacija o tome kako da definišete dozvoljenu listu, pogledajte članak Bezbednosna podešavanja za Webex Contact Center.
-
-
Račun portala za programere ServiceNov. Da biste kreirali nalog, idite na ServiceNow portal za programere na # https://developer.servicenow.com/dev.do i kliknite na Prijavi se i Počnite sa izgradnjom .
-
Pristup sledećim datotekama na # https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
ServiceNov Update Set (XML)
-
ServiceNov Kontakt centar Desktop Laiout (JSON)
-
- Servisna izdanja koja Webex Contact Center podržava su Vankuver, Juta, Tokija, Vašington i Ksanadu. Za više informacija, pogledajte Webex Contact Center Integracija sa ServiceNow.
Pratite jednu od dve metode ispod:
Za instance programera, preporučujemo da pratite korake u vodiču za instance programera.
Ako posedujete instancu licenciranu za preduzeće, pratite smernice za instance licencirane za preduzeća.
Ne preporučujemo mešanje aplikacije licencirane za preduzeća sa instancama sandbok-a za programere.
Sledeći odeljci opisuju korake za instaliranje ServiceNov konektora za instance programera.
| 1 |
Prijavite se na svoj račun portala za programere ServiceNov i otvorite konzolu za administraciju . |
| 2 |
Iz oblasti Moja instanca u meniju naloga , kliknite na dugme Start Building.
|
| 3 |
Na instanci programera, iz polja Filter navigator u gornjem levom uglu prozora, idite na Plugins.
|
| 4 |
Potražite Openframe plugin koji ima naslov Openframe. Možda ćete morati da se krećete kroz listu.
|
| 5 |
Kliknite na dugme Instaliraj da biste instalirali Openframe plugin. |
| 6 |
U dijalogu Aktiviraj jezičak , kliknite na dugme Aktiviraj.
|
| 7 |
Kada je plugin aktivacija završena, kliknite na dugme Zatvori & Ponovo Obrazac u Plugin Aktivacija dijalog.
|
| 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 OpenFrame dodatak pojavljuje na listi OpenFrame konfiguracija .
|
| 1 |
Preuzmite najnoviju datoteku Sistem Update Set XML koja je dostupna na github repozitoriju na ovoj lokaciji : https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. Ime na datoteka: webexcc-servicenow-update-setV(X).XML
|
| 2 |
Na vašem ServiceNow primeru, iz Filter navigator polja u gornjem levom uglu prozora, idite na .
|
| 3 |
Kliknite na vezu Import Update Set from XML .
|
| 4 |
Kliknite na dugme Choose File, izaberite datoteku Set ažuriranja sistema XML, a zatim kliknite na dugme Upload.
Skup ažuriranja se pojavljuje na listi Preuzeto skupovi ažuriranja i nalazi se u stanju Loaded .
|
| 5 |
Iz liste Preuzetih skupova ažuriranja, kliknite na Update Set File Name (link) da biste otvorili Update Set.
|
| 6 |
U gornjem desnom uglu prozora, kliknite na Pregled Update Set da proverite ažuriranje set za probleme.
|
| 7 |
Kliknite na Zatvori na Uskladi set pregled dijalog bok kada je pregled završen.
|
| 8 |
Kliknite Urezivanje Skup Usklađivanja.
|
| 9 |
Kliknite na Zatvori na Uskladi skup urezivanje dijalog boks kada je urezivanje skupa usklađivanja završeno.
|
| 1 |
U polju Filter navigator u gornjem levom uglu prozora, upišite
|
| 2 |
Na stranici Sistemske osobine , sortirajte osobine po datumu ažuriranja. Uverite se da možete videti sledeće Webex Contact Center osobine:
|
| 3 |
Kliknite na agentdesktop_url da biste otvorili agentdesktop_url imovine sistema strana. |
| 4 |
U polje Vrednost unesite URL za Webex Contact Center Desktop prema regionu rada.
|
| 5 |
Kliknite na dugme Ažuriraj da sačuvate promene. |
| 6 |
(Opciono) Da biste promenili ime tabele aktivnosti, uredite svojstva vebekccactivititable po potrebi. Na stranici Sistemske osobine kliknite na vebekccactivititable. Promenite polje Vrednost po potrebi.
|
| 7 |
(Opciono) Dodajte korisničke grupe na sledeće načine:
|
| 1 |
Iz polja Filter navigator , idite na .
|
| 2 |
Kliknite na Novo.
|
| 3 |
Unesite sledeće osobine za URL:
|
| 4 |
Desno od polja URL-a , kliknite na dugme Zaključaj i dodajte
|
| 5 |
(Opciono) Izaberite grupe korisnika / agenta da biste dodelili konfiguraciju.
|
| 6 |
Kliknite na Pošalji. URL se pojavljuje kao veza.
|
| 7 |
Pre nego što pokušate da koristite OpenFrame telefon, uverite se da ste otpremili ServiceNov prilagođenu JSON datoteku Desktop Laiout na Webex Contact Center Management Portal. Za više informacija, pogledajte Podesite ServiceNov Desktop Laiout na Webex Contact Center. |
| 1 |
Preuzmite raspored radne površine za ServiceNow sa # https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.
|
| 2 |
Ažurirajte osobine u datoteci rasporeda na radnoj površini, ako je potrebno. |
| 3 |
Idite na portal za upravljanje Webex Contact Center. |
| 4 |
Na navigacionoj traci portala za upravljanje izaberite .
|
| 5 |
Kliknite na dugme Novi raspored i unesite detalje za raspored radne površine. |
| 6 |
Otpremite JSON datoteku ServiceNov Desktop Laiout-ai. |
| 7 |
Kliknite na dugme Sačuvaj da biste sačuvali konfiguraciju. Sada možete pokrenuti Webex Contact Center Desktop unutar ServiceNow konzole. |
| 8 |
Iz polja Filter navigator idite na servisnih operacija.
|
Sledeći odeljci opisuju korake za instaliranje ServiceNov konektora za licencirane instance preduzeća.
| 1 |
Prijavite se na svoj račun portala za programere ServiceNov i otvorite konzolu za administraciju . |
| 2 |
Iz oblasti Moja instanca u meniju naloga , kliknite na dugme Start Building.
|
| 3 |
Na instanci programera, iz polja Filter navigator u gornjem levom uglu prozora, idite na Plugins.
|
| 4 |
Potražite Openframe plugin koji ima naslov Openframe. Možda ćete morati da se krećete kroz listu.
|
| 5 |
Kliknite na dugme Instaliraj da biste instalirali Openframe plugin. |
| 6 |
U dijalogu Aktiviraj jezičak , kliknite na dugme Aktiviraj.
|
| 7 |
Kada je plugin aktivacija završena, kliknite na dugme Zatvori & Ponovo Obrazac u Plugin Aktivacija dijalog.
|
| 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 OpenFrame dodatak pojavljuje na listi OpenFrame konfiguracija .
|
Instance koje imaju licence za preduzeća mogu instalirati aplikaciju Webex Contact Center direktno iz ServiceNow Store-a.
|
Preuzmite i instalirajte paket Webex Contact Center iz ServiceNow prodavnice: https://store.servicenow.com/sn_appstore_store.do#!/store/application/6c8e2a4edbc73410e1c75e25ca961947.
|
| 1 |
U polje Filter navigator u gornjem levom uglu prozora, unesite
|
| 2 |
Na stranici Sistemske osobine , sortirajte osobine po datumu ažuriranja. Uverite se da možete videti sledeće Webex Contact Center osobine:
|
| 3 |
Kliknite na agentdesktop_url da biste otvorili agentdesktop_url imovine sistema strana. |
| 4 |
U polje Vrednost unesite URL za Webex Contact Center Desktop prema regionu rada.
|
| 5 |
Kliknite na dugme Ažuriraj da sačuvate promene. |
| 6 |
(Opciono) Da biste promenili ime tabele aktivnosti, uredite svojstva x_caci_webexcc.vebekccactivititable po potrebi.
|
| 7 |
(Opciono) Dodajte korisničke grupe na sledeće načine:
|
| 1 |
Iz polja Filter navigator , idite na .
|
| 2 |
Kliknite na Novo.
|
| 3 |
Unesite sledeće osobine za URL:
|
| 4 |
Desno od polja URL-a kliknite na dugme Lock i dodajte
|
| 5 |
(Opciono) Izaberite grupe korisnika / agenta da biste dodelili konfiguraciju.
|
| 6 |
Kliknite na Pošalji. URL se pojavljuje kao veza.
|
| 7 |
Iz polja Filter navigator idite na .
|
| 8 |
(Opciono) Na listi Korisnička grupa , premestite korisničke grupe koje mogu da pristupe Webex Contact Center Desktop iz Dostupno u Izabrano. |
| 9 |
Pre nego što pokušate da koristite OpenFrame telefon, uverite se da ste otpremili ServiceNov prilagođenu JSON datoteku Desktop Laiout na Webex Contact Center Management Portal. Za više informacija, pogledajte Podesite ServiceNov raspored radne površine na Webex Contact Center. |
| 1 |
Preuzmite raspored radne površine za ServiceNow sa # https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.
|
| 2 |
Ažurirajte osobine u datoteci rasporeda na radnoj površini, ako je potrebno. |
| 3 |
Idite na portal za upravljanje Webex Contact Center. |
| 4 |
Na navigacionoj traci portala za upravljanje izaberite .
|
| 5 |
Kliknite na dugme Novi raspored i unesite detalje za raspored radne površine. |
| 6 |
Otpremite JSON datoteku ServiceNov Desktop Laiout-ai. |
| 7 |
Kliknite na dugme Sačuvaj da biste sačuvali konfiguraciju. Sada možete pokrenuti Webex Contact Center Desktop unutar ServiceNow konzole. |
| 8 |
Iz polja Filter navigator idite na servisnih operacija.
|
| 1 |
Iz polja Filter navigator idite na Incidenti > Otvori incident. |
| 2 |
Kliknite desnim tasterom miša na polje pozivaoca i kliknite na dugme Konfiguriši rečnik.
|
| 3 |
Dodajte atribute
Sada možete početi da koristite Webex Contact Center Desktop unutar ServiceNow konzole. |
| 4 |
Iz polja Filter navigator idite na servisnih operacija.
|
- Podržavamo prijavljivanje u Agent Desktop koristeći WebRTC samo za konektore Salesforce (SFDC) i Microsoft Dinamics (MS Dinamics).
- Trenutno, ova funkcija se primenjuje samo na agente.
Agent Desktop u konzoli ServiceNow
Pre nego što napravite outdial pozive, uverite se da uradite sledeće:
-
Kreirajte ulaznu tačku outdial i podesite strategiju outdial ulazne tačke.
-
Omogućite outdial ANI za profil agenta.
-
Podesite outdial ANI na mapiranje broja za biranje ulazne tačke.
Za više informacija, pogledajte poglavlje Provisioning u Cisco Webex Contact Center Vodič za podešavanje i administraciju.
Iz polja Filter navigator idite na servisnih operacija.
Za informacije o tome kako da koristite Desktop, pogledajte Agent Tab u Webex Contact Center pomoći.
Pregled
Ovaj članak pokriva nekoliko načina da prilagodite svoja poslovna pravila za ServiceNov CRM konektor. Detaljno opisuje kako možete prilagoditi slučajeve korišćenja na osnovu poslovnih pravila koja su specifična za ServiceNov.
Kupac mora samostalno upravljati ovim slučajevima korišćenja na ServiceNov-u. Konfiguracija je specifična za ServiceNov, a ne za Webex Contact Center softver ili stručnost.
Ovo je referentna dokumentacija koja pomaže u modifikaciji poslovnih pravila. Programeri ServiceNov će kreirati i upravljati 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 programere i poslovne instance.
Urezivanje obnavljanja skupa za akcije vidžeta
Za licencirane instance preduzeća, instalirajte najnoviju Webex Contact Center aplikaciju iz ServiceNov prodavnice.
Da biste podesili vidžet Actions za instance programera, preuzmite najnoviju datoteku Set ažuriranja sistema XML koja je dostupna na github repozitoriju 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 urežete skup obnavljanja za vidžet Akcije, pogledajte korake 2 do 9 u Urezivanje skupa obnavljanja.
Omogući akcije Vidget
Koristite osobinu isWidgetDisplayEnabled da biste omogućili vidžet Akcije. Ne smete menjati vrednost ove osobine u odeljku bez glave prilagođenog rasporeda radne površine. Svojstvo je uvek postavljeno na false u odeljku bez glave prilagođenog rasporeda radne površine. Trebalo bi da ažurirate vrednost osobine samo u delu 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 o aktivnostima – kliknite na dugme Prikaz/Uredi zapis aktivnosti da biste videli listu zapisa aktivnosti povezanih sa pozivaocem.
- Poveži CRM objekte – Kliknite na Poveži sa zapisima aktivnosti da biste dodali CRM objekte kao što su tip poziva (dolazni ili odlazni), objekat poziva, beleške poziva i tako dalje u zapis aktivnosti.
- Upravljanje incidentima—Kliknite na Kreiraj incident. Novi incident je kreiran sa detaljima pozivaoca unapred popunjenim. Možete izvršiti potrebne ispravke incidenta. Možete odabrati da izmenite tip zapisa od incidenta do slučaja, HR modula i tako dalje na osnovu vaših zahteva. Da biste promenili tip zapisa, izmenite vrednost osobine 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 polju i završite poziv. Ove beleške možete videti dodane kao beleške poziva u zapisu aktivnosti.
Promena koda na ServiceNov
Skripta uključuje izmene-
Idi na filter navigator i potražite
Skripta uključuje
.Izaberite skriptu uključuje pod Sistem UI.
-
Filtrirajte ime i potražite
Preuzmite
. -
Promenite metod
UserGetSysId
U scenariju .Aktualno:
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='Poziv primljen od '+ this.getParameter('value'); sysidlist.incsysid=inc.Insert(); } } var grInt = novi GlideRecordSecure('interakcija'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.tipe = 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist); },
-
Idi na filter navigator i potražite stranicu
korisničkog interfejsa.Izaberite stranice korisničkog interfejsa pod Interfejs sistema.
-
Filtrirajte ime i potražite
Pretraga
. -
Promenite
Srpsko-hrvatski
Funkcija u skripti klijenta.Trenutna funkcija:
screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjak('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 GlideAjak('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // Za promene vezane za incident var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', upit: '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ć postoji novi incident otvoren sa ovim kontaktom, aplikacija otvara incident u toku
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 proces dodavanja dodatne kolone u tabelu ServiceNov - webexcc_imp_activity i kreiranje sn_openframe_phone_log nakon instalacije Webex CC za ServiceNov CRM konektor.
Po defaultu, tabela sadrži određena sistemska polja i vrednosti.
Možete kreirati više promenljivih specifičnih za poslovanje (CAD varijable) unutar VebekCC Flov dizajnera i dodati CAD varijable unutar dnevnika aktivnosti poziva ServiceNov POST, kao i da to ustrajete u POST podatke tabele aktivnosti poziva.
Ovo je samo referentna dokumentacija - i pokazuje kako se to radi za uzorak CAD promenljive pod nazivom Ime kupca koji čuva ime kupca unutar IVR i objavljuje ovo na ServiceNow.
Očekuje se da će programeri partnera + kupca ServiceNov konfigurisati i upravljati ovom konfiguracijom jer je to prilagođavanje postojećem konektoru.
Cisco pruža samo tehnike o tome kako prilagoditi i proširiti konektor.
Od ovog članka, tim Cisco je potvrdio podršku za dodavanje CAD promenljive u dnevnik aktivnosti i tabelu aktivnosti koristeći tehniku opisanu u nastavku:
Dodaj kolonu u VebekCC IMP aktivnost
-
Uredite tabelu u verziji za programere ServiceNov-a.

-
Idite na navigator filtera i potražite studio.

Izaberite
Webex Contact Center

ili



-
Izaberite ikonu
VebekCC IMP aktivnost
stol
-
Dodajte novu kolonu, na primer,
Korisničko ime


Dodaj kolonu u telefonski dnevnik
-
Izmenite tabelu dnevnika telefona.


-
Dodajte novu kolonu, na primer,
Korisničko ime
.

VebekCC Aktivnost Transform Map

Dodajte novu kolonu, na primer, Korisničko ime
Mapiranje polja.


Personalizujte kolone liste

Kao što Service Nov preporučuje, promenite akciju Izbor od kreiranja do ignorisanja.


Konfigurišite listu telefonskih dnevnika

Idi na Script Include
Dodajte samo jednu liniju webexcc.u_customername=actInfo.CustomerName
Na propUtils.



Pogledajte liniju: webexcc.u_customername = actInfo.CustomerName; sa pratećim komentarom.
var propUtils = Class.create(); propUtils.prototype = Object.ektendsObject(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 = novi GlideRecord('interakcija'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.tipe = 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); povratak sisid; }, 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; vebekcc.ringingtime =actInfo.ringingtime; vebekcc.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; vebekcc.calltype =actInfo.CallType; vebekcc.calldisposition =actInfo.CallDisposition; Ova linija je dodata - da ga uhvati u dnevniku aktivnosti webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.Insert(); Aktivnosti na evidenciji incidenta; var actInfoString =this.getParameter('actInfo'); var suser = novi GlideRecordSecure("sys_user"); suser.addQuery("phone", this.getParameter('ani')); suser.query(); if(suser.nekt()) { 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(); } } } povratak sys_id; }, tip: 'propUtils' });
Kreirajte CAD promenljivu u dizajneru protoka

Dodajte CAD promenljivu u raspored radne površine
Primer
"CadName1: SnovField1, CadName2: SnovField2" CadName1 je CustomerName SnovField1 se takođe koristi kao CustomerName koji je deo uzorka scirpt prikazan iznad "actInfo.CustomerName".

Demo snimci ekrana
Pogledajte novo dodatu CAD promenljivu u tabeli VebekCC aktivnosti.



Kreirajte CAD promenljivu za Flov Designer
Hitnost incidenta
Uticaj incidenta

Servis sada ažuriranje skripte
Ažuriranje skripte uključuje
-
Idi na filter navigator i potraga za
skriptu uključujeIzaberite opciju Script Includes pod Sistem UI.

-
Filtrirajte ime sa
propUtils.
-
Promenite metod
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='Poziv primljen od '+ this.getParameter('vrednost'); sysidlist.incsysid=inc.Insert(); } } var grInt = novi GlideRecordSecure('interakcija'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.tipe = 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist);//sysid; },
-
Idite na navigator filtera i potražite stranice
korisničkog interfejsa.Izaberite opciju UI Pages pod Sistem UI.

-
Filtrirajte stranice korisničkog interfejsa sa imenom i potražite agentdesktop
.
-
Promenite
Srpsko-hrvatski
Funkcija u polju skripte.
Trenutna funkcija:
screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjak('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.Urgenci!= null && callSessionInfo.callAssociatedData.Urgenci!= undefined) { IncUrgency=callSessionInfo.callAssociatedData.Urgency.value; } if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjak('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('polje', 'telefon'); gaout.addParam('vrednost', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam('Uticaj', Uticaj); 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', upit: '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 u toku incidenta, aplikacija otvara novi incident


Promenite kod na ServiceNov
Dodajte nove kolone u VebekCC IMP aktivnost
stol
Otvorite VebekCC IMP aktivnoststol





Kliknite na Update.


Dodajte nove kolone u Telefonski dnevnik
stol
Otvorite Telefonski dnevnik
stol





VebekCC Aktivnost Transform Map
Otvorite Transformiši mapu
Iz filtera navigatora


Kliknite na VebeksCC aktivnost TransformMap




Kliknite na dugme Ažuriraj.

Promene u skripti uključuje
-
Idi na filter navigator i potražite "skripta uključuje".
Izaberite skriptu uključuje pod Sistem UI.

-
Filtriraj ime sa
Preuzmite
.
-
Promenite metod
Sortiraj
.
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()) { //Aktivnosti na zapisu incidenta; //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', incsisid ); 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(); } vratiti sys_id; },
Promena metoda na stranicama korisničkog interfejsa
-
Idi na filter navigator i potražite
UI stranice
Izaberite opciju UI Pages pod Sistem UI.

-
Filtrirajte stranice korisničkog interfejsa sa imenom i potražite
agentdesktop.
-
Promenite
sadaAktivnosti i screenpop
Funkcija u skripti.
Trenutna funkcija:
function nowActivities(actInfo, ani) { var gaout = new GlideAjak('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 GlideAjak('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', upit: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }
Rezultati nakon ažuriranja

Sledeća prilagođavanja se odnose na verzije 1.0.5 i ispod. Za prilagođavanja za novije verzije 1.0.7 i novije, sledite gore navedene korake.
Prilagođavanje # KSNUMKS - Dodajte prilagođena poslovna pravila za slučajeve korišćenja toka poziva
Kreirajte novi zapis incidenta za svaki pozivZa svaki novi poziv u VebekCC CRM konektor u ServiceNov-u, kreirajte novi zapis incidenta.
Potražite poslovna pravila na navigatoru filtera

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", ime); } 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; povratni URL; } function UserGetSysId(polje, vrednost) { var user = novi GlideRecord("sys_user"); user.addKueri(polje, vrednost); user.kueri(); if (user.nekt()) vrati user.sys_id; inače vrati null; }Uzorak konfiguracije poslovnog pravila

Omogući pozivanje klijenta

Computer Telephony Integration (CTI) Processing For Incident je označen kao True.

Ažurirajte screenpop URL sa prilagođenim CTI Rule " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="

sysparm_cti_rule =name gde je 'name' ime funkcije treba da se pozove za CTI Obrada umesto korišćenja podrazumevane skripte.
Definišite funkciju u sys_script unos označen klijent callable .
Ako morate Insert, ažurirati ili izbrisati bilo koji GlideRecords u funkciji, pozovite zasebnu funkciju koja nije klijent koja se može pozvati da biste izvršili ažuriranja.
Da biste napravili skriptu klijent-callable, morate da označite polje za potvrdu klijent-callable na obrascu koji se prikazuje kada je prikazan sys_script unos.
Polje za potvrdu koje se može pozvati klijent se podrazumevano ne prikazuje. Da biste videli, morate da izmenite polja koja se prikazuju na obrascu pomoću ikone zupčanika i mehanizma bljuzgavice.
Prilagođavanje # 2 - Dodajte CAD promenljivu u Webex Contact Center tabeli aktivnosti
PregledOvaj članak detaljno opisuje proces dodavanja dodatne kolone u tabelu ServiceNov - webexcc_activity koja se kreira nakon instalacije Webex CC za ServiceNov CRM konektor.
Po defaultu, tabela sadrži out-of-bok sistemska polja i vrednosti.
Potencijalno možete kreirati više promenljivih specifičnih za poslovanje (CAD varijable) unutar VebekCC Flov dizajnera i dodati te CAD varijable unutar ServiceNov POST dnevnika aktivnosti poziva, i ustrajati ovo na POST podatke tabele aktivnosti poziva.
-
Ovo je samo referentna dokumentacija - i pokazuje kako se to radi za uzorak CAD promenljive pod nazivom Customer Name koja čuva ime kupca unutar IVR i objavljuje ovo na ServiceNow.
-
Programeri partnera + kupca ServiceNov će konfigurisati i upravljati ovom konfiguracijom jer je to prilagođavanje postojećem konektoru.
-
Cisco će pružiti samo tehnike o tome kako prilagoditi i proširiti konektor.
-
Od ovog članka, tim Cisco je potvrdio podršku za dodavanje CAD varijable u dnevnik aktivnosti i tabelu aktivnosti koristeći tehniku opisanu u nastavku.
Uredite tabelu u verziji za programere ServiceNov-a.

Idi u .



Izaberite VebekCC tabelu aktivnosti .

Na primer, CustomerName.


Izaberite Raspored liste za VebekCC aktivnost.

Ovaj korak nije potreban ako koristite Update Set XML - Samo jedna linija je potrebna da se doda "webexcc.u_customername=actInfo.CustomerName" u propUtils.



Uzorak skripte
Pogledajte liniju sa:webexcc.u_customername=actInfo.CustomerName; sa pratećim komentarom.
var propUtils2 = Class.create(); propUtils2.prototip = Object.ektendsObject(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')); vebekcc.addKueri("callobject", actInfo.CallObject); webexcc.query(); if(!vebekcc.nekt()) { webexcc.ani = actInfo.ani; vebekcc.dnis =actInfo.dnis; vebekcc.queuename =actInfo.queuename; vebekcc.wrapuptime =actInfo.wrapuptime; vebekcc.callduration =actInfo.CallDurationInSeconds; vebekcc.ringingtime =actInfo.ringingtime; vebekcc.activitydate =actInfo.ActivityDate; vebekcc.callobject =actInfo.CallObject; vebekcc.calltype =actInfo.CallType; vebekcc.calldisposition =actInfo.CallDisposition; // Ova linija je dodana - da bi se uhvatila u dnevniku aktivnosti vebekcc. u_customername=actInfo.CustomerName; sys_id=webexcc.Insert(); Aktivnosti na evidenciji incidenta; var actInfoString =this.getParameter('actInfo'); var suser = novi GlideRecordSecure("sys_user"); suser.addQuery("phone", this.getParameter('ani')); suser.query(); if(suser.nekt()) { 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(); } } } povratak sys_id; }, tip: 'propUtils2' });
Izmenite stranicu korisničkog interfejsa sa novim imenom skripte
Kreirajte CAD promenljivu u dizajneru protoka
Dodajte CAD promenljivu u raspored radne površine
Demo snimci ekrana
Pogledajte novo dodatu CAD promenljivu u tabeli VebekCC aktivnosti.












































