Förutsättningar

För närvarande gäller den här funktionen endast för agenter.

Innan du integrerar Webex Contact Center med Crm-konsolen för ServiceNow måste du se till att du har följande:

Följ en av de två metoderna nedan:

För utvecklarinstanser rekommenderar vi att du följer stegen i guiden för utvecklarinstanser.

Om du äger en företagslicensierad instans följer du riktlinjerna för företagslicensierade instanser.

Vi rekommenderar inte att du blandar den företagslicensierade appen med utvecklarnas sandlåda-instanser.

Följande avsnitt beskriver stegen för att installera ServiceNow-anslutningen för utvecklarinstanser.

1

Logga in på ditt ServiceNow-utvecklarportalkonto och öppna administrationskonsolen .

2

I området Mitt instans i kontomenyn klickar du på Börja bygga.

3

På din utvecklarinstans, från Filternavigator fältet längst upp till vänster i fönstret, navigera till Insticksprogram.

4

Sök efter plugin-programmet Openframe med titeln Openframe. Du kanske måste bläddra igenom listan.

5

Klicka på Installera för att installera insticksprogrammet för Openframe.

6

Klicka på Aktivera i dialogruta aktiveringsmodulen .

7

När aktiveringen av plugin-programmet är slutförd klickar du på Stäng och uppdatera formulär i dialogrutan Aktivering av plugin-program .

8

Om du vill verifiera insticksprogrammets aktivering går du till OpenFrame i fältet Filtrera navigator längst upp till vänster i fönstret.

9

Klicka på Konfigurationer och se till att insticksprogrammet OpenFrame visas i listan OpenFrame-konfigurationer .

1

Hämta den senaste XML-filen för systemuppdateringsuppsättning som finns tillgänglig på github-repo på den här platsen: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

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

2

På din ServiceNow-instans, från fältet Filternavigator längst upp till vänster i fönstret, navigerar du till Systemuppdateringsuppsättningar > Uppdatera uppsättningar till engagemang.

3

Klicka på Länken Importera uppdateringsuppsättning från XML .

4

Klicka på Välj fil, välj XML-filen för systemuppdateringsuppsättning och klicka sedan på Överför.

Uppdateringsuppsättningen visas i listan hämtade uppdateringsuppsättningar och är i inläst tillstånd.
5

I listan Hämtade uppdateringsuppsättningar klickar du på filnamnet för uppdateringsuppsättningen (länken) för att öppna uppdateringsuppsättningen.

6

Klicka på Preview Update Set (Förhandsgranska uppdateringsuppsättning ) längst upp till höger i fönstret för att kontrollera om det finns problem i uppdateringsuppsättningen.

7

Klicka på Stäng i dialogrutan Uppdatera inställning för förhandsgranskning när förhandsgranskningen är klar.

8

Klicka på Bekräfta uppdaterings uppsättning.

9

Klicka på Stäng i dialogrutan Förbind uppdateringsuppsättning när du har slutfört implementeringen av uppdateringsuppsättningen.

1

I fältet Filternavigator längst upp till vänster i fönstret skriver du sys_properties.list och trycker på Retur.

2

På sidan Systemegenskaper sorterar du egenskaperna efter uppdaterat datum. Kontrollera att du kan se följande Webex Contact Center-egenskaper :

3

Klicka agentdesktop_url för att öppna sidan Systemegenskap agentdesktop_url .

4

I fältet Värde anger du URL:en till Webex Contact Center-skrivbordet enligt region.

5

Klicka på Uppdatera för att spara ändringarna.

6

(Valfritt) För att ändra tabellnamnet för aktivitet redigerar du de webexccactivitytable-egenskaper som krävs.

På sidan Systemegenskaper klickar du på webexccactivitytable.

Ändra fältet Värde efter behov.

7

(Valfritt) Lägg till användargrupper på följande sätt:

  1. I fältet Filternavigator längst upp till vänster i fönstret navigerar du till Grupper under Systemsäkerhet.

  2. Skapa en ny användargrupp eller använd en befintlig.

  3. Klicka på Redigera.

  4. Sök efter sn_openframe_user under Samling och flytta den till din användargrupp.

  5. Klicka på Spara.

  6. Lägg till användaren som en gruppmedlem.

