Webex Contact Centerin integrointi ServiceNow'n kanssa (versio 1-Legacy)
Edellytykset
Tällä hetkellä tätä ominaisuutta voidaan soveltaa vain asiamiehiin.
Ennen kuin integroit Webex Contact Centerin ServiceNow CRM -konsoliin, varmista, että sinulla on seuraavat tiedot:
-
Pääsy Webex Contact Centeriin.
-
Järjestelmänvalvojan käyttöoikeus Control Hubiin osoitteessa https://admin.webex.com ja Webex Contact Center Management Portaliin. Hallintaportaalin URL-osoitteet ovat aluekohtaisia.
-
Pohjois-Amerikka: https://portal.wxcc-us1.cisco.com
-
YHDISTYNYT KUNINGASKUNTA: https://portal.wxcc-eu1.cisco.com
-
Singapore: https://portal-v2.wxcc-sg1.cisco.com
-
-
Agentti, jolla on pääsy työpöydälle. Työpöydän URL-osoite on aluekohtainen.
-
Pohjois-Amerikka: https://desktop.wxcc-us1.cisco.com
-
YHDISTYNYT KUNINGASKUNTA: https://desktop.wxcc-eu1.cisco.com
-
Singapore: https://desktop.wxcc-sg1.cisco.com
-
-
Agentin pääsy seuraavaan toimialueeseen, joka on lisätty Content Security Policy Allowed List -luetteloon:
-
*.service-now.com
Lisätietoja sallitun luettelon määrittämisestä on artikkelissa Security Settings for Webex Contact Center.
-
-
ServiceNow-kehittäjäportaalin tili. Luo tili ServiceNow-kehittäjäportaalissa osoitteessa https://developer.servicenow.com/dev.do ja valitse Sign up and Start Building.
-
Pääsy seuraaviin tiedostoihin osoitteessa https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
ServiceNow Update Set (XML)
-
ServiceNow Contact Centerin työpöydän asettelu (JSON)
-
- Webex Contact Center tukee seuraavia ServiceNow-versioita: Vancouver, Utah, Tokya, Washington ja Xanadu. Lisätietoja on osoitteessa Webex Contact Center -integraatio ServiceNow'n kanssa.
Noudata jompaakumpaa alla olevista menetelmistä:
Kehittäjäinstansseja varten suosittelemme noudattamaan Kehittäjäinstanssi-oppaan vaiheita.
Jos omistat yrityslisensoidun instanssin, noudata yrityslisensoituja instansseja koskevia ohjeita.
Emme suosittele sekoittamaan yrityslisensoitua sovellusta ja kehittäjien hiekkalaatikkoinstansseja.
Seuraavissa osioissa kuvataan ServiceNow-liittimen asentaminen kehittäjäinstansseja varten.
1 |
Kirjaudu sisään ServiceNow-kehittäjäportaalitilillesi ja avaa Administration -konsoli. |
2 |
Valitse Oma instanssi -alueen Tili -valikosta Aloita rakentaminen. |
3 |
Siirry kehittäjäinstanssissasi ikkunan vasemmassa yläkulmassa olevasta Suodattimen navigaattori -kentästä osoitteeseen Plugins. |
4 |
Etsi Openframe-lisäosa, jonka otsikko on Openframe. Voit joutua selaamaan luetteloa. |
5 |
Napsauta Install asentaaksesi Openframe-lisäosan. |
6 |
Valitse Aktivoi liitännäinen -valintaikkunassa Aktivoi. |
7 |
Kun laajennuksen aktivointi on valmis, napsauta Close & Reload Form Plugin Activation -valintaikkunassa. |
8 |
Voit tarkistaa laajennuksen aktivoinnin siirtymällä ikkunan vasemmassa yläkulmassa olevasta Suodattimen navigaattori -kentästä osoitteeseen OpenFrame. |
9 |
Napsauta Configurations ja varmista, että OpenFrame-lisäosa näkyy OpenFrame Configurations -luettelossa. |
1 |
Lataa uusin System Update Set XML-tiedosto, joka on saatavilla github-reposta tässä osoitteessa: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. Tiedoston nimi: webexcc-servicenow-update-setV(X).xml |
2 |
Siirry ServiceNow-instanssissasi ikkunan vasemmassa yläkulmassa olevasta Suodatusnavigaattori -kentästä kohtaan . |
3 |
Napsauta Import Update Set from XML -linkkiä. |
4 |
Napsauta Valitse tiedosto, valitse System Update Set XML-tiedosto ja napsauta sitten Upload.
Päivityssarja näkyy Haetut päivityssarjat -luettelossa ja on tilassa Ladattu .
|
5 |
Avaa päivityssarja napsauttamalla päivityssarjan tiedostonimeä (linkki) Retrieved Update Sets -luettelossa. |
6 |
Napsauta ikkunan oikeassa yläkulmassa Preview Update Set , jos haluat tarkistaa päivityssarjan ongelmien varalta. |
7 |
Napsauta Sulje Update Set Preview -valintaikkunassa, kun esikatselu on valmis. |
8 |
Napsauta Commit Update Set. |
9 |
Napsauta Sulje Update Set Commit -valintaikkunassa, kun päivityssarjan sitominen on valmis. |
1 |
Kirjoita ikkunan vasemmassa yläkulmassa olevaan Filter navigator -kenttään |
2 |
Lajittele ominaisuudet System Properties -sivulla päivityspäivämäärän mukaan. Varmista, että näet seuraavat Webex Contact Centerin ominaisuudet: |
3 |
Napsauta agentdesktop_url avataksesi System Property agentdesktop_url -sivun. |
4 |
Kirjoita Value -kenttään Webex Contact Center -työpöydän URL-osoite toiminta-alueen mukaan.
|
5 |
Tallenna muutokset napsauttamalla Päivitä . |
6 |
(Valinnainen) Jos haluat muuttaa Activity-taulun nimeä, muokkaa webexccactivitytable -ominaisuuksia tarpeen mukaan. Napsauta System Properties -sivulla webexccactivitytable. Muuta Value -kenttää tarpeen mukaan. |
7 |
(Valinnainen) Lisää käyttäjäryhmiä seuraavilla tavoilla:
|
1 |
Siirry Suodattimen navigaattori -kentässä kohtaan . |
2 |
Napsauta New. |
3 |
Anna URL-osoitteelle seuraavat ominaisuudet:
|
4 |
Napsauta URL -kentän oikealla puolella Lock -painiketta ja lisää URL-osoitteeksi |
5 |
(Valinnainen) Valitse käyttäjä- / agenttiryhmä(t), jolle määritys annetaan. |
6 |
Napsauta Lähetä. URL-osoite näkyy linkkinä. |
7 |
Ennen kuin yrität käyttää OpenFrame-puhelinta, varmista, että lataat ServiceNow'n mukautetun työpöydän asettelun JSON-tiedoston Webex Contact Center Management Portal -portaaliin. Lisätietoja on osoitteessa ServiceNow-työpöydän asettelun määrittäminen Webex Contact Centerissä. |
1 |
Lataa ServiceNow'n työpöytäasettelu osoitteesta https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
Päivitä tarvittaessa työpöydän asettelutiedoston ominaisuudet. |
3 |
Siirry Webex Contact Centerin hallintaportaaliin. |
4 |
Valitse hallintaportaalin navigointipalkista |
5 |
Napsauta New Layout ja anna työpöydän asettelun tiedot. |
6 |
Lataa ServiceNow Desktop Layout JSON-tiedosto. |
7 |
Tallenna kokoonpano napsauttamalla Save . Voit nyt käynnistää Webex Contact Center -työpöydän ServiceNow-konsolissa. |
8 |
Siirry Suodatusnavigaattori -kentässä osoitteeseen . |
Seuraavissa osioissa kuvataan ServiceNow-liittimen asentamisen vaiheet lisensoituja yritystapahtumia varten.
1 |
Kirjaudu sisään ServiceNow-kehittäjäportaalitilillesi ja avaa Administration -konsoli. |
2 |
Valitse Oma instanssi -alueen Tili -valikosta Aloita rakentaminen. |
3 |
Siirry kehittäjäinstanssissasi ikkunan vasemmassa yläkulmassa olevasta Suodattimen navigaattori -kentästä osoitteeseen Plugins. |
4 |
Etsi Openframe-lisäosa, jonka otsikko on Openframe. Voit joutua selaamaan luetteloa. |
5 |
Napsauta Install asentaaksesi Openframe-lisäosan. |
6 |
Valitse Aktivoi liitännäinen -valintaikkunassa Aktivoi. |
7 |
Kun laajennuksen aktivointi on valmis, napsauta Close & Reload Form Plugin Activation -valintaikkunassa. |
8 |
Voit tarkistaa laajennuksen aktivoinnin siirtymällä ikkunan vasemmassa yläkulmassa olevasta Suodattimen navigaattori -kentästä osoitteeseen OpenFrame. |
9 |
Napsauta Configurations ja varmista, että OpenFrame-lisäosa näkyy OpenFrame Configurations -luettelossa. |
Instanssit, joilla on yrityslisenssit, voivat asentaa Webex Contact Center -sovelluksen suoraan ServiceNow Storesta.
Lataa ja asenna Webex Contact Center -paketti ServiceNow-kaupasta: https://store.servicenow.com/sn_appstore_store.do#!/store/application/6c8e2a4edbc73410e1c75e25ca961947. |
1 |
Kirjoita ikkunan vasemmassa yläkulmassa olevaan Filter navigator -kenttään |
2 |
Lajittele ominaisuudet System Properties -sivulla päivityspäivämäärän mukaan. Varmista, että näet seuraavat Webex Contact Centerin ominaisuudet: |
3 |
Napsauta agentdesktop_url avataksesi System Property agentdesktop_url -sivun. |
4 |
Kirjoita Value -kenttään Webex Contact Center -työpöydän URL-osoite toiminta-alueen mukaan.
|
5 |
Tallenna muutokset napsauttamalla Päivitä . |
6 |
(Valinnainen) Jos haluat muuttaa Activity-taulun nimeä, muokkaa x_caci_webexcc.webexccactivitytable -ominaisuuksia tarpeen mukaan.
|
7 |
(Valinnainen) Lisää käyttäjäryhmiä seuraavilla tavoilla:
|
1 |
Siirry Suodattimen navigaattori -kentässä kohtaan . |
2 |
Napsauta New. |
3 |
Anna URL-osoitteelle seuraavat ominaisuudet:
|
4 |
Napsauta URL -kentän oikealla puolella Lock -painiketta ja lisää URL-osoitteeksi |
5 |
(Valinnainen) Valitse käyttäjä- / agenttiryhmä(t), jolle määritys annetaan. |
6 |
Napsauta Lähetä. URL-osoite näkyy linkkinä. |
7 |
Siirry Suodatusnavigaattori -kentässä osoitteeseen . |
8 |
(Valinnainen) Siirrä Käyttäjäryhmä -luettelossa ne käyttäjäryhmät, jotka voivat käyttää Webex Contact Center -työpöytää Käytettävissä -luettelosta Valitut-luetteloon. |
9 |
Ennen kuin yrität käyttää OpenFrame-puhelinta, varmista, että lataat ServiceNow'n mukautetun työpöydän asettelun JSON-tiedoston Webex Contact Center Management Portal -portaaliin. Lisätietoja on osoitteessa ServiceNow-työpöydän asettelun määrittäminen Webex Contact Centerissä. |
1 |
Lataa ServiceNow'n työpöytäasettelu osoitteesta https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
Päivitä tarvittaessa työpöydän asettelutiedoston ominaisuudet. |
3 |
Siirry Webex Contact Centerin hallintaportaaliin. |
4 |
Valitse hallintaportaalin navigointipalkista |
5 |
Napsauta New Layout ja anna työpöydän asettelun tiedot. |
6 |
Lataa ServiceNow Desktop Layout JSON-tiedosto. |
7 |
Tallenna kokoonpano napsauttamalla Save . Voit nyt käynnistää Webex Contact Center -työpöydän ServiceNow-konsolissa. |
8 |
Siirry Suodatusnavigaattori -kentässä osoitteeseen . |
1 |
Siirry Suodatusnavigaattorin kentässä kohtaan Tapahtumat > Avaa tapahtuma. |
2 |
Napsauta soittaja-kenttää hiiren kakkospainikkeella ja valitse Configure Dictionary. |
3 |
Lisää pilkulla erotetut attribuutit Voit nyt aloittaa Webex Contact Center -työpöydän käytön ServiceNow-konsolissa. |
4 |
Siirry Suodatusnavigaattori -kentässä osoitteeseen . |
Tällä hetkellä emme tue Agent Desktopiin kirjautumista työpöytävaihtoehdon (WebRTC) avulla.
Agentin työpöytä ServiceNow-konsolissa
Ennen kuin soitat numeroon, varmista, että teet seuraavat toimet:
-
Luo outdial entry point ja määritä outdial entry point -strategia.
-
Ottaa käyttöön agenttiprofiilin soitto-NI-toiminnon.
-
Aseta numeron valinta-ANI valintanumeron ja tulopisteen väliseen yhdistelmään.
Lisätietoja on Cisco Webex Contact Center Setup and Administration Guide -oppaan luvussa Provisioning .
Siirry Suodatusnavigaattori -kentässä osoitteeseen .
Lisätietoja työpöydän käytöstä on Webex Contact Centerin ohjeen välilehdellä Agent .
Yleiskatsaus
Tässä artikkelissa käsitellään useita tapoja mukauttaa ServiceNow CRM -liittimen liiketoimintasääntöjä. Siinä kerrotaan yksityiskohtaisesti, miten voit mukauttaa käyttötapauksia ServiceNow'lle ominaisten liiketoimintasääntöjen perusteella.
Asiakkaan on itse hallinnoitava näitä käyttötapauksia ServiceNow'ssa. Määritys on ServiceNow-kohtainen eikä Webex Contact Center -ohjelmiston tai asiantuntemuksen mukainen.
Tämä on viiteasiakirja, joka auttaa liiketoimintasääntöjen muuttamisessa. ServiceNow-kehittäjät luovat ja hallinnoivat liiketoimintasääntöjä ja tarjoavat tukea.
Cisco tarjoaa vain esimerkkidokumentaatiota.
Seuraavissa osioissa kerrotaan yksityiskohtaisesti, miten Toiminnot-vidgetin voi määrittää, ottaa käyttöön ja hallita kehittäjä- ja yritystasolla.
Toimintojen widgetin päivityssarjan sitouttaminen
Asenna lisensoituihin yritystasoihin uusin Webex Contact Center -sovellus ServiceNow-kaupasta.
Jos haluat määrittää Actions widgetin kehittäjäinstansseja varten, lataa uusin System Update Set XML-tiedosto, joka on saatavilla github-reposta tässä osoitteessa: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Tiedoston nimi on webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Toiminnot-vidgetin päivityssarjan sitouttaminen tapahtuu kohdassa Päivityssarjan sitouttaminen olevien vaiheiden 2-9 mukaisesti.
Ota Toiminnot Widget käyttöön
Käytä isWidgetDisplayEnabled -ominaisuutta ottaaksesi Toiminnot-videon käyttöön. Tämän ominaisuuden arvoa ei saa muuttaa mukautetun työpöytäasettelun headless-osiossa. Ominaisuus on aina false mukautetun työpöytäasettelun headless-osiossa. Ominaisuuden arvo on päivitettävä vain mukautetun työpöytäasettelun paneeliosiossa.
Kun olet ottanut Toiminnot-widgetin käyttöön mukautetussa työpöytäasettelussa, voit suorittaa seuraavat toiminnot:
- Aktiviteettitietojen hallinta: Napsauta Näytä/muokkaa aktiviteettitietuetta nähdäksesi luettelon soittajaan liittyvistä aktiviteettitiedoista.
- Yhdistä CRM-objekteja - Napsauta Yhdistä toimintotietueisiin lisätäksesi CRM-objekteja, kuten puhelutyyppi (saapuva tai lähtevä), puhelun kohde, puhelun muistiinpanot ja niin edelleen, toimintotietueeseen.
- Tapahtumien hallinta-Klikkaa Create Incident. Luodaan uusi tapaus, jossa soittajan tiedot on täytetty valmiiksi. Voit tehdä tarvittavat päivitykset tapahtumaan. Voit muuttaa tietueen tyyppiä tapauksesta tapaukseen, HR-moduuliin ja niin edelleen tarpeidesi mukaan. Voit muuttaa tietueen tyyppiä muuttamalla Actions-vidgetin kokoonpanossa olevan typeOfRecord -ominaisuuden arvoa. Esimerkiksi:
{ "comp": "md-tab-panel", "attributes": { "slot": "panel", "class": "widget-pane" }, "children": [ { { "comp": "agentx-custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "properties": { "isWidgetDisplayEnabled": true, "typeOfRecord" : "Create Incident" }, "wrapper": { "title": "SNOW Actions !", "maximizeAreaName": "app-maximize-area" } } } ] }
- Lisää puhelun muistiinpanoja - Voit tallentaa puhelun lisätiedot tekstialueelle ja päättää puhelun. Nämä muistiinpanot on lisätty soittomuistiinpanoina toimintotietueeseen.
Koodimuutos ServiceNow'ssa
Käsikirjoitus sisältää muutoksia-
Mene suodattimen navigaattoriin ja etsi
käsikirjoitus sisältää
.Valitse Script Includes kohdasta System UI.
-
Suodata Nimi ja etsi
propUtils
. -
Muuta metodia
UserGetSysId
komentosarjassa Script.Nykyinen:
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; },
Uusi esimerkkikoodi tapausta varten:
UserGetSysId : function () { var opened_for; //Tapahtumaan liittyvät muutokset 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;//palaa 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); },
-
Siirry suodattimen navigaattoriin ja etsi
UI-sivu
.Valitse Käyttöliittymän sivut osoitteessa Järjestelmän käyttöliittymä.
-
Suodata Nimi ja etsi
agentdesktop
. -
Muuta
screenpop
-toimintoa Client-skriptissä.Nykyinen toiminto:
// screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid });
Esimerkkikoodi tapausta varten:
// screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // Tapahtumaan liittyvää muutosta varten var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }
Jos soittajan tiedot ovat olemassa CRM:ssä ja kyseiselle yhteyshenkilölle on jo avattu uusi tapaus, sovellus avaa käynnissä olevan tapauksen.
Jos soittajan tietoja ei ole CRM:ssä, sovellus avaa uuden tapauksen.
Jos soittajan tiedot ovat olemassa CRM:ssä, sovellus avaa uuden tapauksen esitäytetyillä tiedoilla.
Yleiskatsaus
Tässä käyttötapauksessa kuvataan yksityiskohtaisesti prosessi, jossa ServiceNow-taulukkoon lisätään lisäsarake - webexcc_imp_activity ja luodaan sn_openframe_phone_log Webex CC for ServiceNow CRM Connector -yhteenliittymän asennuksen yhteydessä.
Taulukko sisältää oletusarvoisesti tiettyjä valmiita järjestelmäkenttiä ja arvoja.
Voit luoda lisää liiketoimintakohtaisia muuttujia (CAD-muuttujia) WebexCC Flow -suunnittelijan sisällä ja lisätä CAD-muuttujat ServiceNow-puhelun jälkeisen toimintalokin sisälle sekä säilyttää tämän puhelun jälkeisen toimintataulukon tietoihin.
Tämä on vain viitteellinen dokumentaatio - ja siinä näytetään, miten tämä tehdään esimerkin CAD-muuttujalle nimeltä Asiakasnimi, joka tallentaa asiakkaan nimen IVR:n sisälle ja lähettää sen ServiceNow'hun.
Yhteistyökumppanin ja asiakkaan ServiceNow-kehittäjien odotetaan määrittävän ja hallinnoivan tätä kokoonpanoa, koska se on olemassa olevan liittimen mukautus.
Cisco tarjoaa vain tekniikoita liittimen mukauttamiseen ja laajentamiseen.
Tätä artikkelia kirjoitettaessa Ciscon tiimi on vahvistanut tuen CAD-muuttujan lisäämiselle toimintalokiin ja toimintataulukkoon alla kuvatulla tekniikalla:
Lisää sarake WebexCC:n IMP-aktiviteettiin
-
Muokkaa taulukkoa ServiceNow'n kehittäjäversiossa.
-
Siirry suodattimen navigaattoriin ja etsi studio.
Valitse
Webex Contact Center
tai
-
Valitse
WebexCC IMP Activity
-taulukko. -
Lisää uusi sarake, esimerkiksi
CustomerName.
Lisää sarake puhelinlokiin
-
Muokkaa puhelinlokitaulukkoa.
-
Lisää uusi sarake, esimerkiksi
CustomerName
.
WebexCC Activity Transform Map
Lisää uusi sarake, esimerkiksi CustomerName
-kenttäkuvaus.
Luettelon sarakkeiden personointi
Kuten Service Now suosittelee, vaihda Choice-toiminto create-toiminnosta ignore-toiminnoksi.
Puhelinlokien luettelon määrittäminen
Siirry kohtaan Script Include
Lisää vain yksi rivi webexcc.u_customername=actInfo.CustomerName
kohtaan propUtils.
Esimerkkikäsikirjoitus
Katso rivi: webexcc.u_customername=actInfo.CustomerName; ja sitä tukeva kommentti.
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; // else // return 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; // Tämä rivi lisätään - jotta se saadaan kaapattua aktiviteettilokiin webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); //Toiminnot tapahtumatietueessa; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery("puhelin", 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(); } } } return sys_id; }, type: 'propUtils' });
Luo CAD-muuttuja Flow designerissa
Lisää CAD-muuttuja työpöydän asetteluun
Esimerkki
"CadName1:SnowField1,CadName2:SnowField2" CadName1 on asiakasnimi SnowField1 käytetään myös asiakasnimenä, joka on osa edellä esitettyä esimerkkiskirppua "actInfo.CustomerName".
Demo kuvakaappauksia
Tarkastele juuri lisättyä CAD-muuttujaa WebexCC Activity -taulukossa.
Luo CAD-muuttuja Flow Designerille
Tapahtuman kiireellisyysTapahtuman vaikutus
Service Now -käsikirjoituksen päivitys
Käsikirjoituksen päivitykset sisältävät
-
Siirry suodattimen navigaattoriin ja etsi
script includes.
Valitse Script Includes -vaihtoehto kohdassa System UI.
-
Suodata Name with
propUtils
. -
Muuta menetelmä
UserGetSysId
kentässä Script .Nykyinen käsikirjoitus:
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; },
Uusi esimerkkikoodi tapausta varten:
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;//palauta 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; },
-
Mene suodattimen navigaattoriin ja etsi
UI-sivut
.Valitse Käyttöliittymäsivut -vaihtoehto kohdassa Järjestelmän käyttöliittymä.
-
Suodata käyttöliittymäsivut osoitteella Nimi ja etsi agentdesktop .
-
Muuta
screenpop
-toiminto skriptikentässä.Nykyinen toiminto:
// screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid }); } }
Esimerkkikoodi tapausta varten:
// screen pop function screenpop(callerani,callSessionInfo) { var Impact=3; if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact != undefined) { Impact=callSessionInfo.callAssociatedData.Impact.value; } var IncUrgency=3; if(callSessionInfo.callAssociatedData.Urgency != null && callSessionInfo.callAssociatedData.Urgency != undefined) { IncUrgency=callSessionInfo.callAssociatedData.Urgency.value; } if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('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', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }
Jos soittajan tiedot ovat olemassa CRM:ssä eikä uutta tai käynnissä olevaa tapausta ole, sovellus avaa uuden tapauksen.
Muuta ServiceNow'n koodia
Lisää uusia sarakkeita WebexCC IMP Activity
-taulukkoon.
Avaa WebexCC IMP Activity-taulukko. Lisää uusi sarake - InteractionsNumber (vuorovaikutusten määrä) Lisää uusi sarake - IncidentNumber
Napsauta Päivitä.
Lisää uusia sarakkeita taulukkoon Puhelinloki
.
Avaa Puhelinloki
-taulukko
WebexCC Activity Transform Map
Avaa muunnoskartta
suodattimen navigaattorista.
Napsauta WebexCC Activity TransformMap.
Napsauta Päivitä.
Käsikirjoituksen muutokset Sisältää
-
Mene suodattimen navigaattoriin ja etsi "script includes".
Valitse Script Includes kohdasta System UI.
-
Suodata Name with
propUtils
. -
Muuta metodia
setWebexcctable
.Uusi esimerkkikoodi tapausta varten:
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()) { //Tapahtumatietueen aktiviteetit; //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='Päivitä tila suljetuksi.'; inte.update(); } } if( incsysid!= null && incsysid != undefined){ var inci = new GlideRecordSecure('incident'); inci.addQuery('sys_id', incsysid ); inci.query(); if (inci.next()) { incnum=inci.number; var jsonPretty = JSON.stringify(actInfo,null,2); //JSON.stringify(JSON.parse(actInfoString),null,2); inci.comments =jsonPretty; inci.update(); } }else{ var suser = new GlideRecordSecure("sys_user"); suser.addQuery("phone", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', suser.sys_id); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(actInfo,null,2); inc.comments =jsonPretty; inc.update(); } } } webexcc.u_ani = actInfo.ani; webexcc.u_dnis =actInfo.dnis; webexcc.u_queuename =actInfo.queuename; webexcc.u_wrapuptime =actInfo.wrapuptime; webexcc.u_callduration =actInfo.CallDurationInSeconds; webexcc.u_ringingtime =actInfo.ringingtime; webexcc.u_activitydate =actInfo.ActivityDate; webexcc.u_callobject =actInfo.CallObject; webexcc.u_calltype =actInfo.CallType; webexcc.u_calldisposition=actInfo.CallDisposition; webexcc.u_incidentnumber=incnum; webexcc.u_interactionsnumber=intenum; sys_id=webexcc.insert(); } return sys_id; },
UI-sivujen menetelmämuutokset
-
Siirry suodattimen navigaattoriin ja etsi
UI-sivuja.
Valitse Käyttöliittymäsivut -vaihtoehto kohdassa Järjestelmän käyttöliittymä.
-
Suodata käyttöliittymäsivut osoitteella Nimi ja etsi
agentdesktop
. -
Muuta skriptin
nowActivities- ja screenpop
-toimintoa.Nykyinen toiminto:
function nowActivities(actInfo, ani) { var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gaout.getXML(SetCCsysId); }
Esimerkkikoodi tapausta varten:
function nowActivities(actInfo, ani) { var sysObjstr = window.localStorage.getItem("screenpopinteraction"); if(sysObjstr != null && sysObjstr != undefined) { var sysObjjson=JSON.parse(sysObjstr); actInfo.interaction_sys_id=sysObjjson.sysid; actInfo.incident_sys_id=sysObjjson.incsysid; } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gaout.getXML(SetCCsysId); } function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }
Tulokset päivityksen jälkeen
Seuraavat mukautukset koskevat versioita 1.0.5 ja sitä pienempiä versioita. Uudempien versioiden 1.0.7 ja sitä uudempien versioiden mukautukset tehdään yllä olevien ohjeiden mukaisesti.
Mukauttaminen # 1 - Lisää mukautettuja liiketoimintasääntöjä soittovirran käyttötapauksia varten.
Luo uusi tapahtumatietue jokaista puhelua vartenLuo jokaisesta WebexCC CRM -liittimeen ServiceNow'ssa tulevasta uudesta puhelusta Uusi tapahtumatietue.
Etsi liiketoimintasääntöjä suodattimen navigaattorista
Napsauta New.
Esimerkkikoodi viitteeksi:
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; }
Liiketoimintasäännön esimerkkikokoonpano
Enable Client callable
Computer Telephony Integration (CTI) Processing For Incident on merkitty osoitteeseen True.
Päivitä screenpop url mukautetulla CTI-säännöllä " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="
sysparm_cti_rule=nimi , jossa 'nimi' on sen toiminnon nimi, , jota on käytettävä CTI-käsittelyssä sen sijaan, että käytettäisiin oletusskriptiä.
Määrittele funktio sys_script merkinnällä merkittyyn kutsuttavaan asiakaskohtaan .
Jos sinun on lisättävä, päivitettävä tai poistettava GlideRecord(eja) funktiossa, kutsu erillistä ei-asiakkaan kutsuttavaa funktiota päivitysten suorittamiseksi.
Jotta komentosarjasta voidaan tehdä asiakkaan kutsuttavissa oleva, sinun on valittava asiakkaan kutsuttavissa oleva valintaruutu lomakkeella, joka tulee näkyviin, kun sys_script -merkintä näytetään.
Asiakkaan kutsuttavissa -valintaruutu ei näy oletusarvoisesti. Jos haluat tarkastella, sinun on muutettava lomakkeessa näkyviä kenttiä hammasratas-kuvakkeen ja slush-ämpäri-mekanismin avulla.
Mukauttaminen # 2 - Lisää CAD-muuttuja Webex Contact Centerin toimintotaulukkoon.
YleiskatsausTässä artikkelissa kerrotaan yksityiskohtaisesti, miten ServiceNow-taulukkoon lisätään lisäsarake - webexcc_activity , joka luodaan Webex CC for ServiceNow CRM Connectorin asennuksen yhteydessä.
Taulukko sisältää oletusarvoisesti valmiit järjestelmäkentät ja -arvot.
Voit mahdollisesti luoda lisää liiketoimintakohtaisia muuttujia (CAD-muuttujia) WebexCC Flow -suunnittelijan sisällä ja lisätä nämä CAD-muuttujat ServiceNow -palvelun puhelun jälkeisen toiminnan lokiin ja säilyttää tämän -palvelun puhelun jälkeisen toiminnan taulukon tietoihin.
-
Tämä on vain viitteellinen dokumentaatio - ja siinä näytetään, miten tämä tehdään esimerkin CAD-muuttujalle nimeltä Asiakasnimi, joka tallentaa asiakkaan nimen IVR:n sisälle ja lähettää sen ServiceNow'hun.
-
Yhteistyökumppanin ja asiakkaan ServiceNow-kehittäjät konfiguroivat ja hallinnoivat tätä kokoonpanoa, koska se on olemassa olevan liittimen mukautus.
-
Cisco tarjoaa ainoastaan tekniikoita liittimen mukauttamiseen ja laajentamiseen.
-
Tätä artikkelia kirjoitettaessa Ciscon tiimi on vahvistanut tuen CAD-muuttujan lisäämiselle toimintalokiin ja toimintataulukkoon alla kuvatulla tekniikalla.
Muokkaa taulukkoa ServiceNow'n kehittäjäversiossa.
Siirry osoitteeseen
.Valitse WebexCC Activity -taulukko.
Esimerkiksi CustomerName.
Valitse luettelon asettelu WebexCC Activity.
Tätä vaihetta ei tarvita, jos käytät Update Set XML:ää - Vain yksi rivi on lisättävä "webexcc.u_customername=actInfo.CustomerName" kohtaan propUtils.
Esimerkkikäsikirjoitus
Katso rivi:webexcc.u_customername=actInfo.CustomerName; ja sitä tukeva kommentti.
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; // Tämä rivi lisätään - jotta se saadaan kaapattua aktiviteettilokiin webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); // Incident-tietueen aktiviteetit; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery("phone", this.getParameter("ani")); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure("incident"); inc.addQuery("caller_id", suser.sys_id); inc.orderByDesc("sys_created_on"); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(acting string),null,2); inc.comments =jsonPretty; inc.update(); } } } return sys_id; }, type: 'propUtils2' });
Muokkaa käyttöliittymäsivua uudella skriptin nimellä.Luo CAD-muuttuja Flow designerissa
Lisää CAD-muuttuja työpöydän asetteluun
Demo kuvakaappauksia
Tarkastele juuri lisättyä CAD-muuttujaa WebexCC Activity -taulukossa.