Integracija kontaktnega centra Webex s storitvijo ServiceNow (različica 1-Legacy)
Ko integrirate program Webex Contact Center s konzolo ServiceNow CRM, lahko program Webex Contact Center Desktop zaženete iz programa ServiceNow.
Predpogoji
Ta funkcija trenutno velja samo za agente.
Preden integrirate Webex Contact Center s konzolo ServiceNow CRM, se prepričajte, da imate naslednje:
-
Dostop do kontaktnega centra Webex.
-
skrbniški dostop do nadzornega vozlišča na naslovu https://admin.webex.com in portala za upravljanje kontaktnega centra Webex. URL-ji portala za upravljanje so specifični za vašo regijo.
-
Severna Amerika: https://portal.wxcc-us1.cisco.com
-
ZDRUŽENO KRALJESTVO: https://portal.wxcc-eu1.cisco.com
-
Japonska: https://portal-v2.wxcc-jp1.cisco.com
-
Singapur: https://portal-v2.wxcc-sg1.cisco.com
-
-
Agent z dostopom do namizja. URL za namizje je odvisen od vaše regije.
-
Severna Amerika: https://desktop.wxcc-us1.cisco.com
-
ZDRUŽENO KRALJESTVO: https://desktop.wxcc-eu1.cisco.com
-
Japonska: https://desktop.wxcc-jp1.cisco.com
-
Singapur: https://desktop.wxcc-sg1.cisco.com
-
-
Dostop agenta do naslednje domene, ki je dodana na seznam dovoljenih vsebin varnostne politike:
-
*.service-now.com
Za več informacij o tem, kako opredeliti seznam dovoljenih, glejte članek Security Settings for Webex Contact Center.
-
-
Račun portala za razvijalce ServiceNow. Če želite ustvariti račun, obiščite portal za razvijalce ServiceNow na naslovu https://developer.servicenow.com/dev.do in kliknite Sign up and Start Building.
-
Dostop do naslednjih datotek na naslovu https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
ServiceNow Update Set (XML)
-
Postavitev namizja kontaktnega centra ServiceNow (JSON)
-
- Izdaje ServiceNow, ki jih podpira Webex Contact Center, so Vancouver, Utah, Tokya, Washington in Xanadu. Za več informacij glejte Integracija kontaktnega centra Webex s storitvijo ServiceNow.
Uporabite enega od spodnjih dveh načinov:
Za primere za razvijalce priporočamo, da sledite korakom v vodniku za primere za razvijalce.
Če ste lastnik primerka z licenco podjetja, upoštevajte smernice za primerke z licenco podjetja.
Ne priporočamo mešanja aplikacije z licenco podjetja in primerkov peskovnika za razvijalce.
V naslednjih razdelkih so opisani koraki za namestitev priključka ServiceNow za razvijalske instance.
1 |
Prijavite se v svoj račun na portalu za razvijalce ServiceNow in odprite konzolo Administration . |
2 |
Na področju My Instance v meniju Account kliknite Start Building. |
3 |
V instanci za razvijalce se v polju Navigacijski filter v zgornjem levem kotu okna usmerite na Vtičniki. |
4 |
Poiščite vtičnik Openframe z naslovom Openframe. Morda se boste morali pomikati po seznamu. |
5 |
Kliknite Install za namestitev vtičnika Openframe. |
6 |
V pogovornem oknu Activate Plugin kliknite Activate. |
7 |
Ko je aktivacija vtičnika končana, kliknite Close & Reload Form v pogovornem oknu Plugin Activation . |
8 |
Če želite preveriti aktivacijo vtičnika, se v polju Filter navigator v zgornjem levem kotu okna usmerite na OpenFrame. |
9 |
Kliknite Konfiguracije in preverite, ali je vtičnik OpenFrame prikazan na seznamu Konfiguracije OpenFrame . |
1 |
Prenesite najnovejšo datoteko XML za posodobitev sistema, ki je na voljo v repozitoriju github na tej lokaciji: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. Ime datoteke: webexcc-servicenow-update-setV(X).xml |
2 |
V instanci ServiceNow se v polju Filter navigator v zgornjem levem kotu okna usmerite na . |
3 |
Kliknite povezavo Import Update Set from XML . |
4 |
Kliknite Izberite datoteko, izberite datoteko System Update Set XML in nato kliknite Naloži.
Nabor posodobitev se prikaže na seznamu Retrieved Update Sets in je v stanju Loaded .
|
5 |
Na seznamu Retrieved Update Sets kliknite ime datoteke Update Set (povezava), da odprete niz posodobitev. |
6 |
V zgornjem desnem kotu okna kliknite Preview Update Set in preverite, ali so v kompletu posodobitev težave. |
7 |
Po končanem predogledu kliknite Close v pogovornem oknu Update Set Preview. |
8 |
Kliknite Commit Update Set. |
9 |
Po končanem posredovanju niza posodobitev kliknite Close v pogovornem oknu Update Set Commit . |
1 |
V polje Filter navigator v zgornjem levem kotu okna vnesite |
2 |
Na strani Lastnosti sistema razvrstite lastnosti po datumu posodobitve. Prepričajte se, da so vidne naslednje lastnosti programa Webex Contact Center: |
3 |
Kliknite agentdesktop_url , da odprete stran System Property agentdesktop_url . |
4 |
V polje Value vnesite naslov URL za namizje Webex Contact Center Desktop glede na regijo delovanja.
|
5 |
Kliknite Update , da shranite spremembe. |
6 |
(Neobvezno) Če želite spremeniti ime tabele Activity, po potrebi uredite lastnosti webexccactivitytable . Na strani System Properties kliknite webexccactivitytable. Po potrebi spremenite polje Value . |
7 |
(Neobvezno) Skupine uporabnikov dodajte na naslednje načine:
|
1 |
V polju Filter navigator pojdite na . |
2 |
Kliknite New. |
3 |
Vnesite naslednje lastnosti za naslov URL:
|
4 |
Desno od polja URL kliknite gumb Lock in dodajte |
5 |
(Neobvezno) Izberite skupine uporabnikov/agentov, ki jim želite dodeliti konfiguracijo. |
6 |
Kliknite Pošlji. URL se prikaže kot povezava. |
7 |
Preden poskusite uporabiti telefon OpenFrame, poskrbite, da prenesete datoteko ServiceNow Desktop Layout JSON po meri na portal za upravljanje kontaktnega centra Webex. Za več informacij glejte Set Up the ServiceNow Desktop Layout on Webex Contact Center. |
1 |
Namizno postavitev za ServiceNow prenesite s spletne strani https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
Po potrebi posodobite lastnosti v datoteki Namizna postavitev. |
3 |
Pojdite na portal za upravljanje kontaktnega centra Webex. |
4 |
V navigacijski vrstici portala za upravljanje izberite |
5 |
Kliknite New Layout (Nova postavitev) in vnesite podrobnosti za postavitev namizja. |
6 |
Prenesite datoteko ServiceNow Desktop Layout JSON. |
7 |
Kliknite Save , da shranite konfiguracijo. V konzoli ServiceNow lahko zaženete namizje Webex Contact Center. |
8 |
V polju Filter navigator se pomaknite na . |
V naslednjih razdelkih so opisani koraki za namestitev priključka ServiceNow za licencirane primere podjetja.
1 |
Prijavite se v svoj račun na portalu za razvijalce ServiceNow in odprite konzolo Administration . |
2 |
Na področju My Instance v meniju Account kliknite Start Building. |
3 |
V instanci za razvijalce se v polju Navigacijski filter v zgornjem levem kotu okna usmerite na Vtičniki. |
4 |
Poiščite vtičnik Openframe z naslovom Openframe. Morda se boste morali pomikati po seznamu. |
5 |
Kliknite Install za namestitev vtičnika Openframe. |
6 |
V pogovornem oknu Activate Plugin kliknite Activate. |
7 |
Ko je aktivacija vtičnika končana, kliknite Close & Reload Form v pogovornem oknu Plugin Activation . |
8 |
Če želite preveriti aktivacijo vtičnika, se v polju Filter navigator v zgornjem levem kotu okna usmerite na OpenFrame. |
9 |
Kliknite Konfiguracije in preverite, ali je vtičnik OpenFrame prikazan na seznamu Konfiguracije OpenFrame . |
Različice, ki imajo licence za podjetja, lahko aplikacijo Webex Contact Center namestijo neposredno iz Trgovine ServiceNow.
Iz trgovine ServiceNow prenesite in namestite paket Webex Contact Center: https://store.servicenow.com/sn_appstore_store.do#!/store/application/6c8e2a4edbc73410e1c75e25ca961947. |
1 |
V polje Filter navigator v zgornjem levem kotu okna vnesite |
2 |
Na strani Lastnosti sistema razvrstite lastnosti po datumu posodobitve. Prepričajte se, da so vidne naslednje lastnosti programa Webex Contact Center: |
3 |
Kliknite agentdesktop_url , da odprete stran System Property agentdesktop_url . |
4 |
V polje Value vnesite naslov URL za namizje Webex Contact Center Desktop glede na regijo delovanja.
|
5 |
Kliknite Update , da shranite spremembe. |
6 |
(Neobvezno) Če želite spremeniti ime tabele dejavnosti, po potrebi uredite lastnosti x_caci_webexcc.webexccactivitytable .
|
7 |
(Neobvezno) Skupine uporabnikov dodajte na naslednje načine:
|
1 |
V polju Filter navigator pojdite na . |
2 |
Kliknite New. |
3 |
Vnesite naslednje lastnosti za naslov URL:
|
4 |
Desno od polja URL kliknite gumb Lock in kot URL dodajte |
5 |
(Neobvezno) Izberite skupine uporabnikov/agentov, ki jim želite dodeliti konfiguracijo. |
6 |
Kliknite Pošlji. URL se prikaže kot povezava. |
7 |
V polju Filter navigator se pomaknite na . |
8 |
(Neobvezno) Na seznamu User Group premaknite skupine uporabnikov, ki lahko dostopajo do namizja Webex Contact Center, z Available na Selected. |
9 |
Preden poskusite uporabiti telefon OpenFrame, poskrbite, da prenesete datoteko ServiceNow Desktop Layout JSON po meri na portal za upravljanje kontaktnega centra Webex. Za več informacij glejte Set Up the ServiceNow Desktop Layout on Webex Contact Center. |
1 |
Namizno postavitev za ServiceNow prenesite s spletne strani https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
Po potrebi posodobite lastnosti v datoteki Namizna postavitev. |
3 |
Pojdite na portal za upravljanje kontaktnega centra Webex. |
4 |
V navigacijski vrstici portala za upravljanje izberite |
5 |
Kliknite New Layout (Nova postavitev) in vnesite podrobnosti za postavitev namizja. |
6 |
Prenesite datoteko ServiceNow Desktop Layout JSON. |
7 |
Kliknite Save , da shranite konfiguracijo. V konzoli ServiceNow lahko zaženete namizje Webex Contact Center. |
8 |
V polju Filter navigator se pomaknite na . |
1 |
V polju Filter navigator pojdite na Incidents > Open Incident. |
2 |
Z desno tipko miške kliknite polje klicatelja in kliknite Configure Dictionary. |
3 |
Dodajte atribute, ločene z vejico Zdaj lahko začnete uporabljati namizje Webex Contact Center v konzoli ServiceNow. |
4 |
V polju Filter navigator se pomaknite na . |
Trenutno ne podpiramo prijave v program Agent Desktop z možnostjo Desktop (WebRTC).
Namizje agenta v konzoli ServiceNow
Preden začnete klicati na odprto številko, preverite naslednje:
-
Ustvarite izhodno vstopno točko in vzpostavite strategijo izhodne vstopne točke.
-
Omogočite izhodno klicanje ANI za profil agenta.
-
Nastavite ANI za izvorno klicanje na preslikavo med številkami za klicanje in vstopnimi točkami.
Za več informacij glejte poglavje Provisioning v priročniku Cisco Webex Contact Center Setup and Administration Guide.
V polju Filter navigator se pomaknite na .
Za informacije o uporabi namizja glejte zavihek Agent v pomoči programa Webex Contact Center.
Pregled
V tem članku je opisanih več načinov prilagajanja poslovnih pravil za priključek ServiceNow CRM. Podrobno opisuje, kako lahko prilagodite primere uporabe na podlagi poslovnih pravil, ki so značilna za ServiceNow.
Stranka mora te primere uporabe upravljati sama v storitvi ServiceNow. Konfiguracija je specifična za ServiceNow in ne za programsko opremo ali strokovno znanje kontaktnega centra Webex.
To je referenčna dokumentacija za pomoč pri spreminjanju poslovnih pravil. Razvijalci ServiceNow bodo ustvarili in upravljali poslovna pravila ter zagotavljali podporo.
Cisco zagotavlja le vzorčno dokumentacijo.
V naslednjih razdelkih so na voljo podrobnosti o tem, kako nastaviti, omogočiti in upravljati gradnik Akcije za razvijalce in podjetja.
Zavezati se k posodobitvi nabora za gradnik Dejanja
Za licencirane primerke podjetja namestite najnovejšo aplikacijo Webex Contact Center iz trgovine ServiceNow.
Če želite nastaviti gradnik Akcije za primere razvijalcev, prenesite najnovejšo datoteko System Update Set XML, ki je na voljo v repozitoriju github na tej lokaciji: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Ime datoteke je webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Če želite potrditi nabor posodobitev za gradnik Dejanja, glejte korake od 2 do 9 v razdelku Potrdite nabor posodobitev.
Omogočanje pripomočka za akcije
Uporabite lastnost isWidgetDisplayEnabled , da omogočite gradnik Akcije. Vrednosti te lastnosti ne smete spreminjati v razdelku brez glave namizne postavitve po meri. Lastnost je vedno nastavljena na false v razdelku brez glave namizne postavitve po meri. Vrednost lastnosti morate posodobiti samo v razdelku plošče v namizni postavitvi po meri.
Ko v namizni postavitvi po meri omogočite gradnik Akcije, lahko izvedete naslednja dejanja:
- Upravljanje zapisov o dejavnosti - kliknite View/Edit Activity Record , da si ogledate seznam zapisov o dejavnosti, povezanih s klicateljem.
- Povežite predmete CRM - kliknite Povežite z zapisi dejavnosti , da dodate predmete CRM, kot so vrsta klica (vhodni ali izhodni), predmet klica, opombe o klicu itd., v zapis dejavnosti.
- Upravljanje incidentov - kliknite Ustvari incident. Ustvari se nov incident s predhodno izpolnjenimi podatki o klicatelju. V incident lahko vnesete zahtevane posodobitve. Glede na svoje zahteve lahko spremenite vrsto zapisa od incidenta do primera, modula HR itd. Če želite spremeniti vrsto zapisa, spremenite vrednost lastnosti typeOfRecord v konfiguraciji gradnika Actions. Na primer:
{"comp": "md-tab-panel", "attributes": {"slot": "panel", "class": "widget-pane" }, "children": [ { {"comp": "tabla": ["tabl: "agentx-custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "properties": { "isWidgetDisplayEnabled": true, "typeOfRecord" : "Create Incident" }, "wrapper": {"title": "SNOW Actions !", "maximizeAreaName": "app-maximize-area" } } ] }
- Dodajte opombe o klicu v živo - dodatne informacije o klicu lahko shranite v besedilno območje in zaključite klic. Te opombe lahko vidite kot opombe o klicu v zapisu dejavnosti.
Sprememba kode v storitvi ServiceNow
Scenarij vključuje spremembe-
Pojdite v navigator za filtriranje in poiščite
scenarij vključuje
.V razdelku Sistemski uporabniški vmesnik izberite Script Includes .
-
Filtrirajte Ime in poiščite
propUtils
. -
Spremenite metodo
UserGetSysId
v skriptu .Kurikulum:
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; },
Nov vzorec kode za incident:
UserGetSysId : function () { var opened_for; //Spremenitve, povezane z incidentom 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='Call Received From '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type='phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist); },
-
Pojdite v navigator za filtriranje in poiščite stran
UI
.Izberite strani uporabniškega vmesnika pod Sistemski uporabniški vmesnik.
-
Filtrirajte Ime in poiščite
agentdesktop
. -
Spremenite funkcijo
screenpop
v skripto odjemalca .Trenutna funkcija:
// funkcija 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', poizvedba: 'sys_id='+sysid });
Vzorec kode za incident:
// funkcija 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(); // Za spremembo, povezano z incidentom var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', poizvedba: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', poizvedba: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); }; } }
Če podatki o klicatelju obstajajo v CRM in je za ta stik že odprt nov incident, aplikacija odpre tekoči incident.
Če podatki o klicatelju ne obstajajo v sistemu CRM, aplikacija odpre nov incident.
Če podatki o klicatelju obstajajo v sistemu CRM, aplikacija odpre nov incident s predhodno izpolnjenimi podatki.
Pregled
Ta primer uporabe podrobno opisuje postopek dodajanja dodatnega stolpca v tabelo ServiceNow - webexcc_imp_activity in ustvarjanje sn_openframe_phone_log ob namestitvi priključka Webex CC za ServiceNow CRM Connector.
Privzeto tabela vsebuje določena sistemska polja in vrednosti.
V oblikovalcu tokov WebexCC Flow lahko ustvarite več spremenljivk, specifičnih za poslovanje (spremenljivke CAD), in spremenljivke CAD dodate v dnevnik dejavnosti ServiceNow po klicu ter jih ohranite v podatkih tabele dejavnosti po klicu.
To je samo referenčna dokumentacija - in prikazuje, kako to narediti za vzorčno spremenljivko CAD z imenom Ime stranke, ki shranjuje ime stranke znotraj IVR in ga objavlja v ServiceNow.
Pričakuje se, da bodo razvijalci partnerja in stranke ServiceNow konfigurirali in upravljali to konfiguracijo, saj gre za prilagoditev obstoječega priključka.
Cisco zagotavlja le tehnike za prilagajanje in razširitev konektorja.
V tem članku je Ciscova ekipa potrdila podporo za dodajanje spremenljivke CAD v dnevnik dejavnosti in tabelo dejavnosti z uporabo spodaj opisane tehnike:
Dodajanje stolpca v dejavnost WebexCC IMP
-
Uredite tabelo v različici za razvijalce programa ServiceNow.
-
Pojdite v navigator za filtriranje in poiščite studio.
Izberite
Kontaktno središče Webex
ali
-
Izberite preglednico
Dejavnost WebexCC IMP
-
Dodajte nov stolpec, na primer
Ime stranke
Dodajanje stolpca v telefonski dnevnik
-
Uredite tabelo dnevnika telefona.
-
Dodajte nov stolpec, na primer
Ime stranke
.
Zemljevid preoblikovanja dejavnosti WebexCC
Dodajte nov stolpec, na primer Ime stranke
preslikava polj.
Prilagajanje stolpcev seznama
Kot priporoča Service Now, spremenite akcijo Izbira iz Ustvari v Ignoriraj.
Konfiguracija seznama dnevnikov telefona
Pojdi na scenarij Vključi
Dodajte samo eno vrstico webexcc.u_customername=actInfo.CustomerName
v propUtils.
Vzorec scenarija
Oglejte si vrstico: webexcc.u_customername=actInfo.CustomerName; z dodatnim komentarjem.
var propUtils = Class.create(); propUtils.prototype = Object.extendsObject(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; // sicer // vrni null; 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; }, 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; webexcc.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; // Ta vrstica je dodana - za zajem v dnevnik dejavnosti webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); //Dejavnosti na zapisu 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(); } } } vrnite sys_id; }, type: 'propUtils' });
Ustvarjanje spremenljivke CAD v oblikovalcu Flow
Dodajanje spremenljivke CAD v postavitev namizja
Primer
"CadName1:SnowField1,CadName2:SnowField2" CadName1 je ime stranke SnowField1 se uporablja tudi kot ime stranke, ki je del vzorca, prikazanega zgoraj "actInfo.CustomerName".
Demo posnetki zaslona
Oglejte si novo dodano spremenljivko CAD v preglednici Dejavnost WebexCC.
Ustvarjanje spremenljivke CAD za program Flow Designer
Nujnost incidentaVpliv incidenta
Posodobitev skripte Service Now
Posodobitve scenarija vključujejo
-
Pojdite v navigator za filtre in poiščite
script includes
Izberite možnost Script Includes v razdelku System UI.
-
Filtriranje Ime s
propUtils
. -
Spremenite metodo
UserGetSysId
v polju Script .Trenutni scenarij:
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; },
Nov vzorec kode 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='Call Received From '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist);//sysid; },
-
Pojdite v navigator filtrov in poiščite strani
UI
.V razdelku System UI izberite možnost UI Pages .
-
Filtrirajte strani uporabniškega vmesnika s Ime in poiščite agentdesktop .
-
Spremenite funkcijo
screenpop
v polju skript.Trenutna funkcija:
// funkcija 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', poizvedba: 'sys_id='+sysid }); }
Vzorec kode za incident:
// screen pop funkcija 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('field', 'phone'); gaout.addParam('value', 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({ entity: 'incident', poizvedba: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', poizvedba: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }
Če informacije o klicatelju obstajajo v CRM in ni novega ali tekočega incidenta, aplikacija odpre nov incident.
Sprememba kode v storitvi ServiceNow
Dodajanje novih stolpcev v tabelo WebexCC IMP Activity
Odprite preglednico WebexCC IMP Activity. Dodajanje novega stolpca - InteractionsNumber Dodajte nov stolpec - IncidentNumber
Kliknite Posodobitev.
Dodajanje novih stolpcev v tabelo Telefonski dnevnik
Odprite tabelo Telefonski dnevnik
.
Zemljevid preoblikovanja dejavnosti WebexCC
Odprite zemljevid transformacije
v navigatorju filtrov
Kliknite na WebexCC Activity TransformMap
Kliknite Posodobitev.
Spremembe scenarija vključujejo
-
Pojdite v krmarjenje filtrov in poiščite "script includes".
V razdelku Sistemski uporabniški vmesnik izberite Script Includes .
-
Filtriranje Ime s
propUtils
. -
Spremenite metodo
setWebexcctable
.Nova vzorčna 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()) { /Dejavnosti na zapisu incidenta; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; delete actInfo['interaction_sys_id']; delete actInfo['incident_sys_id']; if( interactionsysid!= null && interactionsysid != undefined){ var inte = new GlideRecordSecure('interaction'); //inte.get('sys_id', interactionsysid ); inte.addQuery('sys_id', interactionsysid ); inte.query(); if (inte.next()) { intenum=inte.number; // inte.setValue('state','Closed Complete'); inte.work_notes="Posodobi stanje na zaprto."; 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('niti')); 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.niti; 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(); } return sys_id; },
Spremembe metod na straneh uporabniškega vmesnika
-
Pojdite v navigator za filtriranje in poiščite strani uporabniškega vmesnika
V razdelku System UI izberite možnost UI Pages .
-
Filtrirajte strani uporabniškega vmesnika s Ime in poiščite
agentdesktop
. -
Spremenite funkcijo
nowActivities in funkcijo screenpop
v skripti.Trenutna funkcija:
function nowActivities(actInfo, niti) { var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('niti', stripPrefixes(niti)); gaout.getXML(SetCCsysId); }
Vzorec kode za incident:
function nowActivities(actInfo, niti) { 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=sysObjjjson.incsysid; } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('niti', stripPrefixes(niti)); 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', poizvedba: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', poizvedba: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }
Rezultati po posodobitvi
Naslednje prilagoditve veljajo za različice 1.0.5 in nižje. Za prilagoditve za novejše različice 1.0.7 in višje sledite zgornjim korakom.
Prilagajanje # 1 - Dodajanje poslovnih pravil po meri za primere uporabe klicnega toka
za vsak klic ustvarite nov zapis o incidentuZa vsak nov klic v priključek WebexCC CRM v ServiceNow ustvarite nov zapis o incidentu.
Iskanje poslovnih pravil v navigatorju Filter
Kliknite New.
Vzorčna koda za referenco:
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", name); } 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; return 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; }
Vzorčna konfiguracija poslovnega pravila
Omogočite možnost klica odjemalca
Računalniška integracija telefonije (CTI) Obdelava za incident je označena kot Resnično.
Posodobitev url naslova screenpop s pravilom CTI po meri " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="
sysparm_cti_rule=name , kjer je 'name' ime funkcije , ki jo je treba priklicati za obdelavo CTI , namesto da bi uporabili privzeto skripto.
Funkcijo opredelite v vnosu sys_script z oznako odjemalec, ki ga je mogoče klicati.
Če morate v funkciji vstaviti, posodobiti ali izbrisati zapise GlideRecord, za posodobitve pokličite ločeno funkcijo, ki ni klientova.
Če želite, da je skripto mogoče priklicati odjemalcu, morate v obrazcu, ki se prikaže, ko je prikazan vnos sys_script , označiti potrditveno polje Odjemalec lahko prikliče odjemalca.
Polje Odjemalec-odjemalec privzeto ni prikazano. Če želite prikazati, morate spremeniti polja, ki so prikazana v obrazcu, z ikono zobnika in mehanizmom "slush bucket".
Prilagajanje # 2 - Dodajanje spremenljivke CAD v tabelo dejavnosti v središču za stike Webex
PregledTa članek opisuje postopek dodajanja dodatnega stolpca v tabelo ServiceNow - webexcc_activity , ki se ustvari ob namestitvi priključka Webex CC za ServiceNow CRM Connector.
Privzeto tabela vsebuje izhodiščna sistemska polja in vrednosti.
Morebitno lahko ustvarite več spremenljivk, specifičnih za poslovanje (spremenljivke CAD), znotraj oblikovalca WebexCC Flow in dodate te spremenljivke CAD znotraj dnevnika dejavnosti ServiceNow po klicu, in to ohranite v tabeli dejavnosti po klicu podatkov.
-
To je samo referenčna dokumentacija, ki prikazuje, kako to narediti za vzorčno spremenljivko CAD z imenom Ime stranke, ki shranjuje ime stranke v IVR in ga pošilja v ServiceNow.
-
Razvijalci partnerja in stranke ServiceNow bodo to konfiguracijo konfigurirali in upravljali, saj gre za prilagoditev obstoječega priključka.
-
Cisco bo zagotovil le tehnike za prilagajanje in razširitev priključka.
-
V tem članku je Ciscova ekipa potrdila podporo za dodajanje spremenljivke CAD v dnevnik dejavnosti in tabelo dejavnosti z uporabo spodaj opisane tehnike.
Uredite tabelo v različici za razvijalce programa ServiceNow.
Pojdite na
.Izberite WebexCC Activity tabelo.
Na primer Ime stranke.
Izberite postavitev seznama za Dejavnost WebexCC.
Ta korak ni potreben, če uporabljate posodobitev nabora XML - v propUtils je treba dodati samo eno vrstico "webexcc.u_customername=actInfo.CustomerName".
Vzorec scenarija
Oglejte si vrstico z:webexcc.u_customername=actInfo.CustomerName; z dodatnim komentarjem.
var propUtils2 = Class.create(); propUtils2.prototype = Object.extendsObject(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); 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; // Ta vrstica je dodana - za zajem v dnevnik dejavnosti webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); // Dejavnosti na zapisu incidenta; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery("phone", this.getParameter("niti")); 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(); } } } vrnite sys_id; }, type: 'propUtils2' });
Uredite stran uporabniškega vmesnika z novim imenom skripteUstvarjanje spremenljivke CAD v oblikovalcu Flow
Dodajanje spremenljivke CAD v postavitev namizja
Demo posnetki zaslona
Oglejte si novo dodano spremenljivko CAD v preglednici Dejavnost WebexCC.