1

Gå till fältet Filtrera navigator och navigera till OpenFrame > Configurations.

2

Klicka på Ny.

3

Ange följande egenskaper för URL:en:

  • Namn: Skrivbord för Webex Contact Center

  • Befattning: Webex Contact Center

  • Bredd: 550 (rekommenderas)

  • Höjd: 600 (rekommenderas)

4

Till höger om fältet URL klickar du på knappen Lås och lägger till agentdesktop.do som URL. (Gör det här steget för att rikta konfigurationen mot användargränssnittet)

5

(Valfritt) Välj användar-/agentgrupp(er) för att tilldela konfigurationen.

6

Klicka på Skicka in. URL:en visas som en länk.

7

Innan du försöker använda OpenFrame-telefonen ska du se till att du laddar upp JSON-filen för anpassad skrivbordslayout för ServiceNow till portalen Hantering av Webex Contact Center. Mer information finns i Konfigurera skrivbordslayouten för ServiceNow i Webex Contact Center.

1

Hämta skrivbordslayouten för ServiceNow från https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

2

Uppdatera egenskaperna i filen för skrivbordslayout om det behövs.

3

Gå till portalen Hantering av Webex Contact Center .

4

Från navigeringsraden i hanteringsportalen väljer du Etablering > Skrivbordslayout.

5

Klicka på Ny layout och ange uppgifter om skrivbordslayouten.

6

Överför JSON-filen för ServiceNows skrivbordslayout.

7

Spara konfigurationen genom att klicka på Slutför.

Nu kan du starta skrivbordet för Webex Contact Center i ServiceNow-konsolen.

8

Från fältet Filternavigator navigerar du till Arbetsyta för tjänstedrift.

Startsidan för ServiceNow med Webex Contact Center Agent Desktop integrerat med ServiceNow.

Följande avsnitt beskriver stegen för att installera ServiceNow-anslutningen för licensierade företagsinstanser.

1

Logga in på ditt ServiceNow-utvecklarportalkonto och öppna administrationskonsolen .

2

I området Mitt instans i kontomenyn klickar du på Börja bygga.

3

På din utvecklarinstans, från Filternavigator fältet längst upp till vänster i fönstret, navigera till Insticksprogram.

4

Sök efter plugin-programmet Openframe med titeln Openframe. Du kanske måste bläddra igenom listan.

5

Klicka på Installera för att installera insticksprogrammet för Openframe.

6

Klicka på Aktivera i dialogruta aktiveringsmodulen .

7

När aktiveringen av plugin-programmet är slutförd klickar du på Stäng och uppdatera formulär i dialogrutan Aktivering av plugin-program .

8

Om du vill verifiera insticksprogrammets aktivering går du till OpenFrame i fältet Filtrera navigator längst upp till vänster i fönstret.

9

Klicka på Konfigurationer och se till att insticksprogrammet OpenFrame visas i listan OpenFrame-konfigurationer .

1

I fältet Filtrera navigator längst upp till vänster i fönstret anger du sys_properties.list.

2

På sidan Systemegenskaper sorterar du egenskaperna efter uppdaterat datum. Kontrollera att du kan se följande Webex Contact Center-egenskaper :

3

Klicka agentdesktop_url för att öppna sidan Systemegenskap agentdesktop_url .

4

I fältet Värde anger du URL:en till Webex Contact Center-skrivbordet enligt region.

5

Klicka på Uppdatera för att spara ändringarna.

6

(Valfritt) Om du vill ändra namnet på aktivitetstabellen redigerar du egenskaperna för x_caci_webexcc.webexccactivitytable efter behov.

  1. På sidan Systemegenskaper klickar du på x_caci_webexcc.webexccactivitytable.

  2. Ändra fältet Värde efter behov.

7

(Valfritt) Lägg till användargrupper på följande sätt:

  1. I fältet Filternavigator längst upp till vänster i fönstret navigerar du till Grupper under Systemsäkerhet.

  2. Klicka på Redigera och lägg till följande 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

