Forudsætninger

I øjeblikket gælder denne funktion kun for agenter.

Før du integrerer Webex kontaktcenter med ServiceNow CRM-konsollen, skal du sikre dig, at du har følgende:

Følg en af de to metoder nedenfor:

For udviklerforekomster anbefaler vi, at du følger trinnene i udviklerforekomstvejledningen.

Hvis du ejer en virksomhedslicenseret forekomst, skal du følge retningslinjerne for virksomhedslicenserede forekomster.

Vi anbefaler ikke, at du blander den virksomhedslicenserede app med sandkasseforekomster for udviklere.

I følgende afsnit beskrives trinnene til installation af ServiceNow-connectoren for udviklerforekomster.

1

Logge på din ServiceNow-udviklerportalkonto og åbne administrationskonsollen .

2

Fra området Min forekomst i menuen Konto skal du klikke på Start opbygning.

3

På din udviklerforekomst skal du fra feltet Filternavigator øverst til venstre i vinduet navigere til Plugins.

4

Søg efter Openframe-pluginet, der har titlen Openframe. Du skal muligvis rulle gennem listen.

5

Klik på Installer for at installere Openframe-plugin'et.

6

I dialogboksen Aktivér plugin skal du klikke på Aktivér.

7

Når plugin-aktiveringen er fuldført, skal du klikke på Luk & Genindlæs formular i dialogboksen Plug-in-aktivering .

8

For at bekræfte plugin-aktiveringen skal du navigere til OpenFrame fra feltet Filternavigator øverst tilvenstre i vinduet.

9

Klik på Konfigurationer , og sørg for, at OpenFrame-plugin'et vises på listen OpenFrame-konfigurationer .

1

Download den nyeste XML fil med systemopdateringssæt, der er tilgængelig på github-lageret på denne placering : https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

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

2

På din ServiceNow-forekomst skal du fra feltet Filternavigator øverst til venstre i vinduet navigere til Systemopdateringssæt> opdateringssæt, der skal sendes .

3

Klik på linket Importer opdateringssæt fra XML .

4

Klik på Vælg fil, vælg XML filen Systemopdateringssæt, og klik derefter på Overfør.

Opdateringssættet vises på listen Hentede opdateringssæt og er i indlæst tilstand.
5

Klik på navnet Opdater sætfil (link) på listen Hent opdateringssæt for at åbne opdateringssættet.

6

Klik på Se eksempel på opdateringssæt øverst til højre i vinduet for at kontrollere opdateringssættet for problemer.

7

Klik på Luk i dialogboksen Opdater Vis eksempel, når eksempelvisningen er fuldført.

8

Klik på Beskriv opdateringssæt.

9

Klik på Luk i dialogboksen Commit for Update Set, når bekræftelsen af Update Set er fuldført.

1

Skriv sys_properties.list i feltet Filternavigator øverst til venstre i vinduet, og tryk på enter.

2

På siden Systemegenskaber skal du sortere egenskaberne efter opdateringsdato. Sørg for, at du kan se følgende Webex egenskaber for kontaktcenter:

3

Klik på agentdesktop_url for at åbne siden Systemegenskab agentdesktop_url side.

4

I feltet Værdi skal du angive URL-adressen til Webex Contact Center Desktop i henhold til aktivitetsområdet.

5

Klik på Opdater for at gemme ændringerne.

6

(Valgfrit) Hvis du vil ændre navnet på aktivitetstabellen, skal du redigere egenskaberne webexccactivitytable efter behov.

På siden Systemegenskaber skal du klikke på webexccactivitytable.

Rediger feltet Værdi efter behov.

7

(Valgfrit) Tilføj brugergrupper på følgende måder:

  1. I feltet Filternavigator øverst til venstre i vinduet skal du navigere til Grupper under Systemsikkerhed.

  2. Opret en ny brugergruppe, eller brug en eksisterende.

  3. Klik på Rediger.

  4. Søg efter sn_openframe_user under Samling , og flyt den til din brugergruppe.

  5. Klik på Gem.

  6. Tilføj brugeren som gruppemedlem.

1

Fra feltet Filternavigator skal du navigere til OpenFrame > Configurations.

2

Klik på Ny.

3

Angiv følgende egenskaber for URL-adressen:

  • Navn: Webex Contact Center Desktop

  • Titel: Webex kontaktcenter

  • Bredde: 550 (anbefales)

  • Højde: 600 (anbefales)

4

