Forutsetninger

Før du integrerer Webex kontaktsenter med CRM-konsollen ServiceNow, må du kontrollere at du har følgende:


 

Følg en av de to metodene nedenfor:

For utviklerforekomster anbefaler vi at du følger trinnene under veiledningen for utviklerforekomst.

Hvis du eier en bedriftslisensiert forekomst, følger du retningslinjene for bedriftslisensierte forekomster.

Vi anbefaler ikke at du blander den bedriftslisensierte appen med sandkasseforekomster for utviklere.

Avsnittene nedenfor beskriver fremgangsmåten for å installere ServiceNow-koblingen for utviklerforekomster.

1

Logg på kontoen din på ServiceNow-utviklerportalen , og åpne administrasjonskonsollen .

2

Fra Min forekomst-områdetKonto-menyen klikker du Start bygging.

3

I utviklerforekomsten , fra Filternavigator-feltet øverst til venstre i vinduet, navigerer du til Plugin-moduler.

4

Søk etter Openframe-plugin som har tittelen Openframe. Du må kanskje bla gjennom listen.

5

Klikk Installer for å installere Openframe-plugin-modulen.

6

I dialogboksen Aktiver plugin-modul klikker du Aktiver.

7

Når plugin-aktiveringen er fullført, klikker du Lukk og last inn skjemaet på nytt i dialogboksen Plugin-aktivering .

8

For å bekrefte plugin-aktiveringen, naviger til OpenFrame fra filternavigatorfeltet øverst tilvenstre i vinduet.

9

Klikk på Konfigurasjoner, og kontroller at OpenFrame-plugin-modulen vises i listen OpenFrame-konfigurasjoner .

1

Last ned den nyeste systemoppdateringssettet XML-filen som er tilgjengelig på github-repositoriet på denne plasseringen : https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Filnavn: webexcc-servicenow-update-setV(X).xml

2

I Service Now-forekomsten , fra feltet Filternavigator øverst til venstre i vinduet, navigerer du til Systemoppdateringssett> Oppdateringssett for å utføre .

3

Klikk koblingen Importer oppdateringssett fra XML .

4

Klikk Velg fil, velg systemoppdateringssettet XML filen, og klikk deretter Last opp.

Oppdateringssettet vises i listen Retrieved Update Sets og har tilstanden Loaded .
5

Fra listen Retrieved Update Sets (kobling) klikker du koblingen Update Set File Name (kobling) for å åpne oppdateringssettet.

6

Øverst til høyre i vinduet klikker du på Forhåndsvis oppdateringssett for å sjekke oppdateringssettet for problemer.

7

Klikk Lukk i dialogboksen Oppdater forhåndsvisning når forhåndsvisningen er fullført.

8

Klikk på Commit Update Set.

9

Klikk Lukk i dialogboksen Oppdater sett utførelse når utførelsen av oppdateringssettet er fullført.

1

I feltet Filternavigator øverst til venstre i vinduet skriver du inn sys_properties.list og trykker enter.

2

siden Systemegenskaper sorterer du egenskapene etter oppdatert dato. Kontroller at du kan se følgende Webex kontaktsenteregenskaper:

3

Klikk agentdesktop_url for å åpne siden Systemegenskap agentdesktop_url .

4

I Verdi-feltet angir du URL-adressen til skrivebordet for Webex kontaktsenter i henhold til operasjonsområdet.

5

Klikk Oppdater for å lagre endringene.

6

(Valgfritt) Hvis du vil endre navnet på Aktivitet-tabellen, redigerer du egenskapene for webexccactivitytable etter behov.

siden Systemegenskaper klikker du på webexccactivitytable.

Endre Verdi-feltet etter behov.

7

(Valgfritt) Legg til brukergrupper på følgende måter:

  1. I feltet Filternavigator øverst til venstre i vinduet navigerer du til Grupper under Systemsikkerhet.

  2. Opprett en ny brukergruppe eller bruk en eksisterende.

  3. Trykk på Edit (rediger).

  4. Søk etter sn_openframe_user under Samling, og flytt den til brukergruppen.

  5. Klikk på Lagre.

  6. Legg til brukeren som et gruppemedlem.

1

Fra feltet Filternavigator går du til OpenFrame > Configurations.

2

Klikk på Ny.

3