Gå till fältet Filtrera navigator och navigera till OpenFrame > Configurations.

2

Klicka på Ny.

3

Ange följande egenskaper för URL:en:

  • Namn: Skrivbord för Webex Contact Center

  • Befattning: Webex Contact Center

  • Bredd: 550 (rekommenderas)

  • Höjd: 600 (rekommenderas)

4

Till höger om fältet URL klickar du på knappen Lås och lägger till x_caci_webexcc_agentdesktop.do som URL. (Gör det här steget för att rikta konfigurationen mot användargränssnittet)

5

(Valfritt) Välj användar-/agentgrupp(er) för att tilldela konfigurationen.

6

Klicka på Skicka in. URL:en visas som en länk.

7

Från fältet Filternavigator navigerar du till Arbetsyta för tjänstedrift.

Startsidan för ServiceNow med Webex Contact Center Agent Desktop integrerat med ServiceNow.

8

(Valfritt) I listan Användargrupp flyttar du användargrupperna som kan komma åt Webex Contact Center Desktop från Tillgänglig till Vald.

9

Innan du försöker använda OpenFrame-telefonen ska du se till att du laddar upp JSON-filen för anpassad skrivbordslayout för ServiceNow till portalen Hantering av Webex Contact Center. Mer information finns i Konfigurera skrivbordslayouten för ServiceNow i Webex Contact Center.

1

Hämta skrivbordslayouten för ServiceNow från https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

2

Uppdatera egenskaperna i filen för skrivbordslayout om det behövs.

3

Gå till portalen Hantering av Webex Contact Center .

4

Från navigeringsraden i hanteringsportalen väljer du Etablering > Skrivbordslayout.

5

Klicka på Ny layout och ange uppgifter om skrivbordslayouten.

6

Överför JSON-filen för ServiceNows skrivbordslayout.

7

Spara konfigurationen genom att klicka på Slutför.

Nu kan du starta skrivbordet för Webex Contact Center i ServiceNow-konsolen.

8

Från fältet Filternavigator navigerar du till Arbetsyta för tjänstedrift.

Startsidan för ServiceNow med Webex Contact Center Agent Desktop integrerat med ServiceNow.

1

Från fältet Filternavigator navigerar du till Incidenter > Öppna incidenter.

2

Högerklicka på fältet för inringare och klicka på Konfigurera ordbok.

3

Lägg till kommaavgränsade Attribut ”ref_contributions=show_phone,.

Du kan nu börja använda Webex Contact Center-skrivbordet i ServiceNow-konsolen.

4

Från fältet Filternavigator navigerar du till Arbetsyta för tjänstedrift.

Startsidan för ServiceNow med Webex Contact Center Agent Desktop integrerat med ServiceNow.

Vi har för närvarande inte stöd för inloggning till Agent Desktop med skrivbordsalternativet (WebRTC).

Agentskrivbord i ServiceNow-konsolen

Innan du ringer upp uppringda samtal ska du se till att göra följande:

  • Skapa en outdial entry point och ange en outdial start punkt strategi.

  • Aktivera uppringning ANI för agentprofilen.

  • Ställ in uppringnings-ANI på en mappning med nummer-till-startpunkt.

Mer information finns i kapitlet Reservering i Konfigurations- och administrationsguide för Cisco Webex Contact Center.

Från fältet Filternavigator navigerar du till Arbetsyta för tjänstedrift.

Startsidan för ServiceNow med Webex Contact Center Agent Desktop integrerat med ServiceNow.

Mer information om hur du använder skrivbordet finns på fliken Agent i hjälpen till Webex Contact Center.

Översikt

Den här artikeln beskriver flera sätt att anpassa dina affärsregler för ServiceNow CRM-anslutningen. Här beskrivs hur du kan anpassa användningsfallen baserat på affärsregler som är specifika för ServiceNow.

Kunden måste själv hantera dessa användningsfall på ServiceNow. Konfigurationen är specifik för ServiceNow och inte för Webex Contact Center-programvara eller -expertis.

Detta är en referensdokumentation som hjälper till att ändra företagsreglerna. ServiceNow-utvecklarna skapar och hanterar affärsreglerna och tillhandahåller support.

