Integrišite Webex kontakt centar sa ServiceNov< / h1>
Kada integrišete Webex Contact Center sa ServiceNov CRM konzolom, možete pokrenuti Webex Contact Center Desktop iz ServiceNov-a.
Preduslovi
Pre nego što integrišete Webex kontakt centar sa ServiceNov CRM konzolom, uverite se da imate sledeće:
-
Pristup Webex kontakt centru.
-
Administratorski pristup kontrolnom čvorištu na https://admin.webex.com i portalu za upravljanje kontaktnim centrom Webex. URL-ovi za portal za upravljanje su specifični za vaš region.
-
Severna Amerika: https://portal.wxcc-us1.cisco.com
-
Velika Britanija: https://portal.wxcc-eu1.cisco.com
-
Singapur: https://portal-v2.wxcc-sg1.cisco.com
-
-
Agent sa pristupom radnoj površini. URL za radnu površinu je specifičan za vaš region.
-
Severna Amerika: https://desktop.wxcc-us1.cisco.com
-
Velika Britanija: https://desktop.wxcc-eu1.cisco.com
-
Singapur: https://desktop.wxcc-sg1.cisco.com
-
-
Pristup agenta sledećem domenu koji je dodat na listu dozvoljenih politika bezbednosti sadržaja:
-
*.service-now.com
Za više informacija o tome kako da definišete listu dozvoljenih, pogledajte članak Bezbednosna podešavanja za Webex kontakt centar.
-
-
Račun portala za programere ServiceNov. Da biste kreirali nalog, idite na portal za programere ServiceNow na https://developer.servicenow.com/dev.do i kliknite na dugme Prijavi se i počnite da gradite.
-
Pristup sledećim fajlovima na # https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
ServiceNov skup ažuriranja (XML)
-
ServiceNov Kontakt centar Desktop Laiout (JSON)
-
- ServiceNov izdanja koja Webex Contact Center podržava su Vancouver, Utah, Tokia, Vašington i Ksanadu. Za više informacija, pogledajte Webex Contact Center Integration with ServiceNov.
Pratite jednu od dve metode u nastavku:
Za instance programera, preporučujemo da sledite korake u vodiču za primere programera.
Ako posedujete instancu licenciranu za preduzeće, sledite 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 nalog portala za programere ServiceNov i otvorite konzolu za administraciju . |
2 |
Iz oblasti Moja instanca menija naloga , kliknite na dugme Pokreni izgradnju. |
3 |
Na vašoj 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 Install da biste instalirali Openframe plugin. |
6 |
U dijalogu Aktiviraj plugin kliknite na dugme Aktiviraj. |
7 |
Kada je aktivacija dodatka završena, kliknite na dugme Zatvori i ponovo učitaj obrazac u dijalogu Plugin Activation . |
8 |
Da biste proverili aktivaciju dodatka, iz polja Filter navigator u gornjem levom uglu prozora, idite na OpenFrame. |
9 |
Kliknite na dugme Konfiguracije i uverite se da se OpenFrame plugin pojavi na listi OpenFrame konfiguracija . |
1 |
Preuzmite najnoviju datoteku XML ažuriranja sistema koja je dostupna na github repo-u 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šoj ServiceNow instanci, iz Filter navigator polja u gornjem levom uglu prozora, idite na Skupovi |
3 |
Kliknite na Uvoz skupa ažuriranja iz XML-a . |
4 |
Kliknite na dugme Izaberi datoteku, izaberite XML datoteku skupa ažuriranja sistema, a zatim kliknite na dugme Upload.
Skup ažuriranja se pojavljuje na listi Preuzetih skupova ažuriranja i nalazi se u stanju Učitano .
|
5 |
Iz preuzetih skupova ažuriranja liste, kliknite na Ime datoteke skupa ažuriranja (veza) da biste otvorili skup ažuriranja. |
6 |
U gornjem desnom uglu prozora kliknite na dugme Pregled skupa ažuriranja da biste proverili skup ažuriranja za probleme. |
7 |
Kliknite na dugme Zatvori na Pregled skupa ažuriranja dijalog bok kada je pregled završen. |
8 |
Kliknite na dugme "Urezivanje skupa ažuriranja". |
9 |
Kliknite Zatvori na Uskladi skup urezivanja dijalog kada je urezivanje Uskladi skup završeno. |
1 |
U polje Filter navigator u gornjem levom uglu prozora, upišite |
2 |
Na stranici Sistemske osobine , sortirajte osobine po ažuriranom datumu. Uverite se da možete videti sledeće osobine Webex Contact Center-a: |
3 |
Kliknite agentdesktop_url da biste otvorili stranicu agentdesktop_url Sistemska osobina. |
4 |
U polje Vrednost unesite URL adresu za Webex Contact Center Desktop prema regionu operacije.
|
5 |
Kliknite na dugme Ažuriraj da biste sačuvali promene. |
6 |
(Opciono) Da biste promenili ime tabele aktivnosti, uredite svojstva vebekcцutilititable po potrebi. Na stranici Sistemske osobine , kliknite na vebekccactivititable. Promenite polje vrednosti 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 URL polja, 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đeni Desktop Laiout JSON datoteku na Webex Contact Center Management Portal. Za više informacija, pogledajte Podešavanje ServiceNov rasporeda radne površine na Webex kontakt centru. |
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 Desktop Laiout, ako je potrebno. |
3 |
Idite na Webex portal za upravljanje kontakt centrom. |
4 |
Na navigacionoj traci portala za upravljanje izaberite . |
5 |
Kliknite Novi raspored i unesite detalje za raspored radne površine. |
6 |
Otpremite datoteku JSON ServiceNov Desktop Laiout. |
7 |
Kliknite na dugme Sačuvaj da biste sačuvali konfiguraciju. Sada možete pokrenuti Webex Contact Center Desktop u okviru ServiceNov konzole. |
8 |
Iz polja Filter navigator , idite na . |
Sledeći odeljci opisuju korake za instaliranje ServiceNov konektora za licencirane instance preduzeća.
1 |
Prijavite se na svoj nalog portala za programere ServiceNov i otvorite konzolu za administraciju . |
2 |
Iz oblasti Moja instanca menija naloga , kliknite na dugme Pokreni izgradnju. |
3 |
Na vašoj 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 Install da biste instalirali Openframe plugin. |
6 |
U dijalogu Aktiviraj plugin kliknite na dugme Aktiviraj. |
7 |
Kada je aktivacija dodatka završena, kliknite na dugme Zatvori i ponovo učitaj obrazac u dijalogu Plugin Activation . |
8 |
Da biste proverili aktivaciju dodatka, iz polja Filter navigator u gornjem levom uglu prozora, idite na OpenFrame. |
9 |
Kliknite na dugme Konfiguracije i uverite se da se OpenFrame plugin pojavi na listi OpenFrame konfiguracija . |
Slučajevi koji imaju licence za preduzeća mogu instalirati aplikaciju Webex Contact Center direktno iz ServiceNov Store-a.
Preuzmite i instalirajte paket Webex Kontakt centar iz prodavnice ServiceNov: 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 ažuriranom datumu. Uverite se da možete videti sledeće osobine Webex Contact Center-a: |
3 |
Kliknite agentdesktop_url da biste otvorili stranicu agentdesktop_url Sistemska osobina. |
4 |
U polje Vrednost unesite URL adresu za Webex Contact Center Desktop prema regionu operacije.
|
5 |
Kliknite na dugme Ažuriraj da biste sačuvali promene. |
6 |
(Opciono) Da biste promenili ime tabele aktivnosti, uredite svojstva x_caci_webexcc.vebekcцutilititable 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 , 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 |
Iz polja Filter navigator , idite na . |
8 |
(Opciono) Na listi korisničkih grupa , premestite korisničke grupe koje mogu da pristupe Webex Contact Center Desktop od dostupnog do izabranog. |
9 |
Pre nego što pokušate da koristite OpenFrame telefon, uverite se da ste otpremili ServiceNov prilagođeni Desktop Laiout JSON datoteku na Webex Contact Center Management Portal. Za više informacija, pogledajte Podešavanje ServiceNov rasporeda radne površine na Webex kontakt centru. |
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 Desktop Laiout, ako je potrebno. |
3 |
Idite na Webex portal za upravljanje kontakt centrom. |
4 |
Na navigacionoj traci portala za upravljanje izaberite . |
5 |
Kliknite Novi raspored i unesite detalje za raspored radne površine. |
6 |
Otpremite datoteku JSON ServiceNov Desktop Laiout. |
7 |
Kliknite na dugme Sačuvaj da biste sačuvali konfiguraciju. Sada možete pokrenuti Webex Contact Center Desktop u okviru ServiceNov konzole. |
8 |
Iz polja Filter navigator , idite na . |
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 u okviru ServiceNov konzole. |
4 |
Iz polja Filter navigator , idite na . |
Agent Desktop u ServiceNov konzoli
Pre nego što upućujete pozive, uverite se da uradite sledeće:
-
Kreirajte ulaznu tačku i podesite strategiju ulazne tačke za izlazak.
-
Omogućite outdial ANI za profil agenta.
-
Podesite outdial ANI na mapiranje brojeva za ulaznu tačku.
Za više informacija pogledajte poglavlje Obezbeđivanje Cisco Webex Contact Center Setup and Administration Guide.
Iz polja Filter navigator , idite na .
Za informacije o tome kako koristiti Desktop, pogledajte karticu Agent u pomoći Webex Contact Center-a.
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 sam upravljati ovim slučajevima upotrebe na ServiceNov. Konfiguracija je specifična za ServiceNov, a ne za softver ili stručnost Webex Contact Center-a.
Ovo je referentna dokumentacija koja pomaže u modifikaciji poslovnih pravila. Programeri ServiceNov će kreirati i upravljati poslovnim pravilima i pružiti podršku.
Cisco pruža samo uzorak dokumentacije.
Sledeći odeljci pružaju detalje o tome kako podesiti, omogućiti i upravljati vidžetom akcija za programere i poslovne instance.
Urezivanje skupa obnavljanja za akcije vidžet
Za licencirane instance preduzeća, instalirajte najnoviju aplikaciju Webex Contact Center iz prodavnice ServiceNov.
Da biste podesili vidžet Actions za instance programera, preuzmite najnoviju datoteku XML skupa ažuriranja sistema koja je dostupna 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 urežete skup obnavljanja za Akcije vidžeta, pogledajte korake 2 do 9 u Urezivanje skupa obnavljanja.
Omogući akcije Vidget
Koristite isWidgetDisplayEnabled osobinu da biste omogućili vidžet Akcije. Ne smete da menjate vrednost ove osobine u odeljak bez glave prilagođenog rasporeda radne površine. Osobina je uvek podešena na false u odeljku bez glave prilagođenog rasporeda radne površine. Trebalo bi da ažurirate vrednost osobine 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 evidencijom aktivnosti – Kliknite na Prikaz/Uredi zapis aktivnosti da biste videli listu zapisa aktivnosti povezanih sa pozivaocem.
- Pridruž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 o pozivu i tako dalje u zapis aktivnosti.
- Upravljanje incidentima – kliknite na Kreiraj incident. Kreira se novi incident sa detaljima o pozivaocu. Možete izvršiti potrebna ažuriranja incidenta. Možete da izaberete 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 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": "SNOV Actions!", "maximizeAreaName": "app-maximize-area" } } ] }
- Dodajte beleške o pozivu uživo—Možete snimiti dodatne informacije o pozivu u tekstualnoj oblasti i završiti poziv. Ove beleške možete videti dodane kao beleške o pozivu u zapisu aktivnosti.
Promena koda na ServiceNow
Skripta uključuje promene-
Idi na filter navigator i potražite
Scenario uključuje
.Izaberite skriptu uključuje pod Sistem UI.
-
Filtriraj ime i potražite
Pretraživanje
. -
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 = new GlideRecordSecure('interakcija'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist); },
-
Idite na navigator filtera i potražite
stranicu
korisničkog interfejsa.Izaberite UI stranice pod Sistem UI.
-
Filtriraj ime i potražite
Sortiraj
. -
Promenite
Pretraživanje
Funkcija u klijentskoj 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 pozivaocu postoje u CRM-u, a već je otvoren novi incident sa ovim kontaktom, aplikacija otvara inprogress incident
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.
Podrazumevano, tabela sadrži određene sistemske polja i vrednosti van kutije.
Možete kreirati više poslovnih specifičnih varijabli (CAD varijable) unutar dizajnera VebekCC protoka i dodati CAD varijable unutar dnevnika aktivnosti nakon poziva ServiceNov, kao i da to ustane na podatke tabele aktivnosti nakon poziva.
Ovo je samo referentna dokumentacija - i pokazuje kako se to radi za uzorak CAD promenljive pod nazivom Korisničko ime koja čuva ime kupca unutar IVR-a i objavljuje ovo u ServiceNov.
Očekuje se da će programeri partnera + korisničkog servisa 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, Cisco tim je potvrdio podršku za dodavanje CAD varijable u dnevnik aktivnosti i tabelu aktivnosti koristeći tehniku opisanu u nastavku:
Dodajte kolonu u VebekCC IMP aktivnost
-
Uredite tabelu u verziji ServiceNov za programere.
-
Idite na navigator filtera i potražite studio.
Izaberite
Webex Contact Center
ili
-
Izaberite
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
.
WebexCC Aktivnost Transform Mapa
Dodajte novu kolonu, na primer, Korisničko ime
Mapiranje polja.
Personalizujte kolone liste
Kao što Service Nov preporučuje, promenite akciju Izbor iz kreiranja da ignoriše.
Konfigurišite listu dnevnika telefona
Idi na Uključi skriptu
Dodajte samo jednu liniju webexcc.u_customername=actInfo.CustomerName
Na propUtils.
Uzorak skripte
Pogledajte liniju: webexcc.u_customername=actInfo.CustomerName; sa podržavajućim komentarom.
var propUtils = Class.create(); propUtils.prototipe = 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 = new GlideRecord('interakcija'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); povratak sisida; }, 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; vebekc.activitidate =actInfo.ActivitiDate; vebekc.callobject =actInfo.CallObject; vebekc.calltype =actInfo.CallType; vebexcc.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 = 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(); } } } 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 incidentaUticaj incidenta
Servis Nov ažuriranje skripte
Ažuriranja skripte uključuju
-
Idite na navigator filtera i potražite
skriptu uključuje
Izaberite opciju Skripta uključuje pod Sistemski korisnički interfejs.
-
Filtrirajte ime pomoću
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('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interakcija'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= '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 Stranice korisničkog interfejsa pod Sistemski korisnički interfejs.
-
Filtrirajte stranice korisničkog interfejsa sa imenom i potražite agentdesktop
.
-
Promenite
Pretraživanje
Funkcija 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('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', 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 ServiceNow
Dodajte nove kolone u VebekCC IMP Aktivnost
stol
Otvorite VebekCC IMP Aktivnoststol Dodajte novu kolonu - InteractionsNumber Dodajte novu kolonu - IncidentNumber
Kliknite na Ažuriraj.
Dodajte nove kolone u Telefonski dnevnik
stol
Otvorite Telefonski dnevnik
stol
WebexCC Aktivnost Transform Mapa
Otvorite Transformišite mapu
Iz navigatora filtera
Kliknite na VebeksCC Aktivnost TransformMap
Kliknite na dugme Ažuriraj.
Promene u skripti uključuje
-
Idite na navigator filtera i potražite "skripta uključuje".
Izaberite skriptu uključuje pod Sistem UI.
-
Filtriraj ime sa
Pretraživanje
. -
Promenite metod
Srpsko-hrvatski
.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='Ažuriraj stanje na zatvoreno.'; 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(); } povratak sys_id; },
Promene metoda na stranicama korisničkog interfejsa
-
Idi na filter navigator i potražite
Straniцe korisničkog interfejsa
Izaberite opciju Stranice korisničkog interfejsa pod Sistemski korisnički interfejs.
-
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 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
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 korake iznad.
Prilagođavanje # 1 - Dodajte prilagođena poslovna pravila za slučajeve korišćenja protoka poziva
Kreirajte novi zapis incidenta za svaki pozivZa svaki novi poziv u VebekCC CRM konektor u ServiceNov-u, kreirajte novi zapis o incidentu.
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(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ćite poziv klijenta
Integracija računarske telefonije (CTI) Obrada za incident je označena kao True.
Ažurirajte screenpop url sa prilagođenim CTI Rule " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="
sysparm_cti_rule = ime gde je 'ime' ime funkcije treba da se pozove za CTI Obrada umesto korišćenja podrazumevane skripte.
Definišite funkciju u sys_script unos označen klijent poziva.
Ako morate da ubacite, ažurirate ili izbrišete bilo koji GlideRecords u funkciji, pozovite zasebnu funkciju koja se može pozvati bez klijenta da biste izvršili ažuriranja.
Da biste napravili skriptu klijent-callable, morate da proverite polje za potvrdu klijent-callable na obrascu koji se prikazuje kada se prikaže sys_script unos.
Polje za potvrdu klijent-callable ne prikazuje se podrazumevano. Da biste videli, morate da izmenite polja koja se prikazuju na obrascu pomoću ikone zupčanika i mehanizma bljuzgavice.
Prilagođavanje # KSNUMKS - Dodajte CAD promenljivu u tabeli aktivnosti Webex Contact Center
PregledOvaj članak detaljno opisuje proces dodavanja dodatne kolone u tabelu ServiceNov - webexcc_activity koja se kreira nakon instalacije Webex CC za ServiceNov CRM Connector.
Podrazumevano, tabela sadrži out-of-bok sistemska polja i vrednosti.
Potencijalno možete kreirati više poslovnih specifičnih varijabli (CAD varijable) unutar VebekCC Flov dizajnera i dodati te CAD varijable unutar ServiceNov post dnevnika aktivnosti poziva, i ustrajati u podacima tabele aktivnosti nakon poziva.
-
Ovo je samo referentna dokumentacija - i pokazuje kako se to radi za uzorak CAD promenljive pod nazivom Korisničko ime koja čuva ime kupca unutar IVR-a i objavljuje ovo u ServiceNov.
-
Programeri partnera + korisničkog servisa ć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, Cisco tim je potvrdio podršku za dodavanje CAD varijable u dnevnik aktivnosti i tabelu aktivnosti koristeći tehniku opisanu u nastavku.
Uredite tabelu u verziji ServiceNov za programere.
Idite u
.Izaberite tabelu aktivnosti VebekCC.
Na primer, CustomerName.
Izaberite raspored liste za VebekCC aktivnost.
Ovaj korak nije potreban ako koristite skup ažuriranja XML - Potrebno je dodati samo jednu liniju "webexcc.u_customername=actInfo.CustomerName" u propUtils.
Uzorak skripte
Pogledajte liniju sa: webexcc.u_customername = actInfo.CustomerName; sa podržavajućim komentarom.
var propUtils2 = Class.create(); propUtils2.prototipe = 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')); webexcc.addQuery("callobject", actInfo.CallObject); webexc.query(); if(!vebekc.nekt()) { webexcc.ani = actInfo.ani; vebekc.dnis =actInfo.dnis; vebekc.kueuname =actInfo.kueuname; vebekc.wrapuptime =actInfo.wrapuptime; vebekc.callduration =actInfo.CallDurationInSeconds; vebekc.ringingtime =actInfo.ringingtime; vebekc.activitidate =actInfo.ActivitiDate; vebekc.callobject =actInfo.CallObject; vebekc.calltipe =actInfo.CallTipe; vebekc.calldisposition=actInfo.CallDisposition; // Ova linija je dodata - da bi se snimila u vebekcc dnevnika aktivnosti. u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Aktivnosti na evidenciji incidenta; 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(); } } } povratak sys_id; }, tip: 'propUtils2' });
Izmenite stranicu korisničkog interfejsa sa novim imenom skripteKreirajte 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.