Förutsättningar

Innan du integrerar Webex Contact Center med ServiceNow CRM-konsolen ska du kontrollera att du har följande:

Följ en av de två metoderna nedan:

För utvecklarinstanser rekommenderar vi att du följer stegen i handboken 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 testinstanser i begränsat läge för utvecklare.

I följande avsnitt beskrivs stegen för att installera ServiceNow-anslutningsappen för utvecklarinstanser.

1

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

2

I området Min instans på menyn Konto klickar du på Börja skapa.

3

På utvecklarinstansen navigerar du till Plugin-program i fältet Filternavigator längst upp till vänster i fönstret.

4

Sök efter Openframe-plugin som har titeln Openframe. Du kan behöva bläddra igenom listan.

5

Klicka på Installera för att installera Openframe-plugin-programmet.

6

I dialogrutan Aktivera plugin-program klickar du på Aktivera.

7

När plugin-aktiveringen är klar klickar du på Stäng &ladda om formulär i dialogrutan Plugin-aktivering .

8

Verifiera plugin-aktiveringen genom att gå till OpenFrame i fältet Filternavigator längst upp tillvänster i fönstret.

9

Klicka på Konfigurationer och kontrollera att plugin-programmet OpenFrame visas i listan OpenFrame-konfigurationer .

1

Ladda ned den senaste XML filen med systemuppdateringsuppsättningen som finns på GitHub-lagringsplatsen 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 > Uppdateringsuppsättningar för att verkställa.

3

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

4

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

Uppdateringsuppsättningen visas i listan Hämtade uppdateringsuppsättningar och har statusen Inläst .
5

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

6

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

7

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

8

Klicka på Genomför uppdateringsuppsättning.

9

Klicka på Stäng i dialogrutan Genomför uppdateringsuppsättning när genomförandet av uppdateringsuppsättningen är klart.

1

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

2

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

3

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

4

I fältet Värde anger du webbadressen till Webex Contact Center Desktop beroende på verksamhetsområde.

5

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

6

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

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

I fältet Filternavigator navigerar du till OpenFrame > Configurations.

2

Klicka på Ny.

3

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

  • Namn: Webex Contact Center Desktop

  • Titel: 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. (Utför det här steget för att peka konfigurationen på sidan Användargränssnitt)

5

(Valfritt) Välj de användar-/agentgrupper som konfigurationen ska tilldelas till.

6

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

7

Innan du försöker använda OpenFrame-telefonen måste du ladda upp den anpassade JSON-filen med ServiceNow-skrivbordslayouten till Webex Contact Center Management Portal. Mer information finns i Konfigurera ServiceNow-skrivbordslayouten på Webex Contact Center.

1

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

2

Uppdatera egenskaperna i skrivbordslayoutfilen om det behövs.

3

Gå till hanteringsportalen för Webex Contact Center.

4

I navigeringsfältet i hanteringsportalen väljer du Etablering > skrivbordslayout.

5

Klicka på Ny layout och ange information om skrivbordslayouten.

6

Ladda upp JSON-filen ServiceNow Desktop Layout.

7

Klicka på Spara för att spara konfigurationen.

Nu kan du starta Webex Contact Center Desktop i ServiceNow-konsolen.

8

I fältet Filternavigatör navigerar du till arbetsytan Tjänståtgärder.

ServiceNow-hemsidan med Webex Contact Center Agent Desktop integrerad med ServiceNow.

I följande avsnitt beskrivs stegen för att installera ServiceNow-anslutningsappen för licensierade företagsinstanser.

1

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

2

I området Min instans på menyn Konto klickar du på Börja skapa.

3

På utvecklarinstansen navigerar du till Plugin-program i fältet Filternavigator längst upp till vänster i fönstret.

4

Sök efter Openframe-plugin som har titeln Openframe. Du kan behöva bläddra igenom listan.

5

Klicka på Installera för att installera Openframe-plugin-programmet.

6

I dialogrutan Aktivera plugin-program klickar du på Aktivera.

7

När plugin-aktiveringen är klar klickar du på Stäng &ladda om formulär i dialogrutan Plugin-aktivering .

8

Verifiera plugin-aktiveringen genom att gå till OpenFrame i fältet Filternavigator längst upp till vänster i fönstret.

9

Klicka på Konfigurationer och kontrollera att plugin-programmet OpenFrame visas i listan OpenFrame-konfigurationer .

1

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

2

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