Cisco tillhandahåller endast exempeldokumentation.

Följande avsnitt innehåller information om hur du konfigurerar, aktiverar och hanterar åtgärdskomponenten för utvecklings- och företagsinstanser.

Förbind uppdateringsuppsättningen för åtgärdskomponenten

För licensierade företagsinstanser installerar du den senaste Webex Contact Center-appen från ServiceNow-butiken.

Om du vill konfigurera widgeten Actions för utvecklarinstanser hämtar du den senaste XML-filen för systemuppdateringsuppsättning som finns tillgänglig på github-repo på den här platsen: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Filnamnet är webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Se steg 2 till 9 i Förbinda uppdateringsuppsättningen om du vill utföra uppdateringsuppsättningen för widgeten Actions.

Aktivera widget för åtgärder

Använd egenskapen isWidgetDisplayEnabled för att aktivera widgeten Actions. Du får inte ändra den här egenskapens värde i avsnittet för den anpassade skrivbordslayouten. Egenskapen är alltid inställd på false i den anpassade skrivbordslayoutens huvudlösa avsnitt. Du bör endast uppdatera egenskapens värde i panelavsnittet i den anpassade skrivbordslayouten.

När du har aktiverat widgeten Åtgärder i den anpassade skrivbordslayouten kan du utföra följande åtgärder:

  • Hantera aktivitetsposter – klicka på Visa/redigera aktivitetspost för att visa listan med aktivitetsposter som är associerade med uppringaren.
  • Associera CRM-objekt – klicka på Associera till aktivitetsposter för att lägga till CRM-objekt som samtalstyp (inkommande eller utgående), samtalsobjekt, samtalsanteckningar och så vidare i aktivitetsposten.
  • Hantera incidenter – klicka på Skapa incident. En ny incident skapas med inringningsinformationen ifylld. Du kan göra de nödvändiga uppdateringarna av incidenten. Du kan välja att ändra registreringstypen från incident till fall, HR-modul och så vidare baserat på dina krav. Om du vill ändra inspelningstypen ändrar du värdet för egenskapen typeOfRecord i widgetkonfigurationen för åtgärder. Till exempel:
    {"comp": "md-tab-panel", "attribut": {"slot": "panel", "class": "widget-pane" }, "barn": [{"comp": "agentx-custom-desktop", "skript": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "egenskaper": {"isWidgetDisplayEnabled": sant, "typeOfRecord": "Skapa incident" }, "wrapper": {"title": "SNOW Actions!", "maximizeAreaName": "app-maximize-area" } } ] }
  • Lägg till live-samtalsanteckningar – Du kan samla in ytterligare information om samtalet i textområdet och avsluta samtalet. Du kan se dessa anteckningar som har lagts till som samtalsanteckningar i aktivitetsposten.

Kodändring på ServiceNow

Skriptet Innehåller ändringar
  1. Gå till filternavigatorn och sök efter skriptet innehåller.

    Välj Skriptet inkluderar under Systemgränssnitt.

  2. Filtrera Namn och sök efter propUtils.

  3. Ändra metoden UserGetSysId i skriptet.

    Kurent:

    AnvändarGetSysId: function () { var opened_for; var user = ny GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=användare.sys_id; var grInt = ny GlideRecord('interaktion'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); returnera sysid; },

    Ny exempelkod för incidenten:

    AnvändarGetSysId: funktion () { var opened_for; //Incidentrelaterade ändringar var sysidlist = {}; var användare = ny GlideRecordSecure (”sys_user"); user.addQuery(this.getParameter('field'), this.getParameter('value')); user.query(); om(user.next()) { opened_for=användare.sys_id;//returnera användare.sys_id; var inc = ny 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; inkl.contact_type=”telefon”; inkl.short_description='Samtal mottaget från '+ this.getParameter('värde'); sysidlist.incsysid=inc.insert(); } } var grInt = ny GlideRecordSecure('interaktion'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; returnera JSON.stringify( sysidlist); },

Metodändring på användargränssnittssidor
  1. Gå till filternavigatorn och sök efter användarsidan.

    Välj UI-sidor under Systemgränssnitt.

  2. Filtrera Namn och sök efter agentdesktop.

  3. Ändra funktionen screenpop i klientskript.

    Nuvarande 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: ”interaktion”, fråga: 'sys_id='+sysid }),

    Exempelkod för incidenten:

    // 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(); // För incidentrelaterad ändring var sysObj = JSON.parse(gaout.getAnswer()); om(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: ”incident”, fråga: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: ”incident”, fråga: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); }}