Skriv inn følgende egenskaper for URL-adressen:

  • Navn: Webex skrivebord for kontaktsenter

  • Tittel: Webex Contact Center

  • Bredde: 550 (anbefalt)

  • Høyde: 600 (anbefalt)

4

Til høyre for URL-feltet klikker du på Lås-knappen og legger til agentdesktop.do som URL-adresse. (Gjør dette trinnet for å peke konfigurasjonen til UI-siden)

5

(Valgfritt) Velg bruker-/agentgruppene for å tilordne konfigurasjonen.

6

Klikk på Bekreft. URL-adressen vises som en kobling.

7

Før du prøver å bruke OpenFrame-telefonen, må du laste opp den egendefinerte JSON-filen for skrivebordsoppsett for Service Now til administrasjonsportalen for Webex kontaktsenter. Hvis du vil ha mer informasjon, kan du se Konfigurere skrivebordsoppsettet for ServiceNow i Webex kontaktsenter.

1

Last ned skrivebordsoppsettet for ServiceNow fra https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

2

Oppdater om nødvendig egenskapene i skrivebordsoppsettfilen.

3

Gå til Webex Contact Center Management Portal.

4

Velg Klargjøring > skrivebordsoppsett fra navigasjonsfeltet i administrasjonsportalen.

5

Klikk Nytt oppsett , og angi detaljene for skrivebordsoppsettet.

6

Last opp JSON-filen ServiceNow Desktop Layout.

7

Klikk Lagre for å lagre konfigurasjonen.

Du kan nå starte skrivebordet for Webex kontaktsenter i ServiceNow-konsollen.

8

Fra feltet Filternavigatør går du til Agent Workspace > Agent Workspace Home.

Klikk på venstre telefonikon.

Avsnittene nedenfor beskriver fremgangsmåten for å installere ServiceNow-koblingen for lisensierte bedriftsforekomster.

1

Logg på kontoen din på ServiceNow-utviklerportalen , og åpne administrasjonskonsollen .

2

Fra Min forekomst-områdetKonto-menyen klikker du Start bygging.

3

I utviklerforekomsten , fra Filternavigator-feltet øverst til venstre i vinduet, navigerer du til Plugin-moduler.

4

Søk etter Openframe-plugin som har tittelen Openframe. Du må kanskje bla gjennom listen.

5

Klikk Installer for å installere Openframe-plugin-modulen.

6

I dialogboksen Aktiver plugin-modul klikker du Aktiver.

7

Når plugin-aktiveringen er fullført, klikker du Lukk og last inn skjemaet på nytt i dialogboksen Plugin-aktivering .

8

For å bekrefte plugin-aktiveringen, naviger til OpenFrame fra filternavigatorfeltet øverst tilvenstre i vinduet.

9

Klikk på Konfigurasjoner, og kontroller at OpenFrame-plugin-modulen vises i listen OpenFrame-konfigurasjoner .

1

I feltet Filternavigator øverst til venstre i vinduet skriver du inn sys_properties.list.

2

siden Systemegenskaper sorterer du egenskapene etter oppdatert dato. Kontroller at du kan se følgende Webex kontaktsenteregenskaper:

3

Klikk agentdesktop_url for å åpne siden Systemegenskap agentdesktop_url .

4

I Verdi-feltet angir du URL-adressen til skrivebordet for Webex kontaktsenter i henhold til operasjonsområdet.

5

Klikk Oppdater for å lagre endringene.

6

(Valgfritt) Hvis du vil endre navnet på Aktivitet-tabellen , redigerer du x_caci_webexcc.webexccactivitytable-egenskapene etter behov.

  1. siden Systemegenskaper klikker du på x_caci_webexcc.webexccactivitytable.

  2. Endre Verdi-feltet etter behov.

7

(Valgfritt) Legg til brukergrupper på følgende måter:

  1. I feltet Filternavigator øverst til venstre i vinduet navigerer du til Grupper under Systemsikkerhet.

  2. Klikk på Rediger, og legg til følgende roller:

    • sn_openframe_user

    • x_caci_webexcc.agent

    • agent_workspace_user

    • x_caci_webexcc.webexcc_imp_activity_user

    • x_caci_webexcc.webex_contact_center

1

Fra feltet Filternavigator går du til OpenFrame > Configurations.

2

Klikk på Ny.

3