3

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

4

I fältet Värde anger du webbadressen till Webex Contact Center Desktop beroende på verksamhetsområde.

5

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

6

(Valfritt) Om du vill ändra namnet på tabellen Aktivitet redigerar du egenskaperna 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

I fältet Filternavigator navigerar du till OpenFrame > Configurations.

2

Klicka på Ny.

3

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

  • Namn: Webex Contact Center Desktop

  • Titel: 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. (Utför det här steget för att peka konfigurationen på sidan Användargränssnitt)

5

(Valfritt) Välj de användar-/agentgrupper som konfigurationen ska tilldelas till.

6

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

7

I fältet Filternavigatör navigerar du till arbetsytan Tjänståtgärder.

ServiceNow-hemsidan med Webex Contact Center Agent Desktop integrerad med ServiceNow.

8

(Valfritt) I listan Användargrupp flyttar du de användargrupper som har åtkomst till Webex Contact Center Desktop från Tillgänglig till Vald.

9

Innan du försöker använda OpenFrame-telefonen måste du ladda upp den anpassade JSON-filen med ServiceNow-skrivbordslayouten till Webex Contact Center Management Portal. Mer information finns i Konfigurera ServiceNow-skrivbordslayouten på Webex Contact Center.

1

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

2

Uppdatera egenskaperna i skrivbordslayoutfilen om det behövs.

3

Gå till hanteringsportalen för Webex Contact Center.

4

I navigeringsfältet i hanteringsportalen väljer du Etablering > skrivbordslayout.

5

Klicka på Ny layout och ange information om skrivbordslayouten.

6

Ladda upp JSON-filen ServiceNow Desktop Layout.

7

Klicka på Spara för att spara konfigurationen.

Nu kan du starta Webex Contact Center Desktop i ServiceNow-konsolen.

8

I fältet Filternavigatör navigerar du till arbetsytan Tjänståtgärder.

ServiceNow-hemsidan med Webex Contact Center Agent Desktop integrerad med ServiceNow.

1

I fältet Filternavigator navigerar du till Incidenter > Öppna incident.

2

Högerklicka på uppringningsfältet och klicka på Konfigurera ordbok.

3

Lägg till kommaseparerade 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 Service Operations Workspace.

ServiceNows hemsida med Webex Contact Center Agent Desktop integrerat med ServiceNow.

Agent Desktop i ServiceNow-konsolen

Innan du ringer externa samtal, se till att du gör följande:

  • Skapa ingångspunkten för utringning och ställ in en strategi för utgående ingångspunkt.

  • Aktivera extern ANI för agentprofilen.

  • Ställ in den utgående ANI:en till en mappning av Dial Number-to-Entry Point.

För mer information, se Provisioning kapitlet i Cisco Webex Contact Center Installations- och administrationsguide.

Från fältet Filternavigator , navigera till Service Operations Workspace.

ServiceNows hemsida med Webex kontaktcenter Agent Desktop integrerat med ServiceNow.

För information om hur du använder Desktop, se Agent fliken i hjälpen för Webex Contact Center.

Översikt

Den här artikeln tar upp flera sätt att anpassa dina affärsregler för ServiceNow CRM-anslutningen. Den beskriver 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 Webex programvara eller expertis i Contact Center.

Detta är en referensdokumentation för att underlätta modifieringen av affärsregler. ServiceNow-utvecklarna kommer att skapa och hantera affärsreglerna och ge support.

Cisco tillhandahåller endast exempeldokumentation.

Följande avsnitt ger information om hur du konfigurerar, aktiverar och hanterar Actions-widgeten för utvecklare och företagsinstanser.

Aktivera widgeten Update Set for Actions

För de licensierade företagsinstanserna, installera den senaste Webex Contact Center-appen från ServiceNow-butiken.

För att ställa in Actions-widgeten för utvecklarinstanserna, ladda ner den senaste System Update Set XML-filen som finns tillgänglig på github-repo på denna plats: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Filnamnet är webexcc-servicenow-update-setv7-1-ActionsWidget.xml. För att utföra uppdateringsuppsättningen för Actions-widgeten, se steg 2 till 9 i Bekräfta uppdateringsuppsättningen.

