Integrišite Webex Contact Center sa ServiceNow (Version 1—Legacy)
Preduslovi
Trenutno, ova funkcija se primenjuje samo na agente.
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 Webex Contact Center portalu za upravljanje. URL-ovi za portal za upravljanje su specifični 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 dodat na listu dozvoljenih politika bezbednosti sadržaja:
-
*.service-now.com
Za više informacija o tome kako definisati listu dozvoljenih, pogledajte članak Bezbednosna podešavanja za Webex Contact Center.
-
-
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 Prijavite se i počnite graditi.
-
Pristup sledećim fajlovima na # https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
ServiceNow Update Set (XML)
-
ServiceNov Kontakt centar Desktop Laiout (JSON)
-
- ServiceNow 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 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 Sistem Update Set XML dostupnu 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 vezu Uvoz skupa ažuriranja iz XML . |
4 |
Kliknite na dugme Izaberi datoteku, izaberite datoteku skupa ažuriranja sistema XML, a zatim kliknite na dugme Otpremi.
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 Webex Contact Center osobine: |
3 |
Kliknite agentdesktop_url da biste otvorili stranicu agentdesktop_url Sistemska osobina. |
4 |
U polje Vrednost , unesite URL 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 Podesite ServiceNow 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 Desktop Laiout, ako je potrebno. |
3 |
Idite na Webex Contact Center Management Portal. |
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 unutar 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 . |
Instance koje imaju licence za preduzeća mogu instalirati aplikaciju Webex Contact Center direktno iz ServiceNow Store-a.
Preuzmite i instalirajte Webex Contact Center paket 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 ažuriranom datumu. Uverite se da možete videti sledeće Webex Contact Center osobine: |
3 |
Kliknite agentdesktop_url da biste otvorili stranicu agentdesktop_url Sistemska osobina. |
4 |
U polje Vrednost unesite URL 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) U listi korisničkih grupa , premestite korisničke grupe koje mogu da pristupe Webex Contact Center radnoj površini od dostupnog do izabranog . |
9 |
Pre nego što pokušate da koristite OpenFrame telefon, uverite se da ste otpremili ServiceNow prilagođenu JSON datoteku Desktop Laiout na Webex Contact Center Management Portal. Za više informacija, pogledajte Podesite ServiceNow raspored radne površine na Webex Contact Center. |
1 |
Preuzmite raspored radne površine za ServiceNow od 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 Contact Center Management Portal. |
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 unutar 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 ServiceNow konzole. |
4 |
Iz polja Filter navigator , idite na . |
Podržavamo prijavljivanje u Agent Desktop koristeći WebRTC samo za Salesforce (SFDC) i Microsoft Dinamics (MS Dinamics) konektore.
Agent Desktop u konzoli ServiceNow
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 Vodič za podešavanje i administraciju.
Iz polja Filter navigator , idite na .
Za informacije o tome kako koristiti 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 sam upravljati ovim slučajevima upotrebe na ServiceNov. 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ž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 Webex Contact Center aplikaciju iz prodavnice ServiceNov.
Da biste podesili vidžet Actions za instance programera, preuzmite najnoviju datoteku skupa ažuriranja sistema XML 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", "atributi": { "slot": "panel", "class": "widget-pane" }, "deca": [ { "comp": "agentk-custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "properties": { "isWidgetDisplaiEnabled": true, "tipeOfRecord": "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 Sistemski korisnički interfejs.
-
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 ServiceNow - webexcc_imp_activity i kreiranje sn_openframe_phone_log nakon instalacije Webex CC za ServiceNow CRM Connector.
Podrazumevano, tabela sadrži određene sistemske polja i vrednosti van kutije.
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 ustraju u podacima tabele aktivnosti POST 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 i objavljuje ovo u ServiceNow.
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 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.
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
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 Sistemski korisnički interfejs.
-
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
Computer Telephony Integration (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 =name gde je 'ime' ime funkcije treba da se pozove za CTI Obradu , a ne za korišćenje podrazumevane skripte.
Definišite funkciju u sys_script unos označen klijent poziva.
Ako morate Insert, ažurirati ili izbrisati 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 # 2 - Dodajte CAD promenljivu u Webex Contact Center tabeli aktivnosti
PregledOvaj članak detaljno opisuje proces dodavanja dodatne kolone u tabelu ServiceNow - webexcc_activity koja je kreirana nakon instalacije Webex CC za ServiceNow 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 VebexCC Flov dizajnera i dodati te CAD varijable unutar ServiceNov POST dnevnika aktivnosti poziva, i uporno ovo na # POST poziv podataka tabele aktivnosti.
-
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 i objavljuje ovo u ServiceNow.
-
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.
Idi
.Izaberite tabelu aktivnosti VebekCC.
Na primer, CustomerName.
Izaberite raspored liste za VebekCC aktivnost.
Ovaj korak nije potreban ako koristite skup ažuriranja 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 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 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.