Skriv inn følgende egenskaper for URL-adressen:

  • Navn: Webex skrivebord for kontaktsenter

  • Tittel: Webex Contact Center

  • Bredde: 550 (anbefalt)

  • Høyde: 600 (anbefalt)

4

Til høyre for URL-feltet klikker du på Lås-knappen og legger til x_caci_webexcc_agentdesktop.do som URL-adresse. (Gjør dette trinnet for å peke konfigurasjonen til UI-siden)

5

(Valgfritt) Velg bruker-/agentgruppene for å tilordne konfigurasjonen.

6

Klikk på Bekreft. URL-adressen vises som en kobling.

7

Fra feltet Filternavigatør går du til Agent Workspace > Agent Workspace Home.

Klikk på det venstre nederste telefonikonet.

8

(Valgfritt) I listen Brukergrupper flytter du brukergruppene som har tilgang til skrivebordet for Webex kontaktsenter fra Tilgjengelig til Valgt.

9

Før du prøver å bruke OpenFrame-telefonen, må du laste opp den egendefinerte JSON-filen for skrivebordsoppsett for Service Now til administrasjonsportalen for Webex kontaktsenter. Hvis du vil ha mer informasjon, kan du se Konfigurere skrivebordsoppsettet for ServiceNow i Webex kontaktsenter.

1

Last ned skrivebordsoppsettet for ServiceNow fra https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

2

Oppdater om nødvendig egenskapene i skrivebordsoppsettfilen.

3

Gå til Webex Contact Center Management Portal.

4

Velg Klargjøring > skrivebordsoppsett fra navigasjonsfeltet i administrasjonsportalen.

5

Klikk Nytt oppsett , og angi detaljene for skrivebordsoppsettet.

6

Last opp JSON-filen ServiceNow Desktop Layout.

7

Klikk Lagre for å lagre konfigurasjonen.

Du kan nå starte skrivebordet for Webex kontaktsenter i ServiceNow-konsollen.

8

Fra feltet Filternavigatør går du til Agent Workspace > Agent Workspace Home.

Klikk på venstre telefonikon.

1

Fra feltet Filternavigator går du til Hendelser > Åpne hendelse.

2

Høyreklikk på anroperfeltet og klikk Konfigurer ordbok.

3

Legg til kommadelte attributter "ref_contributions=show_phone,.

Du kan nå begynne å bruke Webex Contact Center Desktop i ServiceNow-konsollen.

4

Fra feltet Filternavigatør går du til Agent Workspace > Agent Workspace Home.

Klikk på det venstre nederste telefonikonet.

Agent Desktop i ServiceNow-konsollen

Før du foretar utgående anrop, må du sørge for at du gjør følgende:

  • Opprett inngangspunktet for outdial og sett opp en strategi for outdial inngangspunkt.

  • Aktiver utgående ANI for agentprofilen.

  • Angi ANI for utgående anrop til tilordning av oppringingsnummer-til-inngangspunkt.

Hvis du vil ha mer informasjon, kan du se kapittelet Klargjøring i Oppsett- og administrasjonshåndboken for Cisco Webex Contact Center.

Fra feltet Filternavigatør går du til Agent Workspace > Agent Workspace Home.

Klikk på det venstre nederste telefonikonet.

Hvis du vil ha informasjon om hvordan du bruker skrivebordet, kan du se brukerhåndboken for Cisco Webex Contact Center Agent Desktop.

Tredjeparts lagringspartisjonering

Et mulig problem med den nylige oppdateringen til Google Chrome og Edge 116 eller nyere kan forstyrre påloggingsopplevelsen for CRM-koblinger i kontaktsenteret Webex. Dette problemet påvirker skrivebordspålogging på CRM-konsollen ServiceNow.

Slik løser du dette problemet i Google Chrome-nettleseren:

  1. Åpne Google Chrome-nettleseren og skriv inn chrome://flags/#third-party-storage-partitioning i adressefeltet.

  2. Deaktiver partisjoneringsflagget for eksperimentell tredjeparts lagring.

  3. Lukk og start Chrome på nytt.

  4. Logg på skrivebordet igjen i ServiceNow CRM-konsollen.

Slik løser du dette problemet i Edge-nettleseren:

  1. Åpne nettleseren og skriv inn edge://flags/#third-party-storage-partitioning i adressefeltet.

  2. Deaktiver partisjoneringsflagget for eksperimentell tredjeparts lagring.

  3. Lagre endringene og start nettleseren på nytt.

  4. Logg på skrivebordet igjen i ServiceNow CRM-konsollen.