Aktivera Actions Widget

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

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

  • Hantera aktivitetsposter—Klicka på Visa/redigera aktivitetspost för att se listan över aktivitetsposter som är kopplade till den som ringer.
  • Associera CRM-objekt—Klicka Associera till aktivitetsposter för att lägga till CRM-objekt som samtalstyp (inkommande eller utgående), samtalsobjekt, samtalsanteckningar och så vidare till aktivitetsposten.
  • Hantera incidenter – Klicka på Skapa incident. En ny incident skapas med uppringarens uppgifter i förväg. Du kan göra nödvändiga uppdateringar av incidenten. Du kan välja att ändra posttypen från incident till fall, HR-modul och så vidare baserat på dina krav. För att ändra posttypen, ändra värdet på egenskapen typeOfRecord i konfigurationen av Actions-widgeten. Till exempel:
    { "comp": "md-tab-panel", "attributes": { "slot": "panel", "class": "widget-panel" }, "children": [ { "comp": "agentx- custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "properties": { "isWidgetDisplayEnabled": true, "typeOfRecord" : "Skapa incident" }, "wrapper": { "title": "SNÖ-åtgärder !", "maximizeAreaName": "app-maximize-area" } } ] }
  • Lägg till samtalsanteckningar – Du kan fånga ytterligare information om samtalet i textområdet och avsluta samtalet. Du kan se dessa anteckningar läggas till som samtalsanteckningar i aktivitetsposten.

Kodändring på ServiceNow

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

    Välj Script Includes under System UI.

  2. Filtrera namnet och sök efter propUtils.

  3. Ändra metoden UserGetSysId i skriptet.

    Aktuell:

    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(); returnera sysid; },

    Ny exempelkod för incidenten:

    UserGetSysId: function () { var opened_for; //Incidentrelaterade ändringar 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('anrops-id', öppnad_för); 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=öppnad_för; inc.contact_type='telefon'; inc.short_description='Samtal mottaget från '+ this.getParameter('värde'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist); },

Metodändring på UI-sidor
  1. Gå till filternavigatorn och sök efter UI-sida.

    Välja UI-sidor under System UI.

  2. Filtrera Namn och sök efter agentdesktop.

  3. Ändra screenpop Fungera 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: 'interaction', query: 'sys_id='+sysid });

    Exempelkod för incidenten:

    skärmpopfunktion 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', 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' }); } }

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

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

Om uppringarinformationen finns i CRM öppnar programmet en ny incident med förifylld information

Ö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 vid installationen av Webex CC för ServiceNow CRM Connector.

Som standard innehåller tabellen vissa färdiga systemfält och värden.

Du kan skapa fler företagsspecifika variabler (CAD-variabler) inuti WebexCC-flödesdesignern och lägga till CAD-variablerna i ServiceNow-aktivitetsloggen efter samtal, samt bevara detta i aktivitetstabelldata efter samtal.

Detta är endast en referensdokumentation - och visar hur du gör detta för en CAD-exempelvariabel som heter Kundnamn som lagrar kundnamnet i IVR och publicerar detta till ServiceNow.

Det förväntas att partner+kunden ServiceNow-utvecklarna konfigurerar och hanterar den här konfigurationen eftersom det är en anpassning till den befintliga anslutningsappen.

Cisco tillhandahåller endast tekniker för hur du anpassar och utökar anslutningen.

Från och med den här artikeln har Cisco-teamet validerat stöd för tillägg av CAD-variabel i aktivitetsloggen och aktivitetstabellen med hjälp av tekniken 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.

    Markera Webex Contact Center

    eller

  3. Välj ikonen WebexCC IMP-aktivitet bord

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

Lägg till kolumn i telefonloggen

  1. Redigera telefonloggtabellen.

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

Karta över WebexCC-aktivitetstransformering

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

Anpassa listkolumner

Som Service Now rekommenderar ändrar du åtgärden Val från skapa till ignorera.

Konfigurera telefonlogglista

Gå till skript Inkludera

Lägg bara till en rad webexcc.u_customername=actInfo.CustomerName Till propUtils.

Exempel på skript

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

var propUtils = Class.create(); propUtils.prototype = Objekt.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;//returnera user.sys_id; else // returnera null; var grInt = ny GlideRecord ('interaktion'); grInt.initiera(); grInt.assigned_to= gs.getUserID(); grInt.type = 'telefon'; grInt.opened_for = opened_for; var sysid=grInt.insert(); returnera 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; Den här raden läggs till – för att samla in den i aktivitetsloggen webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Aktiviteter i incidentregistret; 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(); } } } returnera sys_id; }, typ: 'propUtils' });