Om inringningsinformationen finns i CRM och det redan finns en ny incident öppnad med den här kontakten, öppnar programmet den pågående incidenten

Om inringningsinformationen inte finns i CRM öppnar programmet en ny incident

Om inringningsinformationen finns i CRM öppnar programmet en ny incident med förifyllda uppgifter

Översikt

Det här användningsfallet beskriver processen för att lägga till en extra kolumn i tabellen ServiceNow – webexcc_imp_activity och skapa sn_openframe_phone_log när du installerar Webex CC för ServiceNow CRM-anslutning.

Som standard innehåller tabellen vissa fält och värden utanför rutan system.

Du kan skapa fler företagsspecifika variabler (CAD-variabler) i WebexCC-flödesdesignern och lägga till CAD-variablerna i ServiceNow-aktivitetsloggen efter samtal samt behålla detta i tabelldata för aktivitet efter samtal.

Detta är endast en referensdokumentation – och visar hur man gör detta för en exempelCAD-variabel som kallas kundnamn som lagrar kundnamnet i IVR och lägger upp det i ServiceNow.

Det förväntas att ServiceNow-utvecklarna för partner+kund kommer att konfigurera och hantera denna konfiguration eftersom det är en anpassning till den befintliga anslutningen.

Cisco tillhandahåller endast tekniker för att anpassa och utöka anslutningen.

Från och med den här artikeln har Cisco-teamet validerat stöd för att lägga till CAD-variabel i aktivitetsloggen och aktivitetstabellen med den teknik som beskrivs nedan:

Lägg till kolumn i WebexCC IMP-aktivitet

  1. Redigera tabellen i utvecklarversionen av ServiceNow.

  2. Gå till filternavigatorn och sök efter studio.

    Välj Webex Contact Center

    eller

  3. Välj tabellen WebexCC IMP-aktivitet

  4. Lägg till en ny kolumn, till exempel Kundnamn

Lägg till kolumn i telefonloggen

  1. Redigera telefonens loggtabell.

  2. Lägg till en ny kolumn, till exempel Kundnamn.

Karta över WebexCC-aktivitet

Lägg till en ny kolumn, till exempel Kundnamn fältmappning.

Anpassa listkolumner

Ändra Val-åtgärden från att skapa till att ignorera som Tjänst nu rekommenderar.

Konfigurera telefonlogglista

Gå till skriptinkludera

Lägg endast till en linje webexcc.u_customername=actInfo.Kundnamn i propUtils.

Exempelskript

Se raden: webexcc.u_customername=actInfo.Kundnamn; med en stödjande kommentar.