Slik løser du dette problemet i nettleseren Firefox:

  1. Åpne nettleseren og skriv about:config i adressefeltet.

    En advarselsside kan vises. Klikk på Godta risikoen og fortsett for å gå til about:config-siden .

  2. Skriv inn network.cookie.cookieBehavior i boksen Navn på søkeinnstillinger øverst på about:config-siden for å finne innstillingen.

  3. Dobbeltklikk på innstillingen eller klikk på Rediger-ikonet for å redigere preferansen.

  4. Endre verdien til 0.

  5. Lagre endringene og start nettleseren på nytt.

  6. Logg på skrivebordet igjen i ServiceNow CRM-konsollen.

Oversikt

Denne artikkelen dekker flere måter å tilpasse forretningsreglene for ServiceNow CRM-koblingen på. Den beskriver hvordan du kan tilpasse brukstilfellene basert på forretningsregler som er spesifikke for ServiceNow.

Kunden må selv administrere disse brukstilfellene på ServiceNow. Konfigurasjonen er spesifikk for ServiceNow og ikke Webex kontaktsenterprogramvare eller -ekspertise.


 

Dette er en referansedokumentasjon for å hjelpe til med å endre forretningsregler. ServiceNow-utviklerne vil opprette og administrere forretningsreglene og gi støtte.

Cisco gir bare eksempeldokumentasjon.

Avsnittene nedenfor inneholder detaljer om hvordan du konfigurerer, aktiverer og administrerer widgeter for handlinger for utvikler- og bedriftsforekomster.

Utfør kontrollprogrammet Oppdater angitt for handlinger

For de lisensierte bedriftsforekomstene installerer du kontrollprogrammet ServiceNow-koblingshandlinger, versjon 1.9 fra ServiceNow-butikken.

Hvis du vil konfigurere Handlinger-widgeten for utviklerforekomstene, laster du ned den nyeste System Update Set XML-filen som er tilgjengelig på github-repositoriet på denne plasseringen: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Filnavnet er webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Hvis du vil utføre oppdateringssettet for widgeten Handlinger, kan du se trinn 2 til 9 i Utføre oppdateringssettet.

Aktiver widget for handlinger

Bruk egenskapen isWidgetDisplayEnabled til å aktivere widgeten Actions. Du må ikke endre denne egenskapens verdi i den hodeløse delen for det egendefinerte skrivebordsoppsettet. Egenskapen settes alltid til usann i den hodeløse delen for det egendefinerte skrivebordsoppsettet. Du bør bare oppdatere egenskapens verdi i paneldelen i det egendefinerte skrivebordsoppsettet.

Når du har aktivert widgeten Handlinger i det egendefinerte skrivebordsoppsettet, kan du utføre følgende handlinger:

  • Behandle aktivitetsoppføringer – Klikk Vis/rediger aktivitetsoppføring for å vise listen over aktivitetsoppføringer som er knyttet til oppringeren.
  • Knytt til CRM-objekter – Klikk Knytt til aktivitetsoppføringer for å legge til CRM-objekter, for eksempel anropstype (innkommende eller utgående), anropsobjekt, samtalenotater og så videre, i aktivitetsoppføringen.
  • Behandle hendelser – Klikk på Opprett hendelse. En ny hendelse opprettes med innringerdetaljene forhåndsutfylt. Du kan gjøre de nødvendige oppdateringene av hendelsen. Du kan velge å endre oppføringstypen fra hendelse til sak, HR-modul og så videre, basert på behovene dine. Hvis du vil endre oppføringstypen, endrer du verdien for egenskapen typeOfRecord i widgetkonfigurasjonen Actions. Eksempel:
    { "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" } } ] }
  • Legg til notater med direktesamtale – Du kan registrere tilleggsinformasjon om samtalen i tekstområdet og avslutte samtalen. Du kan se disse notatene lagt til som samtalenotater i aktivitetsoppføringen.

Kodeendring på ServiceNow