Skapa en CAD-variabel i Flow designer

Lägga till CAD-variabeln i skrivbordslayouten

Exempel

"CadName1:SnowField1,CadName2:SnowField2" CadName1 är CustomerName SnowField1 används också som CustomerName, som är en del av exemplet scirpt showen ovanför "actInfo.CustomerName".

Demo skärmdumpar

Visa den nyligen tillagda CAD-variabeln i tabellen WebexCC-aktivitet.

Skapa CAD-variabel för Flow Designer

Brådskande incident

Incidentens påverkan

Skriptuppdatering för Service Now

Uppdateringar av skriptet omfattar

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

    Välj alternativet Skript innehåller under Systemgränssnitt.

  2. Filtrera namnet med propUtils.

  3. Ändra metod UserGetSysId I fältet Skript .

    Aktuellt skript:

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

    Ny exempelkod för incidenten:

    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='Samtal mottaget från'+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = ny GlideRecordSecure ("interaktion"). grInt.initiera(); 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å gränssnittssidor
  1. Gå till filternavigatorn och sök efter gränssnittssidor.

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

  2. Filtrera gränssnittssidorna med Namn och sök efter agentdesktop.

  3. Ändra Screenpop I skriptfältet.

    Nuvarande funktion:

    skärmpopfunktion 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 }); }

    Exempelkod för incidenten:

    skärmpopfunktion 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('fält', 'telefon'); gaout.addParam('värde', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam('Påverkan', påverkan); gaout.getXMLWait(); var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); } else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }

Om uppringarinformationen 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ägga till nya kolumner i WebexCC IMP-aktivitet bord

Öppna WebexCC IMP-aktivitet bord

Lägg till en ny kolumn - InteractionsNumber

Lägg till en ny kolumn - IncidentNumber

Klicka på Uppdatera.

Lägga till nya kolumner i Telefonlogg bord

Öppna Telefonlogg bord

Lägg till en ny kolumn - InteractionsNumber

Lägg till en ny kolumn - IncidentNumber

Karta över WebexCC-aktivitetstransformering

Öppen Omforma karta Från filternavigatorn

Klicka på WebexCC Activity TransformMap

Lägg till nytt - för interaktionsnummerkarta

Lägg till ny – för Incidentnummerkarta

Klicka på Uppdatera.

Ändringar i skriptet inkluderar

  1. Gå till filternavigatorn och sök efter "script includes".

    Välj skriptet som ingår under Systemgränssnitt.

  2. Filtrera namnet med propUtils.

  3. Ändra metod setWebexcctable.

    Ny exempelkod för Incident:

    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()) { //Aktiviteter på incidentpost; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; delete actInfo['interaction_sys_id']; ta bort 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='Uppdatera tillstånd till stängt.' inte.update(); } } if( incsysid!= null && incsysid != undefined){ var inci = new GlideRecordSecure('incident'); inci.addQuery('sys_id', incsysid ); inci.query(); if (inci.next()) { incnum=inci.number; var jsonPretty = JSON.stringify(actInfo,null,2); //JSON.stringify(JSON.parse(actInfoString),null,2); inci.comments =jsonPretty; inci.update(); } } else{ var suser = new GlideRecordSecure("sys_user"); suser.addQuery("phone", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', suser.sys_id); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(actInfo,null,2); inc.comments =jsonPretty; inc.update(); } } } webexcc.u_ani = actInfo.ani; webexcc.u_dnis = actInfo.dnis; webexcc.u_queuename =actInfo.queuename; webexcc.u_wrapuptime =actInfo.avslutningstid; 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(); } returnera sys_id; },

Metodändringar på gränssnittssidor

  1. Gå till filternavigatorn och sök efter UI-sidor

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

  2. Filtrera gränssnittssidorna med Namn och sök efter agentdesktop.

  3. Ändra nowAktiviteter 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:

    function nowActivities(actInfo, ani) { var sysObjstr = window.localStorage.getItem("screenpopinteraction"); if(sysObjstr != null &&; sysObjstr != undefined) { var sysObjjson=JSON.parse(sysObjstr); actInfo.interaction_sys_id=sysObjjson.sysid; actInfo.incident_sys_id=sysObjjson.incsysid; } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gaout.getXML (SetCCsysId); } function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); } 

Resultat efter uppdateringen

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

Anpassning # 1 - Lägg till anpassade affärsregler för användningsfall för samtalsflöden

