Integracija usluge Webex Contact Center s uslugom ServiceNow (verzija 1 – naslijeđena)
Kada webex kontakt centar integrirate s konzolom ServiceNow CRM, možete pokrenuti Webex Contact Center Desktop iz ServiceNow-a.
Preduvjeti
Trenutačno se ova značajka primjenjuje samo na agente.
Prije nego što integrirate Webex Contact Center s konzolom ServiceNow CRM, provjerite imate li sljedeće:
-
Pristup webex kontakt centru.
-
Administratorski pristup okruženju Control Hub na https://admin.webex.com i portalu za upravljanje Webex kontaktnim centrom. URL-ovi za portal za upravljanje specifični su za vašu regiju.
-
Sjeverna Amerika: https://portal.wxcc-us1.cisco.com
-
Singapur: https://portal-v2.wxcc-sg1.cisco.com
-
-
Agent s pristupom radnoj površini. URL radne površine specifičan je za vašu regiju.
-
Sjeverna Amerika: https://desktop.wxcc-us1.cisco.com
-
Singapur: https://desktop.wxcc-sg1.cisco.com
-
-
Pristup agenta sljedećoj domeni dodanoj na popis dopuštenih pravila o sigurnosti sadržaja:
-
*.service-now.com
Dodatne informacije o definiranju dopuštenog popisa potražite u članku Sigurnosne postavke za Webex contact center.
-
-
Račun portala za razvojne inženjere ServiceNow. Da biste stvorili račun, idite na portal za razvojne inženjere ServiceNow na https://developer.servicenow.com/dev.do i kliknite Prijava i započni izgradnju.
-
Pristup sljedećim datotekama na : https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow
-
ServiceNow Update Set (XML)
-
Izgled radne površine servisnog centra za kontakt (JSON)
-
- Izdanja usluge ServiceNow koja podržava Webex Contact Center su Vancouver, Utah, Tokya, Washington i Xanadu. Za više informacija pogledajte odjeljak Integracija usluge Webex Contact Center s uslugom ServiceNow.
Slijedite jednu od dvije metode u nastavku:
Za instance razvojnog programera preporučujemo da slijedite korake u vodiču instance razvojnog programera.
Ako ste vlasnik instance s licencom poduzeća, slijedite smjernice za instance s licencom poduzeća.
Ne preporučujemo miješanje aplikacije licencirane za poduzeće s instancama sandbox razvojnog programera.
Sljedeći odjeljci opisuju korake za instalaciju ServiceNow Connector za instance razvojnog programera.
1 |
Prijavite se na svoj račun portala razvojnog programera za ServiceNow i otvorite konzolu za administraciju. |
2 |
U području Moja instanca na izborniku Račun kliknite Započni izgradnju. |
3 |
U instanci razvojnog programera iz polja Navigator filtra u gornjem lijevom kutu prozora pomaknite se do Dodataka. |
4 |
Potražite dodatak Openframe s naslovom Openframe. Možda ćete se morati pomicati kroz popis. |
5 |
Kliknite Instaliraj da biste instalirali dodatak Openframe. |
6 |
U dijaloškom okviru Aktiviranje dodatka kliknite Aktiviraj. |
7 |
Kada se dovrši aktivacija dodatka, kliknite na Zatvori i ponovno učitaj u dijaloškom okviru Aktivacija dodatka . |
8 |
Da biste provjerili aktivaciju dodatka, iz polja Navigator filtra u gornjem lijevom kutu prozora idite na OpenFrame. |
9 |
Kliknite Konfiguracije i provjerite pojavljuje li se dodatak OpenFrame na popisu OpenFrame Konfiguracije . |
1 |
Preuzmite najnoviju XML datoteku skupa ažuriranja sustava dostupnu na repo uređaju github na ovoj lokaciji : https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. Naziv datoteke: webexcc-servicenow-update-setV(X). xml |
2 |
U instanci ServiceNow iz polja Navigator filtra u gornjem lijevom kutu prozora pomaknite se do . |
3 |
Kliknite skup ažuriranja uvoza iz XML veze. |
4 |
Kliknite Odaberi datoteku, odaberite XML datoteku Postavke ažuriranja sustava, a zatim kliknite Prenesi.
Skup ažuriranja pojavljuje se na popisu Dohvaćeni skupovi ažuriranja i nalazi se u stanju učitano .
|
5 |
Na popisu Dohvaćeni skupovi ažuriranja kliknite naziv datoteke Ažuriraj postavi naziv (veza) kako biste otvorili Skup ažuriranja. |
6 |
U gornjem desnom kutu prozora kliknite Pretpregled skupa ažuriranja da biste provjerili ima li problema u skupu ažuriranja. |
7 |
Nakon dovršetka pretpregleda kliknite na Zatvori na dijaloškom okviru Ažuriraj postavljanje pretpregleda. |
8 |
Kliknite Izvrši skupažuriranja. |
9 |
Kliknite na Zatvori na dijaloškom okviru Obveza postavljanja ažuriranja kada se završi obveza postavljanja ažuriranja. |
1 |
U polju Navigator filtra na gornjoj lijevoj strani prozora upišite |
2 |
Na stranici Svojstva sustava sortirajte svojstva prema ažuriranom datumu. Provjerite možete li vidjeti sljedeća svojstva web-centra za kontakt: |
3 |
Klikom agentdesktop_url otvorite stranicu Svojstvo agentdesktop_url sustava. |
4 |
U polje Vrijednost unesite URL za radnu površinu Webex kontaktnog centra prema regiji operacije.
|
5 |
Kliknite Ažuriraj da biste spremili promjene. |
6 |
(Neobavezno) Da biste promijenili naziv tablice Aktivnost, po potrebi uredite svojstva koja se mogu koristiti za web-mjesto. Na stranici Svojstva sustava kliknite tablicu webexccactivitytable. Po potrebi promijenite polje Vrijednost . |
7 |
(Neobavezno) Dodajte grupe korisnika na sljedeće načine:
|
1 |
U polju Filtar navigatora otvorite |
2 |
Kliknite Novo. |
3 |
Unesite sljedeća svojstva za URL:
|
4 |
Desno od polja URL kliknite gumb Zaključaj i dodajte |
5 |
(Neobavezno) Odaberite korisnike / grupe agenata za dodjelu konfiguracije. |
6 |
Kliknite Pošalji. URL se pojavljuje kao veza. |
7 |
Prije nego što pokušate koristiti telefon OpenFrame, pobrinite se da prenesete JSON datoteku prilagođenog izgleda radne površine ServiceNow na portal za upravljanje Webex kontaktnim centrom. Za više informacija pogledajte odjeljak Postavljanje izgleda radne površine usluge ServiceNow u kontaktnom centru Webex. |
1 |
Preuzmite izgled radne površine za uslugu ServiceNow iz https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
Ažurirajte svojstva u datoteci izgleda radne površine, ako je potrebno. |
3 |
Otvorite webex portal za upravljanje kontaktnim centrom . |
4 |
Na navigacijskoj traci portala za upravljanje odaberite |
5 |
Kliknite Novi izgled i unesite detalje za izgled radne površine. |
6 |
Prenesite JSON datoteku izgleda radne površine ServiceNow. |
7 |
Kliknite Spremi da biste spremili konfiguraciju. Sada možete pokrenuti radnu površinu webex kontakt centra unutar konzole ServiceNow. |
8 |
Iz polja Navigator filtra pomaknite se do . |
Sljedeći odjeljci opisuju korake za instalaciju ServiceNow Connector za licencirane instance poduzeća.
1 |
Prijavite se na svoj račun portala razvojnog programera za ServiceNow i otvorite konzolu za administraciju. |
2 |
U području Moja instanca na izborniku Račun kliknite Započni izgradnju. |
3 |
U instanci razvojnog programera iz polja Navigator filtra u gornjem lijevom kutu prozora pomaknite se do Dodataka. |
4 |
Potražite dodatak Openframe s naslovom Openframe. Možda ćete se morati pomicati kroz popis. |
5 |
Kliknite Instaliraj da biste instalirali dodatak Openframe. |
6 |
U dijaloškom okviru Aktiviranje dodatka kliknite Aktiviraj. |
7 |
Kada se dovrši aktivacija dodatka, kliknite na Zatvori i ponovno učitaj u dijaloškom okviru Aktivacija dodatka . |
8 |
Da biste provjerili aktivaciju dodatka, iz polja Navigator filtra u gornjem lijevom kutu prozora idite na OpenFrame. |
9 |
Kliknite Konfiguracije i provjerite pojavljuje li se dodatak OpenFrame na popisu OpenFrame Konfiguracije . |
Instance koje imaju licence poduzeća mogu instalirati aplikaciju Webex kontaktnog centra izravno iz trgovine ServiceNow.
Preuzmite i instalirajte paket Webex Contact Center iz trgovine ServiceNow: https://store.servicenow.com/sn_appstore_store.do#!/store/application/6c8e2a4edbc73410e1c75e25ca961947. |
1 |
U polje Filtriraj navigator u gornjem lijevom kutu prozora unesite |
2 |
Na stranici Svojstva sustava sortirajte svojstva prema ažuriranom datumu. Provjerite možete li vidjeti sljedeća svojstva web-centra za kontakt: |
3 |
Klikom agentdesktop_url otvorite stranicu Svojstvo agentdesktop_url sustava. |
4 |
U polje Vrijednost unesite URL za radnu površinu Webex kontaktnog centra prema regiji operacije.
|
5 |
Kliknite Ažuriraj da biste spremili promjene. |
6 |
(Neobavezno) Kako biste promijenili naziv tablice aktivnosti, po potrebi uredite svojstva tablice x_caci_webexcc.webexccactivitytable .
|
7 |
(Neobavezno) Dodajte grupe korisnika na sljedeće načine:
|
1 |
U polju Filtar navigatora otvorite |
2 |
Kliknite Novo. |
3 |
Unesite sljedeća svojstva za URL:
|
4 |
Desno od polja URL kliknite gumb Zaključaj i dodajte |
5 |
(Neobavezno) Odaberite korisnike / grupe agenata za dodjelu konfiguracije. |
6 |
Kliknite Pošalji. URL se pojavljuje kao veza. |
7 |
Iz polja Navigator filtra pomaknite se do . |
8 |
(Neobavezno) Na popisu grupe korisnika premjestite grupe korisnika koje mogu pristupiti radnoj površini Webex kontaktnog centra iz opcije Dostupno u opciju Odabrano. |
9 |
Prije nego što pokušate koristiti telefon OpenFrame, pobrinite se da prenesete JSON datoteku prilagođenog izgleda radne površine ServiceNow na portal za upravljanje Webex kontaktnim centrom. Za više informacija pogledajte odjeljak Postavljanje izgleda radne površine usluge ServiceNow u kontaktnom centru Webex. |
1 |
Preuzmite izgled radne površine za uslugu ServiceNow iz https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
Ažurirajte svojstva u datoteci izgleda radne površine, ako je potrebno. |
3 |
Otvorite webex portal za upravljanje kontaktnim centrom . |
4 |
Na navigacijskoj traci portala za upravljanje odaberite |
5 |
Kliknite Novi izgled i unesite detalje za izgled radne površine. |
6 |
Prenesite JSON datoteku izgleda radne površine ServiceNow. |
7 |
Kliknite Spremi da biste spremili konfiguraciju. Sada možete pokrenuti radnu površinu webex kontakt centra unutar konzole ServiceNow. |
8 |
Iz polja Navigator filtra pomaknite se do . |
1 |
Iz polja navigator filtra pomaknite se do Incidenti > Otvoreni incident. |
2 |
Desnom tipkom miša kliknite polje pozivatelja, a zatim Konfiguriraj rječnik. |
3 |
Dodajte Atribute odvojene zarezima Sada možete početi upotrebljavati radnu površinu Webex kontaktnog centra unutar konzole ServiceNow. |
4 |
Iz polja Navigator filtra pomaknite se do . |
Trenutačno ne podržavamo prijavu u radnu površinu agenta pomoću opcije Radna površina (WebRTC).
Radna površina agenta u konzoli ServiceNow
Prije upućivanja vanjskih poziva provjerite učinite sljedeće:
-
Stvorite izlaznu ulaznu točku i postavite strategiju izlazne ulazne točke.
-
Omogućite izvanserijski ANI za profil agenta.
-
Postavite zastarjeli ANI na mapiranje točke pozivanja broj-ulaz.
Za više informacija pogledajte poglavlje Omogućavanje vodiča za postavljanje i administraciju Cisco Webex Contact Center.
Iz polja Navigator filtra pomaknite se do .
Informacije o upotrebi radne površine potražite u kartici Agent u pomoći Webex kontaktnog centra.
Pregled
Ovaj članak obuhvaća nekoliko načina za prilagodbu poslovnih pravila za ServiceNow CRM konektor. U njemu se opisuje kako možete prilagoditi slučajeve upotrebe na temelju poslovnih pravila koja su specifična za uslugu ServiceNow.
Korisnik mora sam upravljati tim slučajevima upotrebe u usluzi ServiceNow. Konfiguracija je specifična za uslugu ServiceNow, a ne za softver ili stručnost usluge Webex Contact Center.
Ovo je referentna dokumentacija koja služi kao pomoć u izmjeni poslovnih pravila. Razvojni programeri usluge ServiceNow kreirat će i upravljati poslovnim pravilima te pružati podršku.
Cisco pruža samo oglednu dokumentaciju.
Sljedeći odjeljci sadrže pojedinosti o tome kako postaviti, omogućiti i upravljati widgetom Radnje za instance razvojnog programera i poduzeća.
Pošalji widget Skup ažuriranja za radnje
Za licencirane instance poduzeća instalirajte najnoviju aplikaciju Webex kontaktnog centra iz trgovine ServiceNow.
Da biste postavili widget Radnje za instance razvojnog programera, preuzmite najnoviju XML datoteku skupa ažuriranja sustava dostupnu na repo uređaju github na ovoj lokaciji: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Naziv datoteke je webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Da biste preuzeli postavku ažuriranja za widget Radnje, pogledajte korake 2 do 9 u Preuzmi skup ažuriranja.
Omogući widget radnji
Upotrijebite svojstvo isWidgetDisplayEnabled da biste omogućili widget Radnje. Ne smijete mijenjati vrijednost ovog svojstva u odjeljku bez naslova prilagođenog izgleda radne površine. Svojstvo će uvijek biti postavljeno na „false“ u odjeljku bez naslova prilagođenog izgleda radne površine. Vrijednost svojstva trebate ažurirati samo u odjeljku ploče prilagođenog izgleda radne površine.
Nakon što omogućite widget Radnje u prilagođenom izgledu radne površine, moći ćete izvršiti sljedeće radnje:
- Upravljajte zapisima aktivnosti – kliknite na Prikaz/Uređivanje zapisa aktivnosti za prikaz popisa zapisa aktivnosti povezanih s pozivateljem.
- Poveži CRM objekte – kliknite na Poveži s zapisima aktivnosti kako biste dodali CRM objekte, kao što su vrsta poziva (dolazni ili odlazni), objekt poziva, bilješke poziva itd. zapisu aktivnosti.
- Upravljanje incidentima – kliknite na Stvori incident. Stvara se novi incident s prethodno popunjenim pojedinostima pozivatelja. Možete izvršiti potrebna ažuriranja incidenta. Možete odabrati izmjenu vrste zapisa iz incidenta u slučaj, HR modul itd. na temelju vaših zahtjeva. Kako biste promijenili vrstu zapisa, izmijenite vrijednost svojstva typeOfRecord u konfiguraciji widgeta Radnje. Na primjer:
{ "comp": "md-tab-panel", "atributi": { "slot": "panel", "class": "widget-pane" }, "children": [ { "comp": "agentx-custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "svojstva": { "isWidgetDisplayEnabled": true, "typeOfRecord" : "Create Incident" }, "omot": { "title": "SNOW Actions !", "maximizeAreaName": "app-maximize-area" } } ] }
- Dodavanje bilješki poziva uživo – možete snimiti dodatne informacije o pozivu u tekstualnom području i završiti poziv. Te bilješke možete vidjeti kako su dodane kao bilješke poziva u zapisu aktivnosti.
Promjena kôda u usluzi ServiceNow
Skripta Uključuje promjene-
Idite na navigator za filtriranje i potražite
uključuje skriptu
.U odjeljku Korisničko sučelje sustava odaberite Uključuje skriptu.
-
Filtrirajte Naziv i potražite
propUtils
. -
Promijenite metodu
UserGetSysId
u skripti.Curent:
UserGetSysId: funkcija () { 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= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },
Novi kôd uzorka za incident:
UserGetSysId: funkcija () { var opened_for; //Promjene vezane uz incident var sysidlist = {}; var user = novi GlideRecordSecure("sys_user„); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=korisnik.sys_id;//vrati korisnika.sys_id; var inc = novi GlideRecordSecure('incident'); inc.addQuery('caller_id„, opened_for); inc.addQuery('stanje','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); ako (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('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; povratak JSON.stringify(sysidlist); },
-
Otvorite navigator za filtriranje i potražite
stranicu korisničkog sučelja
.Odaberite stranice korisničkog sučelja u izborniku Korisničko sučelje sustava.
-
Filtrirajte Naziv i potražite
agenta radne površine
. -
Promijenite funkciju
skočnog zaslona
u skripti klijenta.Trenutačna 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('polje', 'telefon'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entitet: „interakcija”, upit: „sys_id=”+sysid });
Šifra uzorka incidenta:
// 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', 'telefon'); gaout.addParam('value', callerani); gaout.getXMLWait(); // Za promjenu povezanu s incidentom var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entitet: "incident", upit: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entitet: "incident", upit: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba114fd121106446cc96f699b6b8'}); }}
Ako informacije pozivatelja postoje u CRM-u, a s tim kontaktom već postoji novi incident, aplikacija otvara incident u tijeku
Ako podaci pozivatelja ne postoje u CRM-u, aplikacija otvara novi incident
Ako informacije pozivatelja postoje u CRM-u, aplikacija otvara novi incident s unaprijed ispunjenim pojedinostima
Pregled
Ovaj slučaj upotrebe opisuje postupak dodavanja dodatnog stupca u tablicu ServiceNow – webexcc_imp_activity i stvaranje sn_openframe_phone_log nakon instalacije usluge Webex CC za ServiceNow CRM Connector.
Prema zadanim postavkama tablica sadrži određena polja i vrijednosti izvan okvira sustava.
Možete stvoriti više varijabli specifičnih za tvrtke (CAD varijable) unutar WebexCC Flow Designer i dodati CAD varijable unutar zapisnika aktivnosti nakon poziva usluge ServiceNow, kao i to zadržati u podacima tablice aktivnosti nakon poziva.
Ovo je samo referentna dokumentacija - i pokazuje kako to učiniti za uzorak CAD varijable pod nazivom Ime korisnika koja pohranjuje ime korisnika unutar IVR-a i objavljuje ga na ServiceNow.
Očekuje se da će razvojni programeri partnera + korisnika ServiceNow konfigurirati i upravljati ovom konfiguracijom jer je to prilagodba postojećem povezivaču.
Cisco pruža samo tehnike za prilagodbu i proširenje priključka.
Od ovog članka, Cisco tim je potvrdio podršku za dodavanje CAD varijable u zapisnik aktivnosti i tablicu aktivnosti koristeći tehniku opisanu u nastavku:
Dodaj stupac u WebexCC IMP aktivnost
-
Uredite tablicu u verziji alata ServiceNow za razvojne programere.
-
Idite na navigator filtra i potražite studio.
Odaberite
Webex kontaktni centar
ili
-
Odaberite tablicu
WebexCC IMP aktivnosti
-
Dodajte novi stupac, npr.
CustomerName
Dodaj stupac u zapisnik telefona
-
Uredite tablicu zapisnika telefona.
-
Dodajte novi stupac, na primjer,
KorisničkoIme
.
Mapa transformacije WebexCC aktivnosti
Dodajte novi stupac, na primjer, mapiranje polja CustomerName
.
Prilagodi stupce popisa
Kao što Usluga Sada preporučuje, promijenite radnju Izbor iz izrade na ignoriranje.
Konfigurirajte popis zapisnika telefona
Otvori Uključi skriptu
Dodajte samo jednu liniju webexcc.u_customername=actInfo.CustomerName
u propUtils.
Ogledna skripta
Pogledajte liniju: webexcc.u_customername=actInfo.CustomerName; s popratnim komentarom.
var propUtils = Class.create(); propUtils.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{ getWebexccProp : funkcija () { 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'); povratak JSON.stringify(webexccprop); }, UserGetSysId : funkcija () { var opened_for; var user = new GlideRecord(„sys_user”); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id;//return user.sys_id; // else // return null; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; }, setWebexcctable : funkcija () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = novi GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable'); webexcc.addQuery("callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { webexcc.ani = actInfo.ani; webexcc.dnis =actInfo.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds; webexcc.ringingtime =actInfo.ringingtime; webexcc.ringingtime =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; // Ova je linija dodana – za snimanje je u zapisnik aktivnosti webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); //Activities on Incident record; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery("telefon", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_idSuser.sys_id); inc.orderByDesc('sys_created_on'); inc.query(); ako (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(actInfoString),null,2); inc.comments =jsonPretty; inc.update(); } } } povratak sys_id; }, vrsta: „propUtils” });
Izradite CAD varijablu u Dizajneru tijeka
Dodaj CAD varijablu izgledu radne površine
Primjer
"CadName1:SnowField1,CadName2:SnowField2" CadName1 je CustomerName SnowField1 se također koristi kao CustomerName koji je dio ogledne skitnice prikazane iznad "actInfo.CustomerName".
Demonstracijske snimke zaslona
Pregledajte novododanu CAD varijablu u tablici aktivnosti WebexCC.
Izradi CAD varijablu za Dizajnera tijeka
Hitnost incidentaUtjecaj incidenta
Ažuriranje skripte sada za uslugu
Ažuriranja skripte uključuje
-
Idite na navigator filtra i potražite
uključuje skriptu
Odaberite opciju Uključi skriptu u korisničkom sučelju sustava.
-
Filtrirajte naziv pomoću
propUtils
. -
Promijenite metodu
UserGetSysId
u polju Script .Trenutačna skripta:
UserGetSysId: funkcija () { 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= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },
Novi kôd uzorka za incident:
UserGetSysId: funkcija () { var opened_for; var sysidlist = {}; var user = novi GlideRecordSecure("sys_user„); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=korisnik.sys_id;//vrati korisnika.sys_id; var inc = novi GlideRecordSecure('incident'); inc.addQuery('caller_id„, opened_for); inc.addQuery('stanje','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); ako (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('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; povratak JSON.stringify(sysidlist);//sysid; },
-
Idite na navigator filtra i potražite
stranice korisničkog sučelja
.Odaberite opciju Stranice korisničkog sučelja u izborniku Korisničko sučelje sustava.
-
Filtrirajte stranice korisničkog sučelja s nazivom i potražite
agenta radne površine
. -
Promijenite funkciju
skočnog zaslona
u polju skripte.Trenutačna 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('polje', 'telefon'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entitet: „interakcija”, upit: „sys_id=”+sysid }); }
Šifra uzorka incidenta:
// 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 != undefined) { IncUrgency=callSessionInfo.callAssociatedData.Urgency.value; } if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = novi GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('polje', 'telefon'); gaout.addParam('vrijednost', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam('Impact', Impact); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entitet: "incident", upit: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entitet: "incident", upit: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem(„screenpopinteraction”,JSON.stringify(sysObj)); }
Ako informacije pozivatelja postoje u CRM-u i ne postoji novi incident ili incident u tijeku, aplikacija otvara novi incident
Promijenite kôd na ServiceNow
Dodavanje novih stupaca u tablicu WebexCC IMP aktivnosti
Otvorite tablicu WebexCC IMP aktivnostiDodajte novi stupac – InterakcijeBroj Dodaj novi stupac – IncidentNumber
Kliknite Ažuriraj.
Dodavanje novih stupaca u tablicu Zapisnik telefona
Otvorite tablicu Zapisnika telefona
Mapa transformacije WebexCC aktivnosti
Otvori mapu transformacije
iz navigatora filtra
Kliknite na WebexCC mapu transformacije aktivnosti
Kliknite na Ažuriraj.
Promjene u skripti uključuju
-
Idite na navigator za filtriranje i potražite „uključuje skriptu”.
U odjeljku Korisničko sučelje sustava odaberite Uključuje skriptu.
-
Filtrirajte naziv pomoću
propUtils
. -
Promijenite metodu
setWebexcctable
.Novi kôd uzorka za incident:
setWebexcctable: funkcija () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = novi 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=""; izbriši actInfo['interaction_sys_id']; izbriši 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žuriranje stanja zatvoreno.'; inte.update(); } } if( incsysid!= null && incsysid != undefined){ var inci = new GlideRecordSecure('incident'); inci.addQuery('sys_id', incsysid ); inci.query(); ako (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("telefon", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_idSuser.sys_id); inc.addQuery('stanje','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); ako (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=intenj; sys_idPovratak =webexcc.insert(); } sys_id; },
Promjene metode na stranicama korisničkog sučelja
-
Idite na navigator za filtriranje i potražite
stranice korisničkog sučelja
Odaberite opciju Stranice korisničkog sučelja u izborniku Korisničko sučelje sustava.
-
Filtrirajte stranice korisničkog sučelja s
nazivom
i potražite agenta radne površine. -
Promijenite funkciju
NowActivities i skočni prozor
u skripti.Trenutačna funkcija:
funkcija sadaActivities(actInfo, ani) { var gaout = novi GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gaout.getXML(SetCCsysId); }
Šifra uzorka incidenta:
funkcija sadaActivities(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 = novi GlideAjax('propUtils'); gaout.addParam(')sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gaout.getXML(SetCCsysId); } funkcija screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = novi GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('polje', 'telefon'); gaout.addParam('value', callerani); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entitet: "incident", upit: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entitet: "incident", upit: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem(„screenpopinteraction”,JSON.stringify(sysObj)); }
Rezultati nakon ažuriranja
Sljedeće prilagodbe primjenjuju se na verzije 1.0.5 i niže. Za prilagodbe za novije verzije 1.0.7 i novije, slijedite prethodne korake.
Broj prilagodbe 1 – Dodajte prilagođena poslovna pravila za slučajeve upotrebe tijeka poziva
Izradite novi zapis incidenta za svaki pozivZa svaki novi poziv u WebexCC CRM konektor u usluzi ServiceNow izradite Novi zapis incidenta.
Pretraživanje poslovnih pravila u navigatoru filtra
Kliknite Novo.
Šifra uzorka za referencu:
funkcija customcti() { var url = null; var naziv = sysparm_caller_name; eid = sysparm_caller_id; var telefon = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; ako (fQuery == null) fQuery = ''; var view = sysparm_view; ako (prikaz == null || view == '') view = "itil"; var userID = null; if (eid != null && eid != '') { userID = UserGetSysId("employee_number",eid); } ako (userID == null && name != null && name != '') { userID = UserGetSysId(„name”, naziv); } ako (userID == null && phone != null && phone != '') { userID = UserGetSysId(„phone”, telefon); } ako (userID != null) { ako (fQuery.length > 0) fQuery += "^"; fQuery += "caller_id=" + userID; } ako (url == null) { url = "incident.do?sys_id=-1"; if (fQuery != null) url += "&sysparm_query=" + fQuery; } answer = url; return url; } funkcija UserGetSysId(polje, vrijednost) { var user = new GlideRecord("sys_user„); user.addQuery(polje, vrijednost); user.query(); ako (user.next()) vrati korisnika.sys_id; inače vrati null; }
Ogledna konfiguracija poslovnog pravila
Omogući klijent koji se može pozvati
Obrada integracije računalne telefonije (CTI) za incident označena je kao Istina.
Ažurirajte URL skočnog zaslona prilagođenim CTI pravilom " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="
sysparm_cti_rule=naziv gdje je 'naziv' naziv funkcije treba se pozvati za CTI obradu , a ne koristiti zadanu skriptu.
Definirajte funkciju u sys_script unosu označenom klijentu koji se može pozvati.
Ako u funkciju morate umetnuti, ažurirati ili izbrisati bilo koji GlideRecord (ili više njih), nazovite zasebnu funkciju koja se ne može pozivati na klijenta kako biste izvršili ažuriranja.
Kako bi skripta mogla biti pozvana na klijenta, morate označiti potvrdni okvir koji se može pozvati na obrascu koji se prikazuje kada sys_script se prikaže unos.
Potvrdni okvir koji se može pozvati na klijenta ne prikazuje se prema zadanim postavkama. Da biste prikazali, morate izmijeniti polja koja se prikazuju na obrascu pomoću ikone zupčanika i mehanizma kanalizacije.
Broj prilagodbe 2 – Dodajte CAD varijablu u tablici aktivnosti usluge Webex Contact Center
PregledU ovom se članku opisuje postupak dodavanja dodatnog stupca u tablicu ServiceNow – webexcc_activity koji je izrađen nakon instalacije usluge Webex CC za ServiceNow CRM Connector.
Prema zadanim postavkama tablica sadrži polja i vrijednosti sustava izvan okvira.
Potencijalno možete stvoriti više varijabli specifičnih za poslovanje (CAD varijable) unutar WebexCC Flow Designer i dodati te CAD varijable u ServiceNow zapisnik aktivnosti nakon poziva, a to zadržati u tablici aktivnosti nakon poziva .
-
Ovo je samo referentna dokumentacija - i pokazuje kako to učiniti za uzorak CAD varijable pod nazivom Ime korisnika koja pohranjuje ime korisnika unutar IVR-a i objavljuje ga na ServiceNow.
-
Razvojni programeri partnerske + korisničke usluge konfigurirat će ovu konfiguraciju i upravljati njom jer je to prilagodba postojećem povezivaču.
-
Cisco će pružiti samo tehnike za prilagodbu i proširenje priključka.
-
Od ovog članka, Cisco tim je potvrdio podršku za dodavanje CAD varijable u zapisnik aktivnosti i tablicu aktivnosti koristeći tehniku opisanu u nastavku.
Uredite tablicu u verziji alata ServiceNow za razvojne programere.
Idite u
.Odaberite tablicu WebexCC aktivnosti .
Na primjer, CustomerName.
Odaberite izgled popisa za aktivnost WebexCC-a.
Ovaj korak nije potreban ako upotrebljavate XML skup ažuriranja. Potrebno je dodati samo jednu liniju „webexcc.u_customername=actInfo.CustomerName” u propUtils.
Ogledna skripta
Pogledajte liniju s:webexcc.u_customername=actInfo.CustomerName; s popratnim komentarom.
var propUtils2 = Class.create(); propUtils2.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{ getWebexccProp : funkcija () { 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'); povratak JSON.stringify(webexccprop); }, setWebexcctable : funkcija () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = novi GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable'); webexcc.addQuery("callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { webexcc.ani = actInfo.ani; webexcc.dnis =actInfo.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds; webexcc.ringingtime =actInfo.ringingtime; webexcc.ringingtime =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; // Ova je linija dodana – za snimanje je u zapisnik aktivnosti webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); // Activities on Incident record; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery("telefon", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_idSuser.sys_id); inc.orderByDesc('sys_created_on'); inc.query(); ako (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(acting string),null,2); inc.comments =jsonPretty; inc.update(); } } } povratak sys_id; }, vrsta: 'propUtils2' });
Uredite stranicu korisničkog sučelja novim nazivom skripteIzradite CAD varijablu u Dizajneru tijeka
Dodaj CAD varijablu izgledu radne površine
Demonstracijske snimke zaslona
Pregledajte novododanu CAD varijablu u tablici aktivnosti WebexCC.