Skriptet inkluderer endringer
  1. Gå til filternavigatoren og søk etter Skriptet inneholder.

    Velg skriptet inkluderer under System UI.

  2. Filtrer navnet , og søk etter propUtils.

  3. Endre metoden UserGetSysId I manuset .

    Curent:

    UserGetSysId: funksjon () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },

    Ny eksempelkode for hendelsen:

    UserGetSysId: funksjon () { var opened_for; //Hendelsesrelaterte endringer 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 = nye GlideRecordSecure ('interaksjon'); grInt.initialize(); grInt.assigned_to= gs.getUserID (); grInt.type = 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid = sysid; returnere JSON.stringify (sysidlist); },

Metodeendring på UI-sider
  1. Gå til filternavigatoren og søk etter UI-siden.

    Velg UI-sider under System UI.

  2. Filtrer navnet , og søk etter AgentDesktop.

  3. Endre ScreenPop Funksjon i klientskript.

    Nåværende funksjon:

    screen pop-funksjon screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('felt', 'telefon'); gaout.addParam('verdi', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({enhet: 'interaksjon', spørring: 'sys_id='+sysid });

    Eksempelkode for hendelsen:

    screen pop-funksjonen screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('felt', 'telefon'); gaout.addParam('verdi', callerani); gaout.getXMLWait(); // For hendelsesrelatert endring 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' }); } }

Hvis innringerinformasjonen finnes i CRM, og det allerede er åpnet en ny hendelse med denne kontakten, åpner programmet den pågående hendelsen

Hvis innringerinformasjonen ikke finnes i CRM, åpner programmet en ny hendelse

Hvis innringerinformasjonen finnes i CRM, åpner programmet en ny hendelse med forhåndsutfylte detaljer

Oversikt

Dette brukstilfellet beskriver prosessen for å legge til en ekstra kolonne i ServiceNow-tabellen – webexcc_imp_activity og opprette sn_openframe_phone_log ved installasjon av Webex CC for ServiceNow CRM Connector.

Tabellen inneholder som standard visse medfølgende systemfelt og verdier.

Du kan opprette flere forretningsspesifikke variabler (CAD-variabler) i WebexCC-flytutformingen og legge til CAD-variablene i ServiceNow-aktivitetsloggen etter samtalen, samt beholde dette i tabelldataene etter samtaleaktivitet.


 

Dette er bare en referansedokumentasjon – og viser hvordan du gjør dette for en eksempel-CAD-variabel kalt Kundenavn, som lagrer kundenavnet i IVR og legger dette inn i ServiceNow.

Det forventes at partner+customer ServiceNow-utviklerne konfigurerer og administrerer denne konfigurasjonen siden det er en tilpassing til den eksisterende koblingen.

Cisco inneholder bare teknikker for hvordan du tilpasser og utvider koblingen.

Fra og med denne artikkelen har Cisco-teamet validert støtte for tilføyelse av CAD-variabel i aktivitetsloggen og aktivitetstabellen ved hjelp av teknikken beskrevet nedenfor:

Legg til kolonne i WebexCC IMP-aktivitet

  1. Rediger tabellen i utviklerversjonen av ServiceNow.

  2. Gå til filternavigatøren og søk etter studio.

    Velg Webex Contact Center

    eller

  3. Velg ikonet WebexCC IMP-aktivitet Tabellen

  4. Legg til en ny kolonne, for eksempel Kundenavn

Legg til kolonne i telefonloggen

  1. Rediger telefonloggtabellen.

  2. Legg til en ny kolonne, for eksempel Kundenavn.

WebexCC Aktivitet Transform Kart

Legg til en ny kolonne, for eksempel Kundenavn feltkartlegging.

Tilpasse listekolonner

Som Service Now anbefaler, endrer du handlingen Valg fra opprette til ignorere.

Konfigurere liste over telefonlogger

Gå til skript Inkluder


 

Legg bare til én linje webexcc.u_customername=actInfo.CustomerName Til propUtils.

Eksempel på skript

Se linjen: webexcc.u_customername=actInfo.CustomerName; med en støttende kommentar.

var propUtils = Class.create(); propUtils.prototype = Object.extendsObject(global. AbstractAjaxProcessor,{ getWebexccProp: funksjon () { 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 = ny GlideRecord ('interaksjon'); grInt.initialize(); grInt.assigned_to= gs.getUserID (); grInt.type = 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); returnere sysid; }, setWebexcctable: funksjon () { 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; Denne linjen er lagt til - for å fange den i aktivitetsloggen webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Aktiviteter på hendelsesposten; var actInfoString =this.getParameter('actInfo'); var suser = nye GlideRecordSecure("sys_user"); suser.addQuery ("telefon", 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(); } } } tilbake sys_id; }, type: 'propUtils' });

