Integrer Webex Contact Center med ServiceNow (Version 1—Legacy)
Forudsætninger
I øjeblikket gælder denne funktion kun for agenter.
Før du integrerer Webex Contact Center med ServiceNow CRM-konsollen, skal du sikre dig, at du har følgende:
-
Adgang til Webex Contact Center.
-
Administratoradgang til Control Hub på https://admin.webex.com og Webex Contact Center Management Portal. URL-adresserne til Management Portal er specifikke for dit område.
-
En agent med adgang til skrivebordet. URL-adressen til skrivebordet er specifik for dit område.
-
Agentadgang til følgende domæne, der tilføjes på listen Tilladt indholdssikkerhedspolitik:
-
*.service-now.com
Du kan finde flere oplysninger om, hvordan du definerer listen over tilladte, i artiklen Sikkerhedsindstillinger for Webex Contact Center.
-
-
En ServiceNow udviklerportalkonto. For at oprette en konto skal du gå til ServiceNow-udviklerportalen på https://developer.servicenow.com/dev.do og klikke på Tilmeld dig og begynd at bygge.
-
Adgang til følgende filer på https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
ServiceNow Update Set (XML)
-
ServiceNow skrivebordslayout for kontaktcenter (JSON)
-
- ServiceNow-udgaverne, som Webex Contact Center understøtter, er Vancouver, Utah, Tokya, Washington og Xanadu. Du kan finde flere oplysninger under Webex Contact Center Integration med ServiceNow.
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 fil med XML 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 . |
3 |
Klik på linket Importer opdateringssæt fra XML . |
4 |
Klik på Vælg fil, vælg filen Systemopdateringssæt XML, 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 |
2 |
På siden Systemegenskaber skal du sortere egenskaberne efter opdateringsdato. Sørg for, at du kan se følgende Webex Contact Center egenskaber: |
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 driftsområ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 |
Fra feltet Filternavigator skal du navigere til . |
2 |
Klik på Ny. |
3 |
Angiv følgende egenskaber for URL-adressen:
|
4 |
Til højre for URL-feltet skal du klikke på knappen Lås og tilføje |
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-administrationsportalen. For yderligere oplysninger, se Opsætning af ServiceNow-skrivebordslayoutet på Webex Contact Center. |
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 Contact Center Management Portal. |
4 |
På navigationslinjen i Management Portal skal du vælge . |
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 Service Operations. |
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 |
I din udviklerinstans skal du navigere til Plugins fra feltet Filternavigator øverst til venstre i vinduet . |
4 |
Søg efter Openframe-pluginnet med titlen **Openframe** . Du skal muligvis rulle gennem listen. |
5 |
Klik på Installer for at installere Openframe-plugin'et. |
6 |
I dialogboksen Aktiver plugin skal du klikke på Aktiver. |
7 |
Når plugin-aktiveringen er fuldført, skal du klikke på Luk og genindlæs formular i dialogboksen Plugin-aktivering . |
8 |
For at bekræfte plugin-aktiveringen skal du fra feltet Filternavigator øverst til venstre i vinduet navigere til OpenFrame. |
9 |
Klik på Konfigurationer og sørg for, at OpenFrame-plugin'et vises på listen OpenFrame-konfigurationer . |
Instanser med virksomhedslicenser kan installere Webex Contact Center-applikationen direkte fra ServiceNow Store.
Download og installer Webex Contact Center-pakken fra ServiceNow-butikken: https://store.servicenow.com/sn_appstore_store.do#!/store/application/6c8e2a4edbc73410e1c75e25ca961947. |
1 |
I feltet Filternavigator øverst til venstre i vinduet skal du indtaste |
2 |
På siden Systemegenskaber skal du sortere egenskaberne efter opdateringsdato. Sørg for, at du kan se følgende Webex Contact Center egenskaber: |
3 |
Klik på agentdesktop_url for at åbne siden Systemegenskab agentdesktop_url . |
4 |
I feltet Værdi skal du indtaste URL'en til Webex Contact Center-skrivebordet i henhold til driftsregionen.
|
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.
|
7 |
(Valgfrit) Tilføj brugergrupper på følgende måder:
|
1 |
Fra feltet Filternavigator skal du navigere til . |
2 |
Klik på Ny. |
3 |
Indtast følgende egenskaber for URL'en:
|
4 |
Til højre for feltet URL skal du klikke på knappen Lås og tilføje |
5 |
(Valgfrit) Vælg de bruger-/agentgrupper, der skal tildeles konfigurationen. |
6 |
Klik på Send. URL'en vises som et link. |
7 |
Fra den Filternavigator felt, naviger til . |
8 |
(Valgfrit) I Brugergruppe liste, flyt de brugergrupper, der kan få adgang til Webex Contact Center skrivebordet fra Tilgængelig til Valgt. |
9 |
Før du forsøger at bruge OpenFrame-telefonen, skal du sørge for at uploade ServiceNow-JSON-filen med brugerdefineret skrivebordslayout til Webex Contact Center-administrationsportalen. For yderligere information, se Opsæt ServiceNow-skrivebordslayoutet på Webex Contact Center. |
1 |
Download skrivebordslayoutet til ServiceNow fra https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
Opdater egenskaberne i skrivebordslayoutfilen, hvis det er nødvendigt. |
3 |
Gå til Webex Contact Center administrationsportalen. |
4 |
Fra navigationslinjen i administrationsportalen skal du vælge . |
5 |
Klik på Nyt layout og indtast oplysningerne for skrivebordslayoutet. |
6 |
Upload JSON-filen med ServiceNow Desktop Layout. |
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 . |
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 Du kan nu begynde at bruge Webex Contact Center-skrivebordet i ServiceNow-konsollen. |
4 |
Fra feltet Filternavigator skal du navigere til . |
Vi understøtter kun login på Agent Desktop ved hjælp af WebRTC til Salesforce (SFDC) og Microsoft Dynamics (MS Dynamics) Connectors.
Agent Desktop i ServiceNow-konsollen
Før du foretager udgående opkald, skal du sørge for at gøre følgende:
-
Opret det udendørs indgangspunkt, og opsæt en strategi for det udendørs indgangspunkt.
-
Aktiver outdial ANI for agentprofilen.
-
Indstil outdial ANI til en kortlægning af opkaldsnummer til indgangspunkt.
For yderligere oplysninger, se kapitlet Provisionering i Cisco Webex Contact Center opsætnings- og administrationsvejledningen.
Fra feltet Filternavigator skal du navigere til .
For information om brug af Desktop, se Agent Tab i Webex Contact Center hjælpen.
Oversigt
Denne artikel dækker flere måder at tilpasse dine forretningsregler til 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 ikke Webex Contact Center software eller ekspertise.
Dette er en referencedokumentation, der skal hjælpe med at ændre forretningsregler. ServiceNow-udviklerne vil oprette og administrere forretningsreglerne og yde support.
Cisco leverer kun eksempeldokumentation.
De følgende afsnit indeholder oplysninger om, hvordan du konfigurerer, aktiverer og administrerer Handlinger-widgetten for udvikler- og virksomhedsinstanser.
Bekræft opdateringssættet til handlingswidgeten
For de licenserede virksomhedsinstanser skal du installere den nyeste Webex Contact Center-app fra ServiceNow-butikken.
For at konfigurere Handlinger-widgetten til udviklerinstanserne skal du downloade den seneste systemopdateringsfil XML, som er tilgængelig på github-repoet 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. For at bekræfte opdateringssættet til Handlinger-widgetten skal du se trin 2 til 9 i Bekræft opdateringssættet.
Aktivér handlingswidget
Brug egenskaben isWidgetDisplayEnabled til at aktivere Handlinger-widgetten. Du må ikke ændre denne egenskabs værdi i den headless-sektion af det brugerdefinerede skrivebordslayout. Egenskaben er altid indstillet til falsk i den headless-sektion af det brugerdefinerede skrivebordslayout. Du bør kun opdatere egenskabens værdi i panelsektionen af det brugerdefinerede skrivebordslayout.
Når du har aktiveret Handlinger-widgetten i det brugerdefinerede skrivebordslayout, kan du udføre følgende handlinger:
- Administrer aktivitetsregistreringer – Klik på Vis/rediger aktivitetsregistrering for at se listen over aktivitetsregistreringer, der er knyttet til den, der ringer op.
- Tilknyt CRM-objekter – Klik på Tilknyt til aktivitetsposter for at tilføje CRM-objekter såsom opkaldstype (indgående eller udgående), opkaldsobjekt, opkaldsnoter osv. til aktivitetsposten.
- Administrer hændelser – Klik på Opret hændelse. En ny hændelse oprettes med oplysninger om den, der ringer op, forudfyldt. Du kan foretage de nødvendige opdateringer til hændelsen. Du kan vælge at ændre posttypen fra hændelse til sag, HR-modul osv. baseret på dine behov. For at ændre posttypen skal du ændre værdien af typeAfRekord egenskab i konfigurationen af Handlinger-widgeten. 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" : "Opret hændelse" }, "wrapper": { "title": "SNOW-handlinger!", "maximizeAreaName": "app-maximize-area" } } ] }
- Tilføj liveopkaldsnotater – 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-
Gå til filternavigatoren og søg efter
Manuskriptet inkluderer
.Vælg Script inkluderer under Systemgrænseflade.
-
Filtrer navnet og søg efter
propUtils
. -
Ændr metoden
BrugerGetSysId
i skriptet.Nuværende:
UserGetSysId: function () { var opened_for; var bruger = new GlideRecord("sys_user"); bruger.addQuery(this.getParameter('field'),this.getParameter('value')); bruger.query(); if (bruger.next()) opened_for=bruger.sys_id; var grInt = new GlideRecord('interaktion'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); return sysid; },
Ny eksempelkode til hændelsen:
UserGetSysId: function () { var opened_for; // Hændelsesrelaterede ændringer 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='Opkald modtaget fra '+ this.getParameter('value'); sysidlist.incsysid=inc.Insert(); } } var grInt = new GlideRecordSecure('interaktion'); 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); },
-
Gå til filternavigatoren og søg efter
UI-side
.Vælg UI-sider under Systemgrænseflade.
-
Filtrer navnet og søg efter
agentdesktop
. -
Ændr
skærmbillede
Funktion i Klientscript.Nuværende funktion:
// skærm pop op 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', query: 'sys_id='+sysid }); * ...
Eksempelkode for hændelsen:
// skærmvisning 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 hændelsesrelateret ændring 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 opkalderoplysningerne findes i CRM, og der allerede er en ny hændelse åbnet med denne kontakt, åbner applikationen den igangværende hændelse.
Hvis opkalderoplysningerne ikke findes i CRM, åbner applikationen en ny hændelse
Hvis oplysningerne om den, der ringer op, findes i CRM, åbner applikationen en ny hændelse med forudfyldte oplysninger.
Oversigt
Denne use case beskriver processen for at tilføje en ekstra kolonne til ServiceNow-tabellen - webexcc_imp_activity - og oprette sn_openframe_phone_log ved installation af Webex CC til ServiceNow CRM Connector.
Som standard indeholder tabellen visse standardsystemfelter og -værdier.
Du kan oprette flere forretningsspecifikke variabler (CAD-variabler) i WebexCC Flow-designeren og tilføje CAD-variablerne i ServiceNow POST-opkaldsaktivitetsloggen samt bevare dette i POST-opkaldsaktivitetstabellens data.
Dette er kun en referencedokumentation - og viser, hvordan man gør dette for en eksempel-CAD-variabel kaldet Kundenavn, der gemmer kundenavnet i IVR og sender dette til ServiceNow.
Det forventes, at Partner+Customer ServiceNow-udviklerne vil konfigurere og administrere denne konfiguration, da det er en tilpasning af den eksisterende connector.
Cisco leverer kun teknikker til, hvordan man tilpasser og udvider forbindelsen.
Fra og med denne artikel har Cisco-teamet valideret understøttelsen af tilføjelsen af CAD-variabler til aktivitetsloggen og aktivitetstabellen ved hjælp af teknikken beskrevet nedenfor:
Tilføj kolonne til WebexCC IMP-aktivitet
-
Rediger tabellen i udviklerversionen af ServiceNow.
-
Gå til filternavigatoren og søg efter studio.
Vælg
Cisco Webex Contact Center
eller
-
Vælg
WebexCC IMP-aktivitet
tabel -
Tilføj en ny kolonne, for eksempel
Kundenavn
Tilføj kolonne til telefonlog
-
Rediger telefonlogtabellen.
-
Tilføj en ny kolonne, for eksempel
Kundenavn
.
WebexCC-aktivitetstransformationskort
Tilføj en ny kolonne, for eksempel Kundenavn
feltkortlægning.
Tilpas listekolonner
Som Service Now anbefaler, skal du ændre handlingen Valg fra opret til ignorer.
Konfigurer telefonlogliste
Gå til Scriptinkludering
Tilføj kun én linje webexcc.u_kundenavn=actInfo.Kundenavn
Til propUtils.
Se linjen: webexcc.u_kundenavn=actInfo.Kundenavn; med en stø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 karakterHændelsens indvirkning
Opdatering af Service Now-script
Opdateringer til scriptet omfatter
-
Gå til filternavigatoren, og søg efter
script inkluderer
Vælg indstillingen Script inkluderer under Systemgrænseflade.
-
Filtrer navnet med
propUtils
. -
Ændre metoden
UserGetSysId
I feltet Script .Nuværende script:
UserGetSysId: funktion () { 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='telefon'; 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; },
-
Gå til filternavigatoren, og søg efter sider
i
brugergrænsefladen.Vælg indstillingen Brugergrænsefladesider under Systemgrænseflade.
-
Filtrer siderne på brugergrænsefladen med Navn, og søg efter
agentdesktop
. -
Æ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-aktivitetbord
Klik på Opdater.
Føj nye kolonner til Telefonlogfil
bord
Åbn Telefonlogfil
bord
Kort over WebexCC-aktivitetstransformering
Åbn Transformér kort
Fra filternavigatoren
Klik på WebexCC-aktivitetstransformkort
Klik på Opdater.
Ændringer af scriptet omfatter
-
Gå til filternavigator, og søg efter "script inkluderer".
Vælg scriptet under Systemgrænseflade.
-
Filtrer navnet med
propUtiler
. -
Æ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
-
Gå til filternavigator, og søg efter
Brugergrænsefladesider
Vælg indstillingen Brugergrænsefladesider under Systemgrænseflade.
-
Filtrer siderne på brugergrænsefladen med Navn, og søg efter
agentdesktop
. -
Æ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 opkaldFor hvert nyt opkald til WebexCC CRM-connectoren i ServiceNow skal du oprette en ny hændelsespost.
Søg efter forretningsregler i filternavigatoren
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
Aktivér klient, der kan kaldes
CTI (Computer Telephony Integration) Behandling for hændelse er markeret som Sand.
Opdater screenpop-url'en med den brugerdefinerede CTI-regel " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="
Det sysparm_cti_rule=navn , hvor 'navn' er navnet på en funktion , skal påberåbes for 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 Insert, 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.
Tilpasning # 2 - Tilføj CAD-variabel i Webex Contact Center aktivitetstabel
OversigtI denne artikel beskrives processen til tilføjelse af en ekstra kolonne til tabellen ServiceNow - 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 POST opkaldsaktivitetsloggen og fortsætte dette til POST-opkaldsaktivitetstabeldataene .
-
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 vil kun give teknikkerne til, hvordan du tilpasser og udvider stikket.
-
Fra og med denne artikel har Cisco-teamet valideret understøttelse af tilføjelsen af CAD-variabel til aktivitetsloggen og aktivitetstabellen ved hjælp af teknikken beskrevet nedenfor.
Rediger tabellen i udviklerversionen af ServiceNow.
Gå til Studio
.Vælg WebexCC-aktivitetstabel .
f.eks. . CustomerName.
Vælg Listelayout for WebexCC-aktivitet.
Dette trin er ikke påkrævet, hvis du bruger opdateringssættet XML - Der kræves kun én linje, der skal føjes "webexcc.u_customername=actInfo.CustomerName" til proputils.

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.