Til højre for URL-feltet skal du klikke på knappen Lås og tilføje agentdesktop.do som URL. (Udfør dette trin for at pege konfiguration til UI-siden)

5

(Valgfrit) Vælg den bruger/de agentgrupper, der skal tildeles konfigurationen.

6

Klik på Send. URL-adressen vises som et link.

7

Før du forsøger at bruge OpenFrame-telefonen, skal du sørge for at overføre den brugerdefinerede JSON-fil til ServiceNow-skrivebordslayout til Webex Contact Center Management Portal. For yderligere oplysninger, se Konfigurere ServiceNow-skrivebordslayoutet på Webex kontaktcenter.

1

Download skrivebordslayoutet til ServiceNow fra https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

2

Opdater egenskaberne i filen Skrivebordslayout, hvis det er nødvendigt.

3

Gå til Webex kontaktcenteradministrationsportalen.

4

På navigationslinjen i Management Portal skal du vælge Klargøring > skrivebordslayout.

5

Klik på Nyt layout , og angiv detaljerne for skrivebordslayoutet.

6

Upload ServiceNow Desktop Layout JSON-filen.

7

Klik på Gem for at gemme konfigurationen.

Du kan nu starte Webex Contact Center Desktop i ServiceNow-konsollen.

8

Fra feltet Filternavigator skal du navigere til Arbejdsområdet Service Operations.

ServiceNow hjemmeside med Webex Contact Center Agent Desktop integreret med ServiceNow.

I følgende afsnit beskrives trinnene til installation af ServiceNow-connectoren for licenserede virksomhedsforekomster.

1

Logge på din ServiceNow-udviklerportalkonto og åbne administrationskonsollen .

2

Fra området Min forekomst i menuen Konto skal du klikke på Start opbygning.

3

På din udviklerforekomst skal du fra feltet Filternavigator øverst til venstre i vinduet navigere til Plugins.

4

Søg efter Openframe-pluginet, der har titlen Openframe. Du skal muligvis rulle gennem listen.

5

Klik på Installer for at installere Openframe-plugin'et.

6

I dialogboksen Aktivér plugin skal du klikke på Aktivér.

7

Når plugin-aktiveringen er fuldført, skal du klikke på Luk & Genindlæs formular i dialogboksen Plug-in-aktivering .

8

For at bekræfte plugin-aktiveringen skal du navigere til OpenFrame fra feltet Filternavigator øverst til venstre i vinduet.

9

Klik på Konfigurationer , og sørg for, at OpenFrame-plugin'et vises på listen OpenFrame-konfigurationer .

1

I feltet Filternavigator øverst til venstre i vinduet skal du indtaste sys_properties.list.

2

På siden Systemegenskaber skal du sortere egenskaberne efter opdateringsdato. Sørg for, at du kan se følgende Webex egenskaber for kontaktcenter:

3

Klik på agentdesktop_url for at åbne siden Systemegenskab agentdesktop_url side.

4

I feltet Værdi skal du angive URL-adressen til Webex Contact Center Desktop i henhold til aktivitetsområdet.

5

Klik på Opdater for at gemme ændringerne.

6

(Valgfrit) Hvis du vil ændre navnet på aktivitetstabellen, skal du redigere egenskaberne for x_caci_webexcc.webexccactivitytable efter behov.

  1. På siden Systemegenskaber skal du klikke på x_caci_webexcc.webexccactivitytable.

  2. Rediger feltet Værdi efter behov.

7

(Valgfrit) Tilføj brugergrupper på følgende måder:

  1. I feltet Filternavigator øverst til venstre i vinduet skal du navigere til Grupper under Systemsikkerhed.

  2. Klik på Rediger , og tilføj 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 skal du navigere til OpenFrame > Configurations.

2

Klik på Ny.

3

Angiv følgende egenskaber for URL-adressen:

  • Navn: Webex Contact Center Desktop

  • Titel: Webex kontaktcenter

  • Bredde: 550 (anbefales)

  • Højde: 600 (anbefales)

4

Til højre for URL-feltet skal du klikke på knappen Lås og tilføje x_caci_webexcc_agentdesktop.do som URL. (Udfør dette trin for at pege konfiguration til UI-siden)

5

(Valgfrit) Vælg den bruger/de agentgrupper, der skal tildeles konfigurationen.

6

Klik på Send. URL-adressen vises som et link.

7

Fra feltet Filternavigator skal du navigere til Arbejdsområdet Service Operations.

ServiceNow hjemmeside med Webex Contact Center Agent Desktop integreret med ServiceNow.

8