Opprette en CAD-variabel i flytutforming

Legge til CAD-variabelen i skrivebordsoppsettet

Eksempel

"CadName1:SnowField1,CadName2:SnowField2" CadName1 er Kundenavn SnowField1 brukes også som CustomerName, som er en del av eksempelsirptet vist ovenfor "actInfo.CustomerName".

Demo skjermbilder

Vis den nylig tilføyde CAD-variabelen i tabellen WebexCC-aktivitet.

Opprett CAD-variabel for flytutforming

Haster av hendelser

Konsekvenser for hendelser

Service Now-skriptoppdatering

Oppdateringer av skriptet inkluderer

  1. Gå til filternavigatoren og søk etter skriptet inkluderer

    Velg alternativet Skript inkluderer under System UI.

  2. Filtrer navnet med propUtils.

  3. Endre metoden UserGetSysId i Skript-feltet .

    Gjeldende manus:

    UserGetSysId: funksjon () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },

    Ny eksempelkode for hendelsen:

    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 = nye GlideRecordSecure ('interaksjon'); grInt.initialize(); grInt.assigned_to= gs.getUserID (); grInt.type = 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid = sysid; returnere JSON.stringify (sysidlist);//sysid; },

En metodeendring på UI-sider
  1. Gå til filternavigatoren og søk etter UI-sider.

    Velg alternativet UI Pages under System UI.

  2. Filtrer UI-sidene med Name og søk etter agentdesktop.

  3. Endre ScreenPop -funksjonen i skriptfeltet.

    Nåværende funksjon:

    screen pop-funksjonen screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('felt', 'telefon'); gaout.addParam('verdi', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid }); }

    Eksempelkode for hendelsen:

    screen pop-funksjonen 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('felt', 'telefon'); gaout.addParam('verdi', 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)); }

Hvis innringerinformasjonen finnes i CRM, og det ikke er noen ny eller pågående hendelse, åpner programmet en ny hendelse

Endre koden på ServiceNow

Legg til nye kolonner i WebexCC IMP-aktivitet Tabellen

Åpne WebexCC IMP-aktivitet Tabellen

Legg til en ny kolonne - InteractionsNumber

Legg til en ny kolonne - IncidentNumber

Klikk på Oppdater.

Legg til nye kolonner i Telefon Logg Tabellen

Åpne Telefon Logg Tabellen

Legg til en ny kolonne - InteractionsNumber

Legg til en ny kolonne - IncidentNumber

WebexCC Aktivitet Transform Kart

Åpne Transformere kart Fra filternavigatoren

Klikk på WebexCC-aktivitet TransformMap

Legg til ny – for samhandlingsnummertilordning

Legg til ny – for hendelsesnummerkart

Klikk på Oppdater.

Endringer i skript inkluderer

  1. Gå til filternavigatoren og søk etter "script includes".

    Velg skriptet inkluderer under System UI.

  2. Filtrer navnet med propUtils.

  3. Endre metoden settWebexcctable.

    Ny eksempelkode for hendelse:

    setWebexcctable: funksjon () {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()) { //Aktiviteter på hendelsespost; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; slette actInfo['interaction_sys_id']; slette 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='Update State to closed.'; 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(); } tilbake sys_id; },

Metodeendringer på UI-sider

  1. Gå til filternavigatoren og søk etter UI-sider

    Velg alternativet UI Pages under System UI.

  2. Filtrer UI-sidene med Name og søk etter agentdesktop.

  3. Endre nowActivities og screenpop Funksjon i skriptet.

    Nåværende funksjon:

    funksjon 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); }

    Eksempelkode for hendelsen:

    funksjon 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); } funksjon screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('felt', 'telefon'); gaout.addParam('verdi', 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)); } 

Resultater etter oppdateringen


 

Følgende tilpasninger gjelder for versjon 1.0.5 og eldre. For tilpasninger for nyere versjoner 1.0.7 og nyere, følg fremgangsmåten ovenfor.

Tilpasning # 1 – Legg til egendefinerte forretningsregler for brukstilfeller for samtaleflyt

Opprette en ny hendelsesoppføring for hver samtale