var propUtils = Class.create(); propUtils.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{ getWebexccProp : funktion () { 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'); returnera JSON.stringify(webexccprop); }, UserGetSysId : function () { var opened_for; var user = ny GlideRecord("sys_user"); user.addQuery(this.getParameter('field'), this.getParameter('value')); user.query(); if (user.next()) opened_for=användare.sys_id;//returanvändare.sys_id; // else // returnull; var grInt = ny GlideRecord('interaktion'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); returnera sysid; }, setWebexcctable : funktion () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = ny GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable'); webexcc.addQuery("callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { webexcc.ani = actInfo.dnis =actInfo.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds; webexcc.ringingtime =actInfo.ringingtime; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; // Den här raden läggs till – för att registrera den i aktivitetsloggen webexcc.u_customername=actInfo. kundnamn; sys_id=webexcc.insert(); //Aktiviteter på incidentpost; var actInfoString =this.getParameter('actInfo'); var suser = ny GlideRecordSecure("sys_user"); suser.addQuery("telefon", this.getParameter('ani')); suser.query(); om(suser.next()) { var inc = ny GlideRecordSecure('incident'); inc.addQuery('caller_id', suger.sys_id); inc.orderByDesc(')sys_created_on'); inc.query(); om (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(actInfoString),null,2); inc.comments =jsonPretty; inc.update(); } } } returnera sys_id; }, skriv: ”propUtils” }),

Skapa en CAD-variabel i flödesverktyget

Lägg till CAD-variabeln i skrivbordslayouten

Exempel

"CadName1:SnowField1,CadName2:SnowField2" CadName1 är CustomerName SnowField1 används också som CustomerName som ingår i exempel scirpt showen ovan "actInfo.CustomerName".

Demoskärmbilder

Visa den nyligen tillagda CAD-variabeln i WebexCC-aktivitetstabellen.

Skapa CAD-variabel för flödesverktyget

Brådskande händelse

Påverkan på incidenter

Skriptuppdatering för Service Now

Uppdateringar av skriptet inkluderar

  1. Gå till filternavigatorn och sök efter skriptet innehåller

    Välj alternativet Skriptinkludera under Systemgränssnitt.

  2. Filtrera namnet med propUtils.

  3. Ändra metoden UserGetSysId i fältet Script .

    Aktuellt skript:

    AnvändarGetSysId: function () { var opened_for; var user = ny GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=användare.sys_id; var grInt = ny GlideRecord('interaktion'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); returnera sysid; },

    Ny exempelkod för incidenten:

    AnvändarGetSysId: funktion () { var opened_for; var sysidlist = {}; var användare = ny GlideRecordSecure (”sys_user"); user.addQuery(this.getParameter('field'), this.getParameter('value')); user.query(); om(user.next()) { opened_for=användare.sys_id;//returnera användare.sys_id; var inc = ny 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; inkl.contact_type='phone'; inc.urgency=this.getParameter('IncUrgency'); inc.impact=this.getParameter('Impact'); inc.short_description='Samtal mottaget från '+ this.getParameter('värde'); sysidlist.incsysid=inc.insert(); } } var grInt = ny GlideRecordSecure('interaktion'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; returnera JSON.stringify( sysidlist);//sysid; },

En metodändring på användargränssnittssidor
  1. Gå till filternavigatorn och sök efter gränssnittssidor.

    Välj alternativet UI-sidor under Systemgränssnitt.

  2. Filtrera UI-sidorna med Namn och sök efter agentdesktop.

  3. Ändra funktionen screenpop i skriptfältet.

    Nuvarande 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: ”interaktion”, fråga: 'sys_id='+sysid }); }

    Exempelkod för incidenten:

    // screen pop-funktion screenpop(callerani,callSessionInfo) { var Impact=3; if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact != odefinierad) { Impact=callSessionInfo.callAssociatedData.Impact.value; } var IncUrgency=3; if(callSessionInfo.callAssociatedData.Urgency != odefinierad) { IncUrgency=callSessionInfo.callAssociatedData.Urgency.value; } if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = ny GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('fält', 'telefon'); gaout.addParam('värde', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam('Impact', Impact); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); om(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: ”incident”, fråga: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: ”incident”, fråga: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem(”screenpopinteraction”,JSON.stringify(sysObj)); }

Om inringningsinformationen finns i CRM och det inte finns någon ny eller pågående incident öppnar programmet en ny incident

Ändra koden på ServiceNow

Lägg till nya kolumner i tabellen WebexCC IMP-aktivitet

Öppna tabellen WebexCC IMP-aktivitet

Lägg till en ny kolumn – InteractionsNumber

Lägg till ny kolumn – IncidentNumber

Klicka på Uppdatera.

Lägg till nya kolumner i tabellen Telefonlogg

Öppna tabellen Telefonlogg

Lägg till en ny kolumn – InteractionsNumber

Lägg till ny kolumn – IncidentNumber

Karta över WebexCC-aktivitet

Öppna transformationskartan från filternavigatorn

Klicka på WebexCC aktivitetstransform

Lägg till nytt – för interaktionsnummerkarta

Lägg till nytt – för karta över incidentnummer

Klicka på Uppdatera.

Ändringar i skript inkluderar

  1. Gå till filternavigatorn och sök efter ”skriptet innehåller”.

    Välj Skriptet inkluderar under Systemgränssnitt.

  2. Filtrera namnet med propUtils.

  3. Ändra metoden setWebexcctable.

    Ny exempelkod för Incident:

    setWebexcctable: funktion () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = ny 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=""; ta bort actInfo['interaction_sys_id']; ta bort actInfo['incident_sys_id']; if( interactionsysid!= null && interactionsysid != odefinierad){ var inte = ny GlideRecordSecure('interaktion'); //inte.get('sys_id', interactionsysid ); inte.addQuery('sys_id', interactionsysid ); inte.query(); om (inte.next()) { intenum=inte.number; // inte.setValue('state', 'Stängd slutförd'); inte.work_notes='Uppdatera status till stängd.'; inte.update(); }} om( incsysid!= null && incsysid != odefinierad){ var inci = ny 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 = ny GlideRecordSecure("sys_user"); suser.addQuery("telefon", this.getParameter('ani')); suser.query(); om(suser.next()) { var inc = ny GlideRecordSecure('incident'); inc.addQuery('caller_id', suger.sys_id); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); om (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.könamn; webexcc.u_wrapuptime =actInfo.wrapuptime; webexcc.u_callduration =actInfo.CallDurationInSeconds; webexcc.u_ringingtime =actInfo.ringingtime; webexcc.u_activitydate =actInfo.Aktivitetsdatum; 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(); } returnera sys_id; },

Metodändringar på användargränssnittssidor

  1. Gå till filternavigatorn och sök efter användargränssnittssidor

    Välj alternativet UI-sidor under Systemgränssnitt.

  2. Filtrera UI-sidorna med Namn och sök efter agentdesktop.

  3. Ändra funktionen nowActivities och screenpop i skriptet.

    Nuvarande funktion:

    function nowActivities(actInfo, ani) { var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gaout.getXML(SetCCsysId); }

    Exempelkod för incidenten:

    funktion nuActivities(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('ani', 'setWebexcctable'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'telefon'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysObj = JSON. ”incident”, fråga: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: ”incident”, fråga: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem(”screenpopinteraction”,JSON.stringify(sysObj)); } 

Resultat efter uppdateringen

Följande anpassningar gäller för version 1.0.5 och senare. För anpassningar av de nyare versionerna 1.0.7 och senare följer du stegen ovan.

Anpassning nr 1 – Lägg till anpassade affärsregler för användningsfall för samtalsflöde

Skapa en ny incidentpost för varje samtal

Skapa en ny incidentpost för varje nytt samtal till WebexCC CRM-anslutningen i ServiceNow.

  1. Sök efter affärsregler i filternavigatorn

  2. Klicka på Ny.

    Exempelkod för referens:

    funktion customcti () { var url = null; var namn = sysparm_caller_name; ed = sysparm_caller_id; var telefon = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; if (fQuery == null) fQuery = ''; var view = sysparm_view; om (vy == null || view == '') view = "itil"; var userID = null; om (eid != null && eid != '') { userID = UserGetSysId ("employee_number",eid); } om (användar-ID == null && namn != null && namn != '') { userID = UserGetSysId("namn", namn); } om (användar-ID == null && telefon != null && telefon != '') { userID = UserGetSysId("telefon", telefon); } om (användar-ID != null) { om (fQuery.length > 0) fQuery += "^"; fQuery += "caller_id=" + användar-ID; } om (url == null) { url = "incident.do?sys_id=-1”; om (fQuery != null) url += "&sysparm_query=" + fQuery; } svar = url; returadress; } funktion UserGetSysId (fält, värde) { var user = ny GlideRecord("sys_user"); user.addQuery(fält, värde); user.query(); om (user.next()) returnerar användaren.sys_id; annars returneras null; }

    Exempelkonfiguration av affärsregeln

  3. Aktivera klient som kan ringas upp

    Bearbetning av CTI (Computer Telephony Integration) For Incident är markerat som True.

  4. Uppdatera URL för skärmpopup med den anpassade CTI-regeln " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="

Exempel

sysparm_cti_rule=namn där ”namn” är namnet på en funktion ska anropas för CTI-bearbetning istället för att använda standardskriptet.

Definiera funktionen i en sys_script post märkt klient som kan ringas upp.

Om du måste infoga, uppdatera eller ta bort någon(a) GlideRecord(er) i funktionen ska du ringa en separat funktion som inte kan ringas upp av klienten för att utföra uppdateringarna.

För att göra en skriptklient uppringbar måste du markera kryssrutan för klientsamtal på formuläret som visas när sys_script posten visas.

Den klientuppringningsbara kryssrutan visas inte som standard. För att visa måste du ändra fälten som visas på formuläret med kugghjulsikonen och slush bucket-mekanismen.

Referenser

Anpassning nr 2 – Lägg till CAD-variabel i aktivitetstabellen för Webex Contact Center

Översikt

I den här artikeln beskrivs processen för att lägga till en extra kolumn i tabellen ServiceNow – webexcc_activity som skapas när du installerar Webex CC för ServiceNow CRM-anslutning.

Som standard innehåller tabellen fält och värden utanför systemet.

Du kan eventuellt skapa fler företagsspecifika variabler (CAD-variabler) i WebexCC-flödesdesignern och lägga till CAD-variablerna i loggen för aktivitet efter samtal och behålla detta i data i tabellen för aktivitet efter samtal .

  • Detta är endast referensdokumentation – och visar hur man gör detta för en exempelCAD-variabel som kallas kundnamn som lagrar kundnamnet i IVR och lägger upp det i ServiceNow.

  • Partner+Customer ServiceNow-utvecklarna konfigurerar och hanterar denna konfiguration eftersom det är en anpassning till den befintliga anslutningen.

  • Cisco tillhandahåller endast tekniker för att anpassa och utöka anslutningen.

  • Från och med den här artikeln har Cisco-teamet validerat stöd för att lägga till CAD-variabel i aktivitetsloggen och aktivitetstabellen med den teknik som beskrivs nedan.

Lägg till kolumn i WebexCC-aktivitet
  1. Redigera tabellen i utvecklarversionen av ServiceNow.

  2. Gå till Studio > Webex Contact Center.

  3. Välj tabellen WebexCC-aktivitet .

  4. Till exempel Kundnamn.

  5. Välj listlayout för WebexCC-aktivitet.

Skapa ett nytt skript inkluderar

Det här steget krävs inte om du använder uppdateringsuppsättningen XML – Endast en rad måste läggas till ”webexcc.u_customername=actInfo.CustomerName” i propUtils.

Exempelskript

Se raden med:webexcc.u_customername=actInfo.Kundnamn; med en stödjande kommentar.

var propUtils2 = Class.create(); propUtils2.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{ getWebexccProp : funktion () { 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'); returnera JSON.stringify(webexccprop); }, setWebexcctable : funktion () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = ny GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable'); webexcc.addQuery("callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { webexcc.ani = actInfo.dnis =actInfo.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds; webexcc.ringingtime =actInfo.ringingtime; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; // Den här raden läggs till – för att registrera den i aktivitetsloggen webexcc.u_customername=actInfo. kundnamn; sys_id=webexcc.insert(); // Aktiviteter på incidentposten; var actInfoString =this.getParameter('actInfo'); var suser = ny GlideRecordSecure("sys_user"); suser.addQuery("telefon", this.getParameter('ani')); suser.query(); om(suser.next()) { var inc = ny GlideRecordSecure('incident'); inc.addQuery('caller_id', suger.sys_id); inc.orderByDesc(')sys_created_on'); inc.query(); om (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(skådespelarsträng),null,2); inc.comments =jsonPretty; inc.update(); } } } returnera sys_id; }, skriv: ”propUtils2” });
Redigera gränssnittssidan med ett nytt skriptnamn

Skapa en CAD-variabel i flödesverktyget

Lägg till CAD-variabeln i skrivbordslayouten

Demoskärmbilder

Visa den nyligen tillagda CAD-variabeln i WebexCC-aktivitetstabellen.