(Valgfrit) På listen Brugergruppe skal du flytte de brugergrupper, der har adgang til Webex Contact Center Desktop fra Tilgængelig til Valgt.

9

Før du forsøger at bruge OpenFrame-telefonen, skal du sørge for at overføre den brugerdefinerede JSON-fil til ServiceNow-skrivebordslayout til Webex Contact Center Management Portal. For yderligere oplysninger, se Konfigurere ServiceNow-skrivebordslayoutet på Webex kontaktcenter.

1

Download skrivebordslayoutet til ServiceNow fra https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

2

Opdater egenskaberne i filen Skrivebordslayout, hvis det er nødvendigt.

3

Gå til Webex kontaktcenteradministrationsportalen.

4

På navigationslinjen i Management Portal skal du vælge Klargøring > skrivebordslayout.

5

Klik på Nyt layout , og angiv detaljerne for skrivebordslayoutet.

6

Upload ServiceNow Desktop Layout JSON-filen.

7

Klik på Gem for at gemme konfigurationen.

Du kan nu starte Webex Contact Center Desktop i ServiceNow-konsollen.

8

Fra feltet Filternavigator skal du navigere til Arbejdsområdet Service Operations.

ServiceNow hjemmeside med Webex Contact Center Agent Desktop integreret med ServiceNow.

1

Fra feltet Filternavigator skal du navigere til Hændelser > Åbn hændelse.

2

Højreklik på opkaldsfeltet, og klik på Konfigurer ordbog.

3

Tilføj kommaseparerede attributter "ref_contributions=show_phone,.

Du kan nu begynde at bruge Webex Contact Center Desktop i ServiceNow-konsollen.

4

Fra feltet Filternavigator skal du navigere til Arbejdsområdet Service Operations.

ServiceNow hjemmeside med Webex Contact Center Agent Desktop integreret med ServiceNow.

Agent Desktop i ServiceNow-konsollen

Før du foretager udgående opkald, skal du sikre dig, at du gør følgende:

  • Opret det udgående indgangspunkt, og konfigurer en strategi for udgående indgangspunkt.

  • Aktivér udgående ANI for agentprofilen.

  • Indstil det udgående ANI til en opkaldsnummer-til-indgangspunkt-tilknytning.

Du kan finde flere oplysninger i kapitlet Klargøring i Cisco Webex Contact Center Opsætnings- og administrationsvejledning.

Fra feltet Filternavigator skal du navigere til Arbejdsområdet Service Operations.

ServiceNow hjemmeside med Webex Contact Center Agent Desktop integreret med ServiceNow.

Du kan finde oplysninger om, hvordan du bruger Desktop, under fanen Agent i Webex Contact Center Hjælp.

Oversigt

I denne artikel beskrives flere måder, hvorpå du kan tilpasse dine forretningsregler for ServiceNow CRM-connectoren. Den beskriver, hvordan du kan tilpasse use cases baseret på forretningsregler, der er specifikke for ServiceNow.

Kunden skal selv administrere disse use cases på ServiceNow. Konfigurationen er specifik for ServiceNow og Webex ikke Contact Center-software eller -ekspertise.

Dette er en referencedokumentation, der hjælper med at ændre forretningsregler. ServiceNow-udviklerne opretter og administrerer forretningsreglerne og yder support.

Cisco leverer kun eksempeldokumentation.

Følgende afsnit indeholder oplysninger om, hvordan du konfigurerer, aktiverer og administrerer widgetten Handlinger for udvikler- og virksomhedsforekomster.

Send widgetten Opdater sæt til handlinger

For de licenserede virksomhedsforekomster skal du installere den nyeste Webex kontaktcenterapp fra ServiceNow-butikken .

Hvis du vil konfigurere widgetten Handlinger for udviklerforekomsterne, skal du downloade den nyeste XML fil med systemopdateringssæt, der er tilgængelig på github-lageret på denne placering: 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 bekræfte opdateringen af widgetten Handlinger, skal du se trin 2 til 9 i Send opdateringssættet.

Widgetten Aktivér handlinger

Brug egenskaben isWidgetDisplayEnabled til at aktivere widgetten Handlinger. Du må ikke ændre denne egenskabs værdi i det brugerdefinerede skrivebordslayouts konsolløse sektion. Egenskaben er altid angivet til falsk i det brugerdefinerede skrivebordslayouts konsolløse sektion. Du bør kun opdatere egenskabens værdi i panelafsnittet i det brugerdefinerede skrivebordslayout.

