Integrirajte Webex Contact Center sa servisom ServiceNow (verzija 1– naslijeđeno)
Preduvjeti
CRM poveznik radi na temelju verzije widgeta navedene u JSON izgledu radne površine. Izuzetno je važno osigurati ažuriranje verzije widgeta unutar izgleda radne površine. Od studenog 2025. najnovija verzija widgeta je 5.0.0 (V5).
Od administratora se očekuje da osiguraju da svi izgledi radne površine za ovaj CRM poveznik koriste ovu verziju widgeta. Ako se izgled ne ažurira za korištenje najnovije verzije, funkcionalnost više neće biti podržana i može prestati ispravno raditi.
Prije nego što integrirate Webex Contact Center s ServiceNow CRM konzolom, provjerite imate li sljedeće:
-
Pristup Webex Contact Center.
-
Administratorski pristup kontrolnom središtu na https://admin.webex.com i portalu za upravljanje Webex Contact Center. URL-ovi portala za upravljanje specifični su za vašu regiju.
-
Agent s pristupom radnoj površini. URL radne površine specifičan je za vašu regiju.
-
Pristup agenta sljedećoj domeni dodan na popis dopuštenih pravila o sigurnosti sadržaja:
-
*.service-now.com
Dodatne informacije o definiranju popisa dopuštenih 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 adresihttps://developer.servicenow.com/dev.do i kliknite Prijava i početak izgradnje .
-
Pristup sljedećim datotekama na https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
Skup ažuriranja ServiceNow (XML)
-
Izgled radne površine kontaktnog centra ServiceNow (JSON)
-
- Izdanja ServiceNow koja Webex Contact Center podržavaju su Vancouver, Utah, Tokya, Washington i Xanadu. Dodatne informacije potražite u odjeljku Webex Contact Center Integracija sa servisom ServiceNow.
Slijedite jednu od dvije metode u nastavku:
Za instance za razvojne inženjere preporučujemo da slijedite korake u vodiču za instance razvojnog programera.
Ako ste vlasnik instance s licencom tvrtke, slijedite smjernice za instance s licencom tvrtke.
Ne preporučujemo miješanje aplikacije s poslovnim licencama s instancama memorije za razvojne inženjere.
U sljedećim se odjeljcima opisuju koraci za instalaciju poveznika ServiceNow za instance razvojnih inženjera.
| 1 |
Prijavite se na račun portala za razvojne inženjere servisa ServiceNow i otvorite konzolu administracije . |
| 2 |
U području Moja instanca na izborniku Račun kliknite Započni izgradnju.
|
| 3 |
Na instanci razvojnog programera iz polja Navigator filtra u gornjem lijevom kutu prozora idite na Dodaci.
|
| 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 aktivacija dodatka dovrši, kliknite Zatvori i ponovno učitaj obrazac 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 Configurations .
|
| 1 |
Preuzmite najnoviju datoteku System Update Set XML dostupnu na github repo na ovom mjestu : https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. Naziv datoteke: webexcc-servicenow-update-setV(X).XML
|
| 2 |
Na instanci servisa ServiceNow, iz polja Navigator filtra u gornjem lijevom kutu prozora idite na .
|
| 3 |
Kliknite vezu Uvoz skupa ažuriranja iz XML .
|
| 4 |
Kliknite Odaberi datoteku, odaberite datoteku Skup XML 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 vezu Ažuriraj postavljen naziv datoteke (veza) da biste otvorili skup ažuriranja.
|
| 6 |
U gornjem desnom kutu prozora kliknite Pretpregled skupa ažuriranja da biste provjerili ima li problema u ažuriranju.
|
| 7 |
Kliknite Zatvori u dijaloškom okviru Ažuriranje postavljanja pretpregleda nakon dovršetka pretpregleda.
|
| 8 |
Kliknite Počini skup ažuriranja.
|
| 9 |
Kliknite Zatvori u dijaloškom okviru Update Set Commit nakon dovršetka izvršavanja obveze skupa ažuriranja.
|
| 1 |
U polje Navigator filtra u gornjem lijevom kutu prozora upišite
|
| 2 |
Na stranici Svojstva sustava sortirajte svojstva prema ažuriranom datumu. Provjerite možete li vidjeti sljedeća svojstva Webex Contact Center:
|
| 3 |
Kliknite agentdesktop_url da biste otvorili stranicu agentdesktop_url svojstava sustava. |
| 4 |
U polje Vrijednost unesite URL radne površine Webex Contact Center prema području rada.
|
| 5 |
Kliknite Ažuriraj da biste spremili promjene. |
| 6 |
(Neobavezno) Da biste promijenili naziv tablice Aktivnost, uredite svojstva tablice webexccactivitytable prema potrebi. Na stranici System Properties (Svojstva sustava) kliknite na webexccactivitytable. Prema potrebi promijenite polje Vrijednost .
|
| 7 |
(Neobavezno) Dodajte grupe korisnika na sljedeće načine:
|
| 1 |
Iz polja Navigator filtra idite na .
|
| 2 |
Kliknite na Novi.
|
| 3 |
Unesite sljedeća svojstva za URL:
|
| 4 |
Desno od polja URL-a kliknite gumb Zaključaj i dodajte
|
| 5 |
(Neobavezno) Odaberite grupe korisnika/agenata da biste dodijelili konfiguraciju.
|
| 6 |
Kliknite Pošalji. URL se pojavljuje kao veza.
|
| 7 |
Prije nego što pokušate koristiti OpenFrame telefon, provjerite jeste li prenijeli JSON datoteku ServiceNow prilagođenog izgleda radne površine na portal za upravljanje Webex Contact Center. Dodatne informacije potražite u odjeljku Postavljanje izgleda radne površine ServiceNow na Webex Contact Center. |
| 1 |
Preuzmite izgled radne površine za ServiceNow s https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.
|
| 2 |
Po potrebi ažurirajte svojstva u datoteci izgleda radne površine. |
| 3 |
Idite na portal za upravljanje Webex Contact Center. |
| 4 |
Na navigacijskoj traci portala za upravljanje odaberite .
|
| 5 |
Kliknite Novi izgled i unesite detalje o izgledu radne površine. |
| 6 |
Prenesite JSON datoteku ServiceNow Desktop Layout. |
| 7 |
Kliknite Spremi da biste spremili konfiguraciju. Sada možete pokrenuti Webex Contact Center radnu površinu unutar konzole ServiceNow. |
| 8 |
Iz polja Navigator filtra dođite do radnog prostora .
|
U sljedećim se odjeljcima opisuju koraci za instalaciju poveznika ServiceNow za licencirane poslovne instance.
| 1 |
Prijavite se na račun portala za razvojne inženjere servisa ServiceNow i otvorite konzolu administracije . |
| 2 |
U području Moja instanca na izborniku Račun kliknite Započni izgradnju.
|
| 3 |
Na instanci razvojnog programera iz polja Navigator filtra u gornjem lijevom kutu prozora idite na Dodaci.
|
| 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 aktivacija dodatka dovrši, kliknite Zatvori i ponovno učitaj obrazac 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 Configurations .
|
Instance koje imaju korporacijske licence mogu instalirati aplikaciju Webex Contact Center 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 Navigator filtra u gornjem lijevom kutu prozora unesite sys_properties.list
|
| 2 |
Na stranici Svojstva sustava sortirajte svojstva prema ažuriranom datumu. Provjerite možete li vidjeti sljedeća svojstva Webex Contact Center:
|
| 3 |
Kliknite agentdesktop_url da biste otvorili stranicu agentdesktop_url svojstava sustava. |
| 4 |
U polje Vrijednost unesite URL radne površine Webex Contact Center prema području rada.
|
| 5 |
Kliknite Ažuriraj da biste spremili promjene. |
| 6 |
(Neobavezno) Da biste promijenili naziv tablice Aktivnost, po potrebi uredite svojstva x_caci_webexcc.webexccactivitytable .
|
| 7 |
(Neobavezno) Dodajte grupe korisnika na sljedeće načine:
|
| 1 |
Iz polja Navigator filtra idite na .
|
| 2 |
Kliknite na Novi.
|
| 3 |
Unesite sljedeća svojstva za URL:
|
| 4 |
Desno od polja URL-a kliknite gumb Zaključaj i dodajte
|
| 5 |
(Neobavezno) Odaberite grupe korisnika/agenata da biste dodijelili konfiguraciju.
|
| 6 |
Kliknite Pošalji. URL se pojavljuje kao veza.
|
| 7 |
Iz polja Navigator filtra dođite do radnog prostora .
|
| 8 |
(Neobavezno) Na popisu Grupa korisnika premjestite grupe korisnika koje mogu pristupiti radnoj površini Webex Contact Center s Dostupno na Odabrano. |
| 9 |
Prije nego što pokušate koristiti OpenFrame telefon, provjerite jeste li prenijeli JSON datoteku ServiceNow prilagođenog izgleda radne površine na portal za upravljanje Webex Contact Center. Dodatne informacije potražite u odjeljku Postavljanje izgleda radne površine ServiceNow na Webex Contact Center. |
| 1 |
Preuzmite izgled radne površine za ServiceNow s https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.
|
| 2 |
Po potrebi ažurirajte svojstva u datoteci izgleda radne površine. |
| 3 |
Idite na portal za upravljanje Webex Contact Center. |
| 4 |
Na navigacijskoj traci portala za upravljanje odaberite .
|
| 5 |
Kliknite Novi izgled i unesite detalje o izgledu radne površine. |
| 6 |
Prenesite JSON datoteku ServiceNow Desktop Layout. |
| 7 |
Kliknite Spremi da biste spremili konfiguraciju. Sada možete pokrenuti Webex Contact Center Desktop unutar ServiceNow konzole. |
| 8 |
Iz polja Navigator filtra dođite do radnog prostora .
|
| 1 |
U polju navigatora filtra pomaknite se do odjeljka Incidenti> Otvori incident. |
| 2 |
Desnom tipkom miša kliknite polje pozivatelja, a zatim kliknite Konfiguriraj rječnik.
|
| 3 |
Dodajte atribute odvojene zarezom
Sada možete početi koristiti Webex Contact Center radnu površinu unutar konzole ServiceNow. |
| 4 |
Iz polja Navigator filtra dođite do radnog prostora .
|
- Podržavamo prijavu u Agent Desktop samo pomoću poveznika WebRTC za Salesforce (SFDC) i Microsoft Dynamics (MS Dynamics).
- Trenutno je ova značajka primjenjiva samo na agente.
Agent Desktop u konzoli ServiceNow
Prije upućivanja poziva obavezno učinite sljedeće:
-
Stvorite ulaznu točku za outdial i postavite strategiju izlazne ulazne točke.
-
Omogućite outdial ANI za profil agenta.
-
Postavite ANI za outdial na mapiranje broja u ulaznu točku biranja.
Dodatne informacije potražite u poglavlju Dodjela resursa u Vodiču za postavljanje i administraciju Cisco Webex Contact Center.
Iz polja Navigator filtra dođite do radnog prostora .
Informacije o korištenju radne površine potražite u pomoći za # Webex Contact Center agent# Tab.
Pregled
Ovaj članak pokriva nekoliko načina prilagodbe pravila poslovanja za poveznik ServiceNow CRM. Detaljno opisuje kako možete prilagoditi slučajeve upotrebe na temelju poslovnih pravila koja su specifična za ServiceNow.
Kupac mora samostalno upravljati tim slučajevima upotrebe na ServiceNowu. Konfiguracija je specifična za ServiceNow, a ne Webex Contact Center softver ili stručnost.
Ovo je referentna dokumentacija koja pomaže u izmjeni poslovnih pravila. Razvojni programeri ServiceNow-a stvorit će i upravljati poslovnim pravilima i pružiti podršku.
Cisco nudi samo oglednu dokumentaciju.
Sljedeći odjeljci sadrže detalje o postavljanju, omogućavanju i upravljanju widgetom akcija za instance razvojne inženjere i tvrtke.
Izvršavanje widgeta Skup ažuriranja za akcije
Za licencirane poslovne instance instalirajte najnoviju aplikaciju Webex Contact Center iz trgovine ServiceNow.
Da biste postavili widget Akcije za instance razvojnog programera, preuzmite najnoviju datoteku skupa ažuriranja sustava XML dostupnu na github repo ugovoru na ovom mjestu: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Naziv datoteke je webexcc-servicenow-update-setv7-1-ActionsWidget.XML. Upute za postavljanje skupa ažuriranja za widget Akcije potražite u članku Koraci od 2 do 9 u članku Izvršavanje skupa ažuriranja.
Omogući widget za akcije
Za omogućavanje widgeta DisplayEnabled koristite svojstvo isWidgetDisplayEndenden . Vrijednost ovog svojstva ne smijete mijenjati u odjeljku bez glave prilagođenog izgleda radne površine. Svojstvo je uvijek postavljeno na false u odjeljku bez glave prilagođenog izgleda radne površine. Vrijednost svojstva trebali biste ažurirati samo u odjeljku ploče prilagođenog izgleda radne površine.
Kada omogućite widget Akcije u prilagođenom izgledu radne površine, možete izvršiti sljedeće radnje:
- Upravljanje zapisima o aktivnostima – kliknite Prikaz/uređivanje zapisa aktivnosti da biste prikazali popis zapisa aktivnosti pridruženih pozivatelju.
- Pridruživanje CRM objekata – kliknite Pridruži zapisima aktivnosti da biste u zapis aktivnosti dodali CRM objekte kao što su vrsta poziva (dolazni ili izlazni), objekt poziva, bilješke o pozivima itd.
- Upravljanje incidentima – kliknite Stvori incident. Stvara se novi incident s unaprijed popunjenim detaljima pozivatelja. Možete izvršiti potrebna ažuriranja incidenta. Možete odabrati izmjenu vrste zapisa iz incidenta u slučaj, HR modula i tako dalje na temelju vaših zahtjeva. Da biste promijenili vrstu zapisa, izmijenite vrijednost svojstva typeOfRecord u konfiguraciji widgeta Akcije. 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", "properties": { "isWidgetDisplayEnabled": true, "typeOfRecord" : "Create Incident" }, "wrapper": { "title": "SNOW Actions !", "maximizeAreaName": "app-maximize-area" } } } } - Dodavanje bilješki o pozivima uživo – dodatne informacije o pozivu možete snimiti u tekstno područje i završiti poziv. Te bilješke možete vidjeti dodane kao bilješke o pozivima u zapisu aktivnosti.
Promjena koda na ServiceNow
Skripta uključuje promjene-
Idite na navigator filtriranja i potražite
Skripta uključuje
.U odjeljku Korisničko sučelje sustava odaberite Sastavna skripta.
-
Filtriranje naziva i traženje
propUtils
. -
Promjena metode
UserGetSysId
U scenariju .Curent:
UserGetSysId: funkcija () { var opened_for; var user = novi GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = novi GlideRecord('interakcija'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); return sysid; },Novi uzorak šifre za incident:
UserGetSysId: funkcija () { var opened_for; //Promjene povezane s incidentom var sysidlist = {}; var user = novi 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 = novi GlideRecordSecure('incident'); inc.addQuery('caller_id', opened_for); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='phone'; inc.short_description='Poziv primljen od '+ this.getParameter('value'); sysidlist.incsysid=inc.Insert(); } } var grInt = novi GlideRecordSecure('interakcija'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); sysidlist.sysid=sysid; vrati JSON.stringify(sysidlist); },
-
Idite na navigator filtriranja i potražite stranicu
korisničkogsučelja.U odjeljku Korisničko sučelje sustava odaberite stranicekorisničkog sučelja.
-
Filtriranje naziva i traženje
AgentDesktop
. -
Promijenite
zaslon
Funkcija u skripti klijenta.Trenutna funkcija:
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(); openFrameAPI.openServiceNowForm({ entitet: 'interakcija', upit: 'sys_id='+sysid });Uzorak šifre za incident:
funkcija pop zaslona 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(); // For Incident-related change 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 //'a2ba0ba62fd121106446cc96f699b6b8' }); }
Ako informacije o pozivatelju postoje u sustavu CRM, a s tim je kontaktom već otvoren novi incident, aplikacija otvara incident inprogress
Ako informacije o pozivatelju ne postoje u sustavu CRM, aplikacija otvara novi incident
Ako informacije o pozivatelju postoje u sustavu CRM, aplikacija otvara novi incident s unaprijed ispunjenim detaljima
Pregled
Ovaj slučaj upotrebe detaljno opisuje postupak dodavanja dodatnog stupca u tablicu ServiceNow - webexcc_imp_activity i stvorite sn_openframe_phone_log nakon instalacije poveznika Webex CC za ServiceNow CRM.
Prema zadanim postavkama tablica sadrži određena polja i vrijednosti sustava izvan okvira.
Možete stvoriti više varijabli specifičnih za poslovanje (CAD varijable) unutar dizajnera tijeka WebexCC-a i dodati CAD varijable unutar zapisnika aktivnosti poziva ServiceNow POST, kao i zadržati ih na POST tablici aktivnosti poziva.
Ovo je samo referentna dokumentacija - i pokazuje kako to učiniti za oglednu CAD varijablu pod nazivom Ime kupca koja pohranjuje ime kupca unutar IVR i objavljuje to na ServiceNow.
Očekuje se da će partner+ klijent ServiceNow programeri konfigurirati i upravljati ovom konfiguracijom jer je to prilagodba postojećeg poveznika.
Cisco nudi samo tehnike prilagodbe i proširenja poveznika.
Od ovog članka tim Cisco potvrdio je podršku za dodavanje CAD varijable u dnevnik aktivnosti i tablicu aktivnosti tehnikom opisanom u nastavku:
Dodaj stupac u WebexCC IMP aktivnost
-
Uredite tablicu u verziji serviceNow za razvojne inženjere.

-
Idite na navigator filtriranja i potražite studio.

Odaberi
Webex Contact Center

ili



-
Izaberite stavku
WebexCC IMP aktivnost
stol
-
Dodajte novi stupac, na primjer,
Ime klijenta


Dodaj stupac u telefonski zapisnik
-
Uredite tablicu telefonskog zapisnika.


-
Dodajte novi stupac, na primjer,
Ime klijenta
.

Mapa transformacije aktivnosti WebexCC-a

Dodajte novi stupac, na primjer, Ime klijenta
Mapiranje polja.


Personalizacija stupaca popisa

Kao što Service Now preporučuje, promijenite akciju Odabir iz stvori u zanemari.


Konfiguriranje popisa telefonskih zapisnika

Idi na skriptu Uključi
Dodavanje samo jednog retka webexcc.u_customername=actInfo.CustomerName
U propUtils.



Pogledajte redak: webexcc.u_customername=actInfo.CustomerName; s popratnim komentarom.
var propUtils = Class.create(); propUtils.prototype = Object.extendsObject(globalno. 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 korisnik = novi GlideRecord("sys_user"); user.addQuery(this.getParameter('polje'),this.getParameter('value')); user.query(); ako (user.next()) opened_for=user.sys_id;//return user.sys_id; inače // povrat null; var grInt = novi GlideRecord ('interakcija'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); Vrati 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.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; Ova linija je Dodana - da biste je snimili u Evidenciju aktivnosti webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.Insert(); Aktivnosti na zapisu o incidentima; var actInfoString =this.getParameter('actInfo'); var suser = novi GlideRecordSecure("sys_user"); suser.addQuery("telefon", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = novi 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(); } } povratna sys_id; }, vrsta: 'propUtils' });
Stvaranje CAD varijable u dizajneru toka

Dodavanje CAD varijable izgledu radne površine
Primjer
"CadName1:SnowField1,CadName2:SnowField2" CadName1 je CustomerName SnowField1 se također koristi kao CustomerName koji je dio uzorka scirpt prikazan iznad "actInfo.CustomerName".

Pokazni snimke zaslona
Pogledajte novododanu CAD varijablu u tablici WebexCC aktivnost.



Izrada CAD varijable za Dizajner toka
Hitnost incidenta
Utjecaj incidenta

Ažuriranje skripte Service Now
Ažuriranja skripte obuhvaćaju
-
Idite na navigator filtriranja i potražite skriptu uključuje
U odjeljku Korisničko sučelje sustava odaberite mogućnost Uključuje skriptu.

-
Filtrirajte naziv pomoću
propUtils.
-
Promjena metode
UserGetSysId
U polju Skripta .
Trenutna skripta:
UserGetSysId: funkcija () { var opened_for; var user = novi GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = novi GlideRecord('interakcija'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); return sysid; },Novi uzorak šifre 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=user.sys_id;//return user.sys_id; var inc = novi 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 = novi GlideRecordSecure('interakcija'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); sysidlist.sysid=sysid; vrati JSON.stringify(sysidlist);//sysid; },
-
Idite na navigator filtriranja i potražite
stranice korisničkog sučelja.U odjeljku Korisničko sučelje sustava odaberite mogućnost Stranice korisničkog sučelja.

-
Filtrirajte stranice korisničkog sučelja s nazivom i potražite
agentdesktop.
-
Promijenite
zaslon
U polju skripte.
Trenutna funkcija:
funkcija pop zaslona 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(); openFrameAPI.openServiceNowForm({ entitet: 'interakcija', upit: 'sys_id='+sysid }); }Uzorak šifre za incident:
funkcija screenpop (callerani,callSessionInfo) { var Impact=3; if(callSessionInfo.callAssociatedData.Impact != null &&& callSessionInfo.callAssociatedData.Impact != nedefinirano) { 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 = novi GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('polje', 'telefon'); gaout.addParam('vrijednost', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam('Utjecaj', Utjecaj); 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 podaci o pozivatelju postoje u sustavu CRM, a nema novog incidenta ili incidenta s inprogressom, aplikacija otvara novi incident


Promjena koda na ServiceNow
Dodavanje novih stupaca u WebexCC IMP aktivnost
stol
Otvorite prozor WebexCC IMP aktivnoststol





Kliknite na Ažuriraj.


Dodavanje novih stupaca u Telefonski zapisnik
stol
Otvorite prozor Telefonski zapisnik
stol





Mapa transformacije aktivnosti WebexCC-a
Otvori Transformiraj kartu
Iz navigatora filtra


Kliknite na TransformMap aktivnosti WebexCC-a




Kliknite Ažuriraj.

Promjene skripte uključuju
-
Idite na navigator filtriranja i u okvir za pretraživanje unesite "script includes".
U odjeljku Korisničko sučelje sustava odaberite Sastav skripte .

-
Filtriranje naziva pomoću
propUtils
.
-
Promjena metode
setWebexcctable
.
Novi ogledni kod 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()) { //Aktivnosti na zapisu incidenta; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; izbriši actInfo['interaction_sys_id']; izbrišite actInfo['incident_sys_id']; if( interactionsysid!= null && interactionsysid != nedefinirano){ var inte = novi GlideRecordSecure('interakcija'); //inte.get('sys_id', interactionsysid ); inte.addQuery('sys_id', interactionsysid ); inte.query(); if (inte.next()) { intenum=inte.number; // inte.setValue('state','Closed Complete'); inte.work_notes='Update State to closed.'; inte.update(); } } if( incsysid!= null && incsysid != undefined){ var inci = novi 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 = novi GlideRecordSecure("sys_user"); suser.addQuery("telefon", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = novi 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(); } vrati sys_id; },
Promjene načina na stranicama korisničkog sučelja
-
Idite na navigator filtriranja i potražite
Stranice korisničkog sučelja
U odjeljku Korisničko sučelje sustava odaberite mogućnost Stranice korisničkog sučelja.

-
Filtrirajte stranice korisničkog sučelja s nazivom i potražite agentdesktop
.
-
Promijenite
nowActivities i screenpop
U skripti.
Trenutna funkcija:
funkcija nowActivities(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); }Uzorak šifre za incident:
funkcija 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 = 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 novije. Za prilagodbe za novije verzije 1.0.7 i novije slijedite gore navedene korake.
Prilagodba # 1 – dodavanje prilagođenih poslovnih pravila za slučajeve korištenja tijeka poziva
Stvaranje novog zapisa incidenata za svaki pozivZa svaki novi poziv u WebexCC CRM poveznik u ServiceNow, stvorite novi zapis incidenta.
Traženje poslovnih pravila na navigatoru filtriranja

Kliknite na Novi.

Uzorak šifre za referencu:
funkcija customCTI() { var URL = null; naziv var = sysparm_caller_name; eid = sysparm_caller_id; var telefon = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; if (fQuery == null) fQuery = ''; prikaz vara = 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("ime", ime); } ako (userID == null && telefon != null && telefon != '') { userID = UserGetSysId("telefon", telefon); } 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; } (opis funkcije) UserGetSysId(polje, vrijednost) { var user = novi GlideRecord("sys_user"); user.addQuery(polje, vrijednost); user.query(); ako (user.next()) vrati user.sys_id; inače vrati null; }Ogledna konfiguracija poslovnog pravila

Omogući klijentski poziv

Integracija računalne telefonije (CTI) Obrada za incident označena je kao Istinita.

Ažurirajte URL screenpopa prilagođenim pravilom CTI" cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="

sysparm_cti_rule =name gdje je'naziv ' naziv funkcije treba pozvati za obradu CTI umjesto korištenja zadane skripte.
Definirajte funkciju u unosu sys_script označenom za klijenta koji se može nazvati.
Ako morate Insert, ažurirati ili izbrisati bilo koji GlideRecords u funkciji, pozovite zasebnu funkciju koja se ne može pozivati da biste izvršili ažuriranja.
Da bi skripta bila omogućena za klijentski poziv, morate potvrditi okvir koji se može pozvati klijent na obrascu koji se prikazuje kada se prikaže sys_script unos.
Potvrdni okvir koji je moguće pozvati klijenta ne prikazuje se prema zadanim postavkama. Za pregled morate izmijeniti polja koja se prikazuju na obrascu pomoću ikone zupčanika i mehanizma kante za bljuzgavicu.
Prilagodba # 2 - Dodavanje CAD varijable u tablicu aktivnosti Webex Contact Center
PregledOvaj članak detaljno opisuje postupak dodavanja dodatnog stupca u tablicu ServiceNow - webexcc_activity koji se stvara nakon instalacije poveznika Webex CC za ServiceNow CRM.
Prema zadanim postavkama tablica sadrži gotova sistemska polja i vrijednosti.
Potencijalno možete stvoriti više varijabli specifičnih za poslovanje (CAD varijable) unutar dizajnera tijeka WebexCC-a i dodati te CAD varijable unutar zapisnika aktivnosti poziva ServiceNowPOST i zadržati ih na podacima tablice aktivnosti POST.
-
Ovo je samo referentna dokumentacija - i pokazuje kako to učiniti za oglednu CAD varijablu pod nazivom Ime kupca koja pohranjuje ime kupca unutar IVR i objavljuje to na ServiceNow.
-
Partner+ klijent ServiceNow programeri konfigurirat će i upravljati ovom konfiguracijom jer je to prilagodba postojećeg poveznika.
-
Cisco pružit će samo tehnike prilagodbe i proširenja poveznika.
-
Od ovog članka tim Cisco potvrdio je podršku za dodavanje CAD varijable u dnevnik aktivnosti i tablicu aktivnosti tehnikom opisanom u nastavku.
Uredite tablicu u verziji serviceNow za razvojne inženjere.

Idite u .



Odaberite tablicu Aktivnost WebexCC-a.

Na primjer,CustomerName .


Odaberite izgled popisa za WebexCC aktivnost.

Ovaj korak nije potreban ako koristite skup ažuriranja XML - Potreban je samo jedan redak za dodavanje "webexcc.u_customername=actInfo.CustomerName" u propUtils.



Ogledna skripta
Pogledajte redak s:webexcc.u_customername=actInfo.CustomerName; s popratnim komentarom.
var propUtils2 = Class.create(); propUtils2.prototype = Object.extendsObject(globalno. 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'); 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.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; // Ova linija je dodana - da biste je snimili u webexcc-u Dnevnika aktivnosti. u_customername=actInfo.CustomerName; sys_id=webexcc.Insert(); Aktivnosti na zapisu o incidentima; var actInfoString =this.getParameter('actInfo'); var suser = novi GlideRecordSecure("sys_user"); suser.addQuery("telefon", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = novi 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(glumački niz),null,2); inc.comments =jsonPretty; inc.update(); } } } povratna sys_id; }, vrsta: 'propUtils2' });
Uređivanje stranice korisničkog sučelja s novim nazivom skripte
Stvaranje CAD varijable u dizajneru toka
Dodavanje CAD varijable izgledu radne površine
Pokazni snimke zaslona
Pogledajte novododanu CAD varijablu u tablici WebexCC aktivnost.












































