Förutsättningar

För närvarande är den här funktionen endast tillämplig på agenter.

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å uppringarfältet och klicka på Konfigurera ordlista.

3

Lägg till kommaseparerade attribut "ref_contributions=show_phone,.

Nu kan du börja använda Webex Contact Center Desktop i ServiceNow-konsolen.

4

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

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

Agent Desktop i ServiceNow-konsolen

Innan du ringer uppringningssamtal bör du se till att göra följande:

  • Skapa startpunkten för outdial och ställ in en strategi för outdial-startpunkt.

  • Aktivera outdial ANI för agentprofilen.

  • Ställ in ANI för uppringning till en uppringningsnummer-till-ingångspunkt-mappning.

Mer information finns i kapitlet Etablering i Cisco Webex Contact Center Installations- och administrationshandboken.

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

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

Information om hur du använder Desktop finns på fliken Agent i hjälpen för Webex Contact Center.

Översikt

Den här artikeln beskriver 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 Contact Center-programvara eller expertis.

Detta är en referensdokumentation för att underlätta ändring av affärsregler. ServiceNow-utvecklarna skapar och hanterar affärsreglerna och ger support.

Cisco tillhandahåller endast exempeldokumentation.

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

Genomför widgeten Uppdateringsuppsättning för åtgärder

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

Om du vill konfigurera widgeten Åtgärder för utvecklarinstanserna laddar du ned den senaste filen XML Systemuppdateringsuppsättning som finns på GitHub-lagringsplatsen 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. Information om hur du sparar uppdateringsuppsättningen för widgeten Åtgärder finns i steg 2 till 9 i Genomför uppdateringsuppsättningen.

Aktivera åtgärdswidgeten

Använd egenskapen isWidgetDisplayEnabled för att aktivera widgeten Åtgärder. Du får inte ändra den här egenskapens värde i den anpassade skrivbordslayoutens headless-avsnitt. Egenskapen är alltid inställd på false i den anpassade skrivbordslayoutens headless-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 om du vill visa listan över aktivitetsposter som är kopplade till uppringaren.
  • Koppla CRM-objekt – Klicka på Koppla till aktivitetsposter om du vill 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 information om uppringaren ifylld. Du kan göra nödvändiga uppdateringar av händelsen. Du kan välja att ändra posttypen från incident till ärende, HR-modul och så vidare baserat på dina krav. Om du vill ändra posttypen ändrar du värdet för egenskapen typeOfRecord i widgetkonfigurationen Åtgärder. Till exempel:
    { "comp": "md-tab-panel", "attributes": { "slot": "panel", "class": "widget-pane" }, "children": [ { "comp": "agentx-custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "properties": { "isWidgetDisplayEnabled": true, "typeOfRecord" : "Create Incident" }, "wrapper": { "title": "SNOW Actions!", "maximizeAreaName": "app-maximize-area" } } ] }
  • Lägg till anteckningar om livesamtal – Du kan samla in ytterligare information om samtalet i textområdet och avsluta samtalet. Du kan se dessa anteckningar tillagda 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 som ingår under Systemgränssnitt.

  2. Filtrera namnet och sök efter propUtils.

  3. Ändra metod UserGetSysId I skriptet .

    Nyfiken:

    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; //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('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='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); },

Metodändring på gränssnittssidor
  1. Gå till filternavigatorn och sök efter UI-sidan.

    Välj gränssnittssidor under Systemgränssnitt.

  2. Filtrera namnet och sök efter AgentDesktop.

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