Når du har aktiveret widgetten Handlinger i det brugerdefinerede skrivebordslayout, kan du udføre følgende handlinger:

  • Administrer aktivitetsposter – Klik på Vis/rediger aktivitetspost for at få vist listen over aktivitetsposter, der er tilknyttet opkalderen.
  • Tilknyt CRM-objekter – Klik på Knyt til aktivitetsposter for at føje CRM-objekter, f.eks. opkaldstype (indgående eller udgående), opkaldsobjekt, opkaldsnoter osv. til aktivitetsposten.
  • Administrer hændelser – Klik på Opret hændelse. Der oprettes en ny hændelse med oplysninger om den person, der ringer op, udfyldt på forhånd. Du kan foretage de nødvendige opdateringer af hændelsen. Du kan vælge at ændre posttypen fra hændelse til sag, HR-modul osv. baseret på dine krav. Hvis du vil ændre posttypen, skal du redigere værdien af egenskaben typeOfRecord i konfigurationen af widgetten Handlinger. For 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" } } ] }
  • Tilføj noter om liveopkald – Du kan registrere yderligere oplysninger om opkaldet i tekstområdet og afslutte opkaldet. Du kan se disse noter tilføjet som opkaldsnoter i aktivitetsposten.

Kodeændring på ServiceNow