For hvert nye anrop til WebexCC CRM-koblingen i ServiceNow oppretter du en ny hendelsesoppføring.

  1. Søke etter forretningsregler i filternavigatoren

  2. Klikk på Ny.

    Eksempelkode for referanse:

    funksjon 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", navn); } if (userID == null &&; phone != null &&; phone != '') { 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; } svar = url; returnere URL; } funksjon UserGetSysId(felt, verdi) { var user = new GlideRecord("sys_user"); user.addQuery(felt, verdi); user.query(); if (user.next()) return user.sys_id; else return null; }

    Eksempelkonfigurasjon av forretningsregelen

  3. Aktiver kundeanrop

    Computer Telephony Integration (CTI) Processing For Incident er merket som True.

  4. Oppdater URL-adressen for screenpop med den egendefinerte CTI regelen " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="

Eksempel

sysparm_cti_rule =navnet der 'navn' er navnet på en funksjon, skal påberopes for CTI Behandler i stedet for å bruke standardskriptet.

Definer funksjonen i en sys_script oppføring merket klientanropbar .

Hvis du må sette inn, oppdatere eller slette GlideRecords i funksjonen, kan du kalle en separat ikke-klientanropbar funksjon for å utføre oppdateringene.


 

Hvis du vil gjøre et skript klientanropbart, må du merke av for klientanropbart i skjemaet som vises når den sys_script oppføringen vises.

Avmerkingsboksen for klientanrop vises ikke som standard. Hvis du vil vise, må du endre feltene som vises i skjemaet, ved hjelp av tannhjulikonet og slapsebøttemekanismen.

Referanser

Tilpasning # 2 – Legg til CAD-variabel i aktivitetstabellen Webex kontaktsenter

Oversikt

Denne artikkelen beskriver prosessen for å legge til en ekstra kolonne i ServiceNow-tabellen – webexcc_activity som opprettes ved installasjon av Webex CC for ServiceNow CRM Connector.

Som standard inneholder tabellen medfølgende systemfelt og verdier.

Du kan potensielt opprette flere forretningsspesifikke variabler (CAD-variabler) i WebexCC Flow-utformingen og legge til disse CAD-variablene i ServiceNow-aktivitetsloggen etter samtalen, og beholde dette til tabelldataene etter samtaleaktivitet.


 
  • Dette er bare referansedokumentasjon – og viser hvordan du gjør dette for en eksempel-CAD-variabel kalt Kundenavn, som lagrer kundenavnet i IVR og legger dette inn i ServiceNow.

  • Partner+Customer ServiceNow-utviklerne vil konfigurere og administrere denne konfigurasjonen siden den er en tilpasning til den eksisterende koblingen.

  • Cisco vil bare gi teknikker for hvordan du tilpasser og utvider koblingen.

  • Fra og med denne artikkelen har Cisco-teamet validert støtte for tilføyelse av CAD-variabel i aktivitetsloggen og aktivitetstabellen ved hjelp av teknikken beskrevet nedenfor.

Legg til kolonne i WebexCC-aktivitet
  1. Rediger tabellen i utviklerversjonen av ServiceNow.

  2. Gå til Studio>Webex Contact Center .

  3. Velg WebexCC-aktivitetstabell .

  4. For eksempel CustomerName.

  5. Velg listeoppsett for WebexCC-aktivitet.

Opprett et nytt skript inkluderer

 

Dette trinnet er ikke nødvendig hvis du bruker Update Set XML - Bare én linje kreves for å bli lagt til "webexcc.u_customername=actInfo.CustomerName" i propUtils.

Eksempel på skript

Se linjen med:webexcc.u_customername=actInfo.CustomerName; med en støttende kommentar.

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; // Denne linjen er lagt til - for å fange den i aktivitetsloggen webexcc. u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Aktiviteter på hendelsesposten; var actInfoString =this.getParameter('actInfo'); var suser = nye GlideRecordSecure("sys_user"); suser.addQuery ("telefon", 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(fungerende streng),null,2); inc.comments =jsonPretty; inc.update(); } } } tilbake sys_id; }, type: 'propUtils2' });
Rediger UI-siden med et nytt skriptnavn

Opprette en CAD-variabel i flytutforming

Legge til CAD-variabelen i skrivebordsoppsettet

Demo skjermbilder

Vis den nylig tilføyde CAD-variabelen i tabellen WebexCC-aktivitet.