Skapa en ny incidentpost för varje samtal

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

  1. Sök efter affärsregler i filternavigatören

  2. Klicka på Ny.

    Exempelkod som referens:

    function customcti() {var url = null; var name = sysparm_caller_name; eid = sysparm_caller_id; var phone = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; if (fQuery == null) fQuery = ''; var view = sysparm_view; if (view == null || view == '') view = "itil"; var userID = null; if (eid != null && eid != '') { userID = UserGetSysId("employee_number",eid); } if (userID == null && name != null &&; name != '') { userID = UserGetSysId("name", namn); } if (userID == null && phone != null &&; phone != '') { userID = UserGetSysId("phone", phone); } if (userID != null) { if (fQuery.length > 0) fQuery += "ˆ"; fQuery += "caller_id=" + userID; } if (url == null) { url = "incident.do?sys_id=-1"; if (fQuery != null) url += "&sysparm_query=" + fQuery; } answer = url; returnera webbadress; } funktion UserGetSysId(field, value) { var user = new GlideRecord("sys_user"); user.addQuery(field, value); user.query(); if (user.next()) return user.sys_id; else return null; }

    Exempel på konfiguration av affärsregeln

  3. Aktivera klientanrop

    Bearbetning CTI (Computer Telephony Integration) för incident markeras som sant.

  4. Uppdatera screenpop-URL:en med den anpassade CTI regeln" cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="

Exempel

Bearbetningen sysparm_cti_rule= namn där 'namn' är namnet på en funktion ska anropas för CTI bearbetning i stället för att använda standardskriptet.

Definiera funktionen i en sys_script post som är markerad som klientanropbar.

Om du måste infoga, uppdatera eller ta bort GlideRecords i funktionen anropar du en separat funktion som inte kan anropas av klienten för att utföra uppdateringarna.

Om du vill göra ett skript klientanropbart måste du markera kryssrutan för klientanrop i formuläret som visas när den sys_script posten visas.

Kryssrutan för klientanrop visas inte som standard. Om du vill visa måste du ändra fälten som visas i formuläret med kugghjulsikonen och slaskhinkmekanismen.

Referenser

Anpassning # 2 - Lägg till CAD-variabel i aktivitetstabellen Webex Contact Center

Översikt

I den här artikeln beskrivs hur du lägger till ytterligare en kolumn i tabellen ServiceNow – webexcc_activity som skapas vid installationen av Webex CC för ServiceNow CRM Connector.

Som standard innehåller tabellen färdiga systemfält och värden.

Du kan potentiellt skapa fler företagsspecifika variabler (CAD-variabler) i WebexCC-flödesdesignern och lägga till dessa CAD-variabler i ServiceNow-aktivitetsloggen efter samtal och bevara detta i aktivitetstabelldata efter samtal.

  • Detta är endast referensdokumentation - och visar hur du gör detta för en CAD-exempelvariabel som heter kundnamn som lagrar kundnamnet i IVR och publicerar detta till ServiceNow.

  • Partner + Customer ServiceNow-utvecklarna konfigurerar och hanterar den här konfigurationen eftersom det är en anpassning till den befintliga anslutningsappen.

  • Cisco tillhandahåller endast tekniker för hur du anpassar och utökar anslutningen.

  • Från och med den här artikeln har Cisco-teamet validerat stöd för tillägg av CAD-variabel till aktivitetsloggen och aktivitetstabellen med hjälp av tekniken som beskrivs nedan.

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

  2. Gå till kontaktcentret Studio >Webex.

  3. Välj tabellen WebexCC-aktivitet .

  4. Till exempel CustomerName.

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

Skapa ett nytt skript Innehåller

Det här steget krävs inte om du använder Update Set XML - Endast en rad behöver läggas till "webexcc.u_customername=actInfo.CustomerName" i propUtils.

Exempel på skript

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

var propUtils2 = Class.create(); propUtils2.prototype = Objekt.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; // Den här raden har lagts till - för att hämta den i aktivitetsloggen webexcc. u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Aktiviteter i incidentregistret; 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(); } } } returnera sys_id; }, typ: 'propUtils2' });
Redigera gränssnittssidan med ett nytt skriptnamn

Skapa en CAD-variabel i Flow designer

Lägga till CAD-variabeln i skrivbordslayouten

Demo skärmdumpar

Visa den nyligen tillagda CAD-variabeln i tabellen WebexCC-aktivitet.