Scriptet indeholder ændringer
  1. Gå til filternavigator, og søg efter Script indeholder.

    Vælg scriptet under Systemgrænseflade.

  2. Filtrer navnet , og søg efter propUtiler.

  3. Ændre metoden UserGetSysId I scriptet .

    Kurat:

    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= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },

    Ny prøvekode for hændelsen:

    UserGetSysId: function () { var opened_for; //Incident related changes 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 = ny GlideRecordSecure ('interaktion'); grInt.initialiser (); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid = sysid; returnere JSON.stringify (sysidlist); },

Metodeændring på sider i brugergrænsefladen
  1. Gå til filternavigator, og søg efter UI-siden.

    Vælg sider med brugergrænsefladen under Systemgrænseflade.

  2. Filtrer navnet , og søg efter agentdesktop.

  3. Ændre Screenpop Funktion i klientscript.

    Aktuel funktion:

    screen pop-funktion 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', forespørgsel: 'sys_id='+sysid });

    Eksempelkode for hændelsen:

    screen pop-funktion 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(); // For Incident-related change var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', forespørgsel: '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 opkaldsoplysningerne findes i CRM, og der allerede er åbnet en ny hændelse med denne kontakt, åbner programmet den igangværende hændelse

Hvis opkaldsoplysningerne ikke findes i CRM, åbner programmet en ny hændelse

Hvis opkaldsoplysningerne findes i CRM, åbner programmet en ny hændelse med forudfyldte detaljer

Oversigt

Denne use case beskriver processen med at tilføje en ekstra kolonne til ServiceNow-tabellen - webexcc_imp_activity og oprette sn_openframe_phone_log ved installationen af Webex CC til ServiceNow CRM Connector.

Som standard indeholder tabellen visse systemfelter og værdier, der er standard.

Du kan oprette flere forretningsspecifikke variabler (CAD-variabler) inde i WebexCC Flow-designeren og tilføje CAD-variablerne inde i ServiceNow-aktivitetsloggen efter opkald samt bevare dette til tabeldataene efter opkaldsaktivitet.

Dette er kun en referencedokumentation - og viser, hvordan du gør dette for en CAD-eksempelvariabel kaldet Kundenavn, der gemmer kundenavnet i IVR og sender dette til ServiceNow.

Det forventes, at partner+kundeserviceNow-udviklerne vil konfigurere og administrere denne konfiguration, da det er en tilpasning af den eksisterende connector.

Cisco leverer kun teknikkerne til tilpasning og udvidelse af stikket.

Fra og med denne artikel har Cisco-teamet valideret understøttelse af tilføjelse af CAD-variabler til aktivitetsloggen og aktivitetstabellen ved hjælp af den teknik, der er beskrevet nedenfor:

Føj kolonne til WebexCC IMP-aktivitet

  1. Rediger tabellen i udviklerversionen af ServiceNow.

  2. Gå til filternavigatoren, og søg efter studie.

    Vælg Cisco Webex Contact Center

    eller

  3. Markér feltet WebexCC IMP-aktivitet bord

  4. Tilføj en ny kolonne, f.eks. CustomerName

Føj kolonne til telefonlog

  1. Rediger telefonlogtabellen.

  2. Tilføj en ny kolonne, f.eks. CustomerName.

Kort over WebexCC-aktivitetstransformering

Tilføj en ny kolonne, f.eks. CustomerName felttilknytning.

Tilpasse listekolonner

Som Service nu anbefaler, skal du ændre handlingen Valg fra Opret til Ignorer.

Konfigurer liste over telefonlogfiler

Gå til Script Inkluder

Tilføj kun én linje webexcc.u_customername=actInfo.CustomerName Til propUtils.

Eksempel på script

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

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 // returner null; var grInt = ny GlideRecord ('interaktion'); grInt.initialiser (); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); returnere 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; Denne linje tilføjes - for at registrere den i aktivitetsloggen webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Aktiviteter på hændelsesrekord; var actInfoString =this.getParameter ('actInfo'); var suser = ny 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(); } } } vende tilbage sys_id; }, type: 'propUtils' });

Opret en CAD-variabel i flowdesigner

Føj CAD-variablen til skrivebordslayoutet

Eksempel

"CadName1:SnowField1,CadName2:SnowField2" CadName1 er CustomerName SnowField1 bruges også som CustomerName, som er en del af eksemplet på scirpt showen ovenfor "actInfo.CustomerName".

Demo skærmbilleder

Se den nyligt tilføjede CAD-variabel i WebexCC-aktivitetstabellen.

Opret CAD-variabel til flowdesigner

Hændelsens hastende karakter

Hændelsens indvirkning

Opdatering af Service Now-script

Opdateringer til scriptet omfatter

  1. Gå til filternavigatoren, og søg efter script inkluderer

    Vælg indstillingen Script inkluderer under Systemgrænseflade.

  2. Filtrer navnet med propUtils.

  3. Ændre metoden UserGetSysId I feltet Script .

    Nuværende script:

    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= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },

    Ny prøvekode for hændelsen:

    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='Opkald modtaget fra '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = ny GlideRecordSecure ('interaktion'); grInt.initialiser (); 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 metodeændring på brugergrænsefladesider
  1. Gå til filternavigatoren, og søg efter sider ibrugergrænsefladen.

    Vælg indstillingen Brugergrænsefladesider under Systemgrænseflade.

  2. Filtrer siderne på brugergrænsefladen med Navn, og søg efter agentdesktop.

  3. Ændre Screenpop Funktion i feltet Script.

    Aktuel funktion:

    screen pop-funktion 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', forespørgsel: 'sys_id='+sysid }); }

    Eksempelkode for hændelsen:

    screen pop-funktion 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('værdi', 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', forespørgsel: '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 opkaldsoplysningerne findes i CRM, og der ikke er nogen ny eller igangværende hændelse, åbner programmet en ny hændelse

Skift koden på ServiceNow

Føj nye kolonner til WebexCC IMP-aktivitet bord

Åbn WebexCC IMP-aktivitet bord

Tilføj en ny kolonne - InteraktionsNumber

Tilføj en ny kolonne - IncidentNumber

Klik på Opdater.

Føj nye kolonner til Telefonlogfil bord

Åbn Telefonlogfil bord

Tilføj en ny kolonne - InteraktionsNumber

Tilføj en ny kolonne - IncidentNumber

Kort over WebexCC-aktivitetstransformering

Åbn Transformér kort Fra filternavigatoren

Klik på WebexCC-aktivitetstransformkort

Tilføj ny - til interaktionsnummertilknytning

Tilføj ny - til hændelsesnummeroversigt

Klik på Opdater.

Ændringer af scriptet omfatter

  1. Gå til filternavigator, og søg efter "script inkluderer".

    Vælg scriptet under Systemgrænseflade.

  2. Filtrer navnet med propUtiler.

  3. Ændre metoden setWebexcctable.

    Ny prøvekode for hændelse:

    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()) { //Activities on Incident record; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; slet actInfo['interaction_sys_id']; slet 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("telefon", 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(); } returnere sys_id; },

Metodeændringer på sider i brugergrænsefladen

  1. Gå til filternavigator, og søg efter Brugergrænsefladesider

    Vælg indstillingen Brugergrænsefladesider under Systemgrænseflade.

  2. Filtrer siderne på brugergrænsefladen med Navn, og søg efter agentdesktop.

  3. Ændre nuAktiviteter og screenpop Funktion i scriptet.

    Aktuel funktion:

    funktion 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 hændelsen:

    funktion 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); } funktion 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', forespørgsel: '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 efter opdateringen

Følgende tilpasninger gælder for version 1.0.5 og ældre. For tilpasninger til de nyere versioner 1.0.7 og nyere skal du følge trinnene ovenfor.

Tilpasning # 1 – Tilføj brugerdefinerede forretningsregler for use cases for opkaldsflow

Oprette en ny hændelsespost for hvert opkald

For hvert nyt opkald til WebexCC CRM-connectoren i ServiceNow skal du oprette en ny hændelsespost.

  1. Søg efter forretningsregler i filternavigatoren

  2. Klik på Ny.

    Eksempelkode til reference:

    funktion 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 ("navn", 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; } answer = url; returnere URL; } funktion UserGetSysId(field, value) { var user = new GlideRecord("sys_user"); user.addQuery(field, value); user.query(); if (user.next()) return user.sys_id; ellers return null; }

    Eksempelkonfiguration af forretningsreglen

  3. Aktivér klient, der kan kaldes

    Computer Telephony Integration (CTI) Behandling for hændelse er markeret som Sand.

  4. Opdater screenpop-url'en med den brugerdefinerede CTI-regel " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="

Eksempel

Det sysparm_cti_rule=navn , hvor 'navn' er navnet på en funktion , skal påberåbes CTI Behandling i stedet for at bruge standardscriptet.

Definer funktionen i en sys_script post, der er markeret som klient, der kan kaldes.

Hvis du skal indsætte, opdatere eller slette GlideRecords i funktionen, skal du kalde en separat ikke-klientkaldbar funktion for at udføre opdateringerne.

Hvis du vil gøre et script klientkaldbart, skal du markere afkrydsningsfeltet for klientkaldbare i den formular, der vises, når posten sys_script vises.

Afkrydsningsfeltet for klienten vises ikke som standard. For at se skal du ændre de felter, der vises på formularen, ved hjælp af tandhjulsikonet og slush bucket-mekanismen.

Referencer

Tilpasning # 2 - Tilføj CAD-variabel i Webex kontaktcenteraktivitetstabel

Oversigt

I denne artikel beskrives processen til tilføjelse af en ekstra kolonne til ServiceNow-tabellen - webexcc_activity, der oprettes ved installationen af Webex CC for ServiceNow CRM Connector.

Tabellen indeholder som standard systemfelter og værdier, der er standard.

Du kan potentielt oprette flere forretningsspecifikke variabler (CAD-variabler) inde i WebexCC Flow-designeren og tilføje disse CAD-variabler i ServiceNow-aktivitetsloggen efter opkald og bevare dette til tabeldataene efter opkaldsaktivitet.

  • Dette er kun referencedokumentation - og viser, hvordan du gør dette for en CAD-eksempelvariabel kaldet Kundenavn, der gemmer kundenavnet i IVR og sender dette til ServiceNow.

  • Partner+kunden ServiceNow-udviklerne konfigurerer og administrerer denne konfiguration, da det er en tilpasning af den eksisterende connector.

  • Cisco leverer kun de teknikker, der bruges til at tilpasse og udvide stikket.

  • Fra og med denne artikel har Cisco-teamet valideret understøttelse af tilføjelse af CAD-variabler til aktivitetsloggen og aktivitetstabellen ved hjælp af den teknik, der er beskrevet nedenfor.

Føj kolonne til WebexCC-aktivitet
  1. Rediger tabellen i udviklerversionen af ServiceNow.

  2. Gå til Studio > Webex kontaktcenter.

  3. Vælg WebexCC-aktivitetstabel .

  4. f.eks. . CustomerName.

  5. Vælg Listelayout for WebexCC-aktivitet.

Opret et nyt script indeholder

Dette trin er ikke påkrævet, hvis du bruger Update Set XML – Der kræves kun én linje, før der tilføjes "webexcc.u_customername=actInfo.CustomerName" til proUtils.

Eksempel på script

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

var propUtils2 = klasse.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 linje er tilføjet - for at registrere den i aktivitetsloggen webexcc. u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Aktiviteter på hændelsesrekord; var actInfoString =this.getParameter ('actInfo'); var suser = ny 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(acting string),null,2); inc.comments =jsonPretty; inc.update(); } } } vende tilbage sys_id; }, type: 'propUtils2' });
Rediger siden Brugergrænseflade med et nyt scriptnavn

Opret en CAD-variabel i flowdesigner

Føj CAD-variablen til skrivebordslayoutet

Demo skærmbilleder

Se den nyligt tilføjede CAD-variabel i WebexCC-aktivitetstabellen.