Integrera Webex Contact Center med ServiceNow (version 1—Legacy)

list-menuHar du feedback?
När du integrerar Webex Contact Center med ServiceNow CRM-konsolen kan du starta Webex Contact Center Desktop inifrån ServiceNow.

Förutsättningar

Den minsta stödda storleken för softphone-gränssnittet är 500px. Alla värden som är lägre än 500px kan leda till problem med visning eller funktionalitet.

Innan du integrerar Webex Contact Center med ServiceNow CRM-konsolen, 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 blanda den företagslicensierade appen med utvecklarsandlådeinstanser.

Digitala kanaler som chatt och e-post stöds inte med CRM-kontakter. Detta gäller alla CRM-integrationer som använder dessa kontakter. Planera dina arbetsflöden för driftsättning och kundengagemang i enlighet därmed.

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

1

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

2

Klicka på Starta att bygga i området Min instans på menyn Kon to.

ServiceNow developer portal screenshot with ‘Start Building’ button highlighted.

3

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

ServiceNow developer instance showing a search for ‘plugins’ filter navigator.

4

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

ServiceNow developer instance on the Applications screen, showing the search and results for ‘OpenFrame.’

5

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

6

Klicka på Akti vera i dialogrutan Aktivera insticksprogram.

ServiceNow developer instance showing OpenFrame plugin popup with the ‘Activate’ button highlighted.

7

När aktiveringen av insticksprogrammet är klar klickar du på Stä ng och ladda om formulär i dialogrutan Aktivering av instick sprogram.

ServiceNow developer instance showing OpenFrame plugin activation loading.

ServiceNow developer instance showing OpenFrame plugin activation success window with the ‘Close & Reload Form’ button highlighted.

8

För att verifiera plugin-aktiveringen, navigera till OpenFrame från fältet Filter navigator längst upp till vänster i fönstret.

9

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

ServiceNow developer instance showing OpenFrame Configurations in the filter navigator search.

1

Ladda ner den senaste XML-filen för systemuppdatering som finns tillgänglig på github-repo på denna plats: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Filnamn: Web Excc-ServiceNow-Update-Setv (X) .xml

Github repo screenshot for Webex Contact Center CRM integrations – ServiceNow.

2

I ServiceNow-instansen navigerar du till System uppdateringsuppsättningar > Uppdatera uppsättningar för att bekräfta i fältet Filter navigator längst upp till vänster i fönstret.

ServiceNow developer instance showing a search in the filter navigator on the ‘All’ tab for ‘Update set’ and ‘Update Sets to Commit’ option highlighted.

3

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

ServiceNow developer instance on the Update Sets results page with ‘Related Links: Import Update Set from XML’ highlighted.

4

Klicka på Välj fil, välj XML-filen Systemuppdateringsuppsättning och klicka sedan på Ladda upp.

ServiceNow developer instance import XML screen.

ServiceNow developer portal retrieved update sets list.

Uppdateringsuppsättningen visas i listan Hämtade uppdateringsuppsättningar och är i läget In läst.
5

Klicka på länken Update Set File Name (länk) i listan Häm tade uppdateringsuppsättningar för att öppna uppdateringsuppsättningen.

ServiceNow developer portal retrieved update sets list for an updated file.

6

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

ServiceNow developer portal retrieved update sets list for an updated file with the ‘Preview Update Set’ button highlighted.

7

Klicka på Stä ng i dialogrutan Update Set Preview när förhandsgranskningen är klar.

ServiceNow developer portal with the update set preview success notification.

8

Klicka på Commit Update Set.

ServiceNow developer portal retrieved update sets list for an updated file with the ‘Commit Update Set’ button highlighted.

9

Klicka på Stä ng i dialogr utan Update Set Commit när verifieringen av Update Set har slutförts.

ServiceNow developer portal with the update set commit success notification.

1

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

ServiceNow developer instance showing a search in the filter navigator on the ‘All’ tab for ‘sys_properties.list’

2

Sortera egenskaperna efter uppdaterat datum på sidan Systemegenskaper. Se till att du kan se följande Webex Contact Center-egenskaper:

ServiceNow developer instance system properties page.

3

Klicka agentdesktop_urlför att öppna agentdesktop_url sidan System egenskaper.

4

I fältet Vär de anger du webbadressen för Webex Contact Center Desktop enligt verksamhetsområdet.

ServiceNow developer instance system property details for agentdesktop_url.

5

Klicka på Uppdat era för att spara ändringarna.

6

(Valfritt) Om du vill ändra namnet på tabellen Aktivitet redigerar du egenskaperna webexccactivit ytable efter behov.

Klicka på webex ccactivitytable på sidan Systemegenskaper.

Ändra fältet Vär de efter behov.

ServiceNow developer instance system property details for webexactivitytable.

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.

    ServiceNow developer instance filter navigator search for ‘Groups’ under ‘System Security’
  2. Skapa en ny användargrupp eller använd en befintlig.

    ServiceNow developer instance group page for WebexccAgentsGroup.

  3. Klicka på Redigera.

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

    ServiceNow developer instance group edit members page showing a search for a collection.

    ServiceNow developer instance group edit members page showing a collection moved into the roles list.

  5. Klicka på Spara.

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

    ServiceNow developer instance group page with user roles assigned.

1

Från fältet Filternavigator navigerar du till OpenFrame > Konfigurationer.

ServiceNow developer instance filters navigator with ‘openframe’ in the search field and ‘Configurations’ under ‘OpenFrame’ highlighted in the results.

2

Klicka på Ny.

ServiceNow developer instance OpenFrame Configurations page with ‘New’ highlighted.

3

Ange följande egenskaper för webbadressen:

  • Namn: Webex Contact Center Desktop

  • Titel: Webex kontaktcenter

  • Bredd: 550 (rekommenderas)

  • Höjd: 600 (rekommenderas)

4

Till höger om URL- fältet klickar du på knappen Lås och lägger till agentdesktop.dosom URL. (Gör det här steget för att peka konfigurationen till UI-sidan)

ServiceNow developer instance OpenFrame Configurations – New Record page with the lock icon highlighted.

5

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

ServiceNow developer instance OpenFrame Configurations – New Record user group selection.

6

Klicka på Skicka. Webbadressen visas som en länk.

ServiceNow developer instance OpenFrame Configurations – New Record page showing the URL link that appears after submitting the user group selections.

7

Innan du försöker använda OpenFrame-telefonen, se till att du överför ServiceNow anpassade JSON-filen för skrivbordslayout till Webex Contact Center. Management Portal Mer information finns i Konfigurera ServiceNow Desktop Layout på Webex Contact Center.

1

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

Github screen for Webex Contact Center CRM Integrations – Desktop Layouts – ServiceNow.

2

Uppdatera egenskaperna i skrivbordslayoutfilen, om det behövs.

3

Gå till Webex Contact CenterManagement Portal.

4

Välj Tillhandahållande > Skriv bordslayout i Management Portal navigeringsfältet.

Webex Contact Center Management Portal provisioning page with Desktop Layout highlighted in the left navigation.

5

Klicka på Ny layout och ange detaljerna för skrivbordslayouten.

6

Ladda upp ServiceNow Desktop Layout JSON-filen.

7

Klicka på Spara för att spara konfigurationen.

Du kan nu starta Webex Contact Center- skrivbordet i ServiceNow-konsolen.

8

Från fältet Filternavigator navigerar du till arbetsytan Service Operations.

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

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

1

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

2

Klicka på Starta att bygga i området Min instans på menyn Kon to.

ServiceNow developer portal screenshot with ‘Start Building’ button highlighted.

3

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

ServiceNow developer instance showing a search for ‘plugins’ filter navigator.

4

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

ServiceNow developer instance on the Applications screen, showing the search and results for ‘OpenFrame.’

5

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

6

Klicka på Akti vera i dialogrutan Aktivera insticksprogram.

ServiceNow developer instance showing OpenFrame plugin popup with the ‘Activate’ button highlighted.

7

När aktiveringen av insticksprogrammet är klar klickar du på Stä ng och ladda om formulär i dialogrutan Aktivering av instick sprogram.

ServiceNow developer instance showing OpenFrame plugin activation loading.

ServiceNow developer instance showing OpenFrame plugin activation success window with the ‘Close & Reload Form’ button highlighted.

8

För att verifiera plugin-aktiveringen, navigera till OpenFrame från fältet Filter navigator längst upp till vänster i fönstret.

9

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

ServiceNow developer instance showing OpenFrame Configurations in the filter navigator search.

1

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

ServiceNow developer instance showing a search in the filter navigator on the ‘All’ tab for ‘sys_properties.list’

2

Sortera egenskaperna efter uppdaterat datum på sidan Systemegenskaper. Se till att du kan se följande Webex Contact Center-egenskaper:

ServiceNow developer instance system properties page results.

3

Klicka agentdesktop_urlför att öppna agentdesktop_url sidan System egenskaper.

4

I fältet Vär de anger du webbadressen för Webex Contact Center Desktop enligt verksamhetsområdet.

ServiceNow developer instance system property details page for agentdesktop_url.

5

Klicka på Uppdat era för att spara ändringarna.

6

(Valfritt) Om du vill ändra namnet på tabellen Aktivitet redigerar du egenskap x_caci_webexccen.webexccactiv itytable efter behov.

  1. Klicka på x_caci_webexcc.we bexccactivitytable på sidan Systemegenskaper.

    ServiceNow developer instance system properties page results for x_caci_webexcc.webexccactivitytable.

  2. Ändra fältet Vär de efter behov.

    ServiceNow developer instance system property page for x_caci_webexcc.webexccactivitytable.

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.

    ServiceNow developer instance filter navigator results for ‘Groups.’

    SeviceNow developer instance group page for webexccagentsgroup.

  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

    SeviceNow developer instance group page for webexccagentsgroup with rolls added.

1

Från fältet Filternavigator navigerar du till OpenFrame > Konfigurationer.

ServiceNow developer instance filters navigator with ‘openframe’ in the search field and ‘Configurations’ under ‘OpenFrame’ highlighted in the results.

2

Klicka på Ny.

ServiceNow developer instance OpenFrame Configurations page with ‘New’ highlighted.

3

Ange följande egenskaper för webbadressen:

  • Namn: Webex Contact Center Desktop

  • Titel: Webex kontaktcenter

  • Bredd: 550 (rekommenderas)

  • Höjd: 600 (rekommenderas)

4

Till höger om URL- fältet klickar du på knappen Lås och lägger till x_caci_webexcc_agentdesktop.dosom URL. (Gör det här steget för att peka konfigurationen till UI-sidan)

ServiceNow developer instance OpenFrame Configurations – New Record page with the lock icon highlighted.

5

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

ServiceNow developer instance OpenFrame Configurations – New Record user group selection.

6

Klicka på Skicka. Webbadressen visas som en länk.

ServiceNow developer instance OpenFrame Configurations – New Record with URL added.

7

Från fältet Filternavigator navigerar du till arbetsytan Service Operations.

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

8

(Valfritt) Flytta användargrup perna som kan komma åt Webex Contact Center- skrivbordet från Tillgäng ligt till marker at i listan Användargrupp.

9

Innan du försöker använda OpenFrame-telefonen, se till att du överför ServiceNow anpassade JSON-filen för skrivbordslayout till Webex Contact Center. Management Portal Mer information finns i Konfigurera ServiceNow Desktop Layout på Webex Contact Center.

1

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

Github screen for Webex Contact Center CRM Integrations – Desktop Layouts – ServiceNow.

2

Uppdatera egenskaperna i skrivbordslayoutfilen, om det behövs.

3

Gå till Webex Contact CenterManagement Portal.

4

Välj Tillhandahållande > Skriv bordslayout i Management Portal navigeringsfältet.

Webex Contact Center Management Portal provisioning page with Desktop Layout highlighted in the left navigation.

5

Klicka på Ny layout och ange detaljerna för skrivbordslayouten.

6

Ladda upp ServiceNow Desktop Layout JSON-filen.

7

Klicka på Spara för att spara konfigurationen.

Du kan nu starta Webex Contact Center- skrivbordet i ServiceNow-konsolen.

8

Från fältet Filternavigator navigerar du till arbetsytan Service Operations.

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

1

Gå till Incid enter > Öppna incident i fältet Filternavigator.

2

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

ServiceNow developer instance Incidents window with the Configure Directory option highlighted.

3

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

ServiceNow developer instance call incident window for a Directory Entry.

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

4

Från fältet Filternavigator navigerar du till arbetsytan Service Operations.

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

  • Vi stöder inloggning Agent Desktop med WebRTC för Salesforce (SFDC) och Microsoft Dynamics (MS Dynamics) Connectors endast.
  • För närvarande är den här funktionen endast tillämplig på agenter.

Agent Desktopi ServiceNow Console

Innan du ringer utgående samtal, se till att du gör följande:

  • Skapa den outdial-ingångspunkten och ställ in en outdial ingångspunktstrategi.

  • Aktivera outdial ANI för agentprofilen.

  • Ställ in outdial ANI på en uppringningsnummer-till-ingångspunkt-mappning.

Mer information finns i kapitlet Tillhandah ållande i Installations- Cisco Webex Contact Centeroch administrationsguiden.

Från fältet Filternavigator navigerar du till arbetsytan Service Operations.

ServiceNow home page with Webex Contact Center Agent Desktop integrated with 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 behandlar flera sätt att anpassa dina affärsregler för ServiceNow CRM-anslutningen. Den beskriver hur du kan anpassa användningsfall 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 ändringen av affärsregler. ServiceNow-utvecklarna kommer att skapa och hantera affärsreglerna och ge 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.

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

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

Om du vill konfigurera widgeten Åtgärder för utvecklarinstanser hämtar du den senaste XML-filen för systemuppdateringsuppsättning som är 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. Om du vill utföra uppdateringsuppsättningen för widgeten Åtgärder finns i steg 2 till 9 i Veri fiera uppdateringsuppsättningen.

Aktivera åtgärdswidget

Använd egenskapen isWidgetDisplayEnabled för att aktivera widgeten Åtgärder. Du får inte ändra egenskapens värde i den anpassade skrivbordslayoutens huvudlösa sektion. Egenskapen är alltid inställd på false i den anpassade skrivbordslayoutens huvudlösa sektion. Du bör bara 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å Vis a/redigera aktivitetspost för att visa listan över aktivitetsposter som är associerade med den som ringer.
  • Associera CRM-objekt — Klicka på Associera till aktivitetsposter om du vill lägga till CRM-objekt som samtalstyp (inkommande eller utgående), samtalsobjekt, samtalsanteckningar osv. i aktivitetsposten.
  • Hantera händelser — Klicka på Skapa incident. En ny incident skapas med uppringningsuppgifterna förfyllda. Du kan göra nödvändiga uppdateringar av händelsen. Du kan välja att ändra posttypen från incident till fall, HR-modul och så vidare baserat på dina krav. Ändra posttypen genom att ändra värdet på 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 live-samtalsnoteringar — Du kan samla in ytterligare information om samtalet i textområdet och avsluta samtalet. Du kan se dessa anteckningar som läggs till som samtalsanteckningar i aktivitetsposten.

Kodändring på ServiceNow

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

    Välj Skript Inkluderar under Systemgränssnitt.

  2. Filtrera namnet och sök efter PropUtils.

  3. Ändra metoden U serGetSysID i skriptet.

    Nuvarande:

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

    Ny exempelkod för händelsen:

    UserGetSysId : function () {
                var opened_for;
    
            //Incident related changes
                 var sysidlist = {};
                var user = new GlideRecordSecure("sys_user");
                  user.addQuery(this.getParameter('field'),this.getParameter('value'));
                  user.query();
                  if(user.next()) {
                     opened_for=user.sys_id;//return user.sys_id;
                        var inc = new GlideRecordSecure('incident');
                                inc.addQuery('caller_id', opened_for);
                                inc.addQuery('state','IN','1,2');
                                inc.orderByDesc('sys_created_on');
                                inc.query();
                                    if (inc.next()) {
                                        sysidlist.incsysid=inc.getUniqueValue();
                                   }else{
                                        inc.initialize();
                                        inc.caller_id=opened_for;
                                        inc.contact_type='phone';
                                        inc.short_description='Call Received From '+ this.getParameter('value');
                                        sysidlist.incsysid=inc.insert();
                                    }
                  } 
                var grInt = new GlideRecordSecure('interaction');
                    grInt.initialize(); 
                    grInt.assigned_to= gs.getUserID(); 
                    grInt.type= 'phone'; 
                    grInt.opened_for= opened_for; 
                var sysid=grInt.insert();
                sysidlist.sysid=sysid;
                
                return JSON.stringify(sysidlist);
            },

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

    Välj UI-sidor under Systemgränssnitt.

  2. Filtrera namnet och sök efter agentdesktop.

  3. Ändra skärmpop- funktionen i klientskript.

    Nuvarande funktion:

    // screen pop
    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();
      
    openFrameAPI.openServiceNowForm({
    entity: 'interaction',
    query: 'sys_id='+sysid
    });

    Exempelkod för händelsen:

    // screen pop
    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();
    
    // 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 uppringningsinformationen finns i CRM, och det redan har öppnats en ny incident med den här kontakten, öppnar applikationen den pågående incidenten

Om uppringningsinformationen inte finns i CRM öppnar applikationen en ny incident

Om uppringningsinformationen finns i CRM öppnar applikationen en ny incident med förifyllda uppgifter

Översikt

Detta användningsfall beskriver processen för att lägga till en extra kolumn i ServiceNow-tabellen - 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 systemfält och värden utanför boxen.

Du kan skapa fler affärsspecifika variabler (CAD-variabler) inuti WebExCC Flow Designer och lägga till CAD-variablerna inuti ServiceNow-aktivitetsloggen efter anrop, samt bibehålla detta i aktivitetstabellens data efter samtal.

Detta är endast en referensdokumentation - och visar hur man gör detta för ett exempel på en CAD-variabel som heter Customer Name som lagrar kundnamnet i IVR och publicerar detta till ServiceNow.

Det förväntas att partner+kundserviceNow-utvecklarna kommer att konfigurera och hantera den här konfigurationen eftersom det är en anpassning till den befintliga kontakten.

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

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 IMP-aktivitet

  1. Redigera tabellen i utvecklarversionen av ServiceNow.

    ServiceNow developer instance WebexCC IMP activity table.

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

    ServiceNow developer instance filter navigator on the All tab with ‘studio’ entered in the filter.

    Välj Webex kontaktcenter

    Studio app for ServiceNow with the Select Application window open.

    eller

    Studio app for ServiceNow with the Select Application window open and ‘Select Store App to Customize’ selected.

    Studio app for ServiceNow with the ‘Select Store App to Customize’ window open and ‘Webex Contact Center’ selected.

    Studio app for ServiceNow with Webex Contact Center application file details.

  3. Välj tabellen WebExCC IMP-aktivitet

    Studio app for ServiceNow WebexCC IMP Activity table.

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

    Studio app for ServiceNow WebexCC IMP Activity table new column example.

    Studio app for ServiceNow WebexCC IMP Activity table new column example with new column added.

Lägg till kolumn i telefonlogg

  1. Redigera telefonloggtabellen.

    ServiceNow developer instance search for a phone log table.

    ServiceNow developer instance phone log table.

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

    ServiceNow developer instance phone log table new column examples.

    ServiceNow developer instance phone log table new column example with new column added.

WebExCC Aktivitetstransformeringskarta

Studio app for ServiceNow WebexCC Activity Transform Map.

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

Studio app for ServiceNow WebexCC Activity Transform Map new column example for CustomerName field mapping.

Studio app for ServiceNow WebexCC Activity Transform Map new column example with CustomeName selected in the Target field.

Anpassa listkolumner

Studio app for ServiceNow WebexCC Activity Transform Map with popup window to personalized list columns. Choice action option is highlighted in the Selected column.

Ändra åtgärden Val från skapa till ignorera, som Service Now rekommenderar.

Studio app for ServiceNow WebexCC Activity Transform Map with the Choice action column, showing the dropdown to choose ‘ignore’ or ‘create.’

Studio app for ServiceNow WebexCC Activity Transform Map with the Choice action column and ‘ignore’ highlighted for the customer name source field.

Konfigurera telefonlogglista

Studio app for ServiceNow configuring phone log list with CustomerName highlighted in the Selected column.

Gå till Skript Inkludera

Lägg bara till en rad webexcc. u_customername=ActInfo.CustomerName till PropUtils.

ServiceNow developer instance filter navigator search for ‘script includes.’

ServiceNow developer instance Script Includes page.

Exempelskript

Se raden: webexcc. u_customername=ActInfo.customer Name; med en stödjande kommentar.

var propUtils = Class.create();
propUtils.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{
         getWebexccProp : function () {
           var webexccprop = {};
           webexccprop.instanceurl= 'https://'+gs.getProperty('instance_name')+'.service-now.com/';
           webexccprop.url=gs.getProperty('x_caci_webexcc.agentdesktop_url');
          // webexccprop.popupurl=gs.getProperty('x_caci_webexcc.screenpop_url');
           return  JSON.stringify(webexccprop);
      
        },
        UserGetSysId : function () {
            var opened_for;
            var user = new GlideRecord("sys_user");
              user.addQuery(this.getParameter('field'),this.getParameter('value'));
              user.query();
              if (user.next())
                 opened_for=user.sys_id;//return user.sys_id;
//            else
//               return null;
            var grInt = new GlideRecord('interaction');
                grInt.initialize();
                grInt.assigned_to= gs.getUserID();
                grInt.type= 'phone';
                grInt.opened_for= opened_for;
            var sysid=grInt.insert();
            return 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;
                 
                // This line is Added - to capture it in the Activity Log
               webexcc.u_customername=actInfo.CustomerName;
                 
                sys_id=webexcc.insert();
 
                //Activities on Incident record;
                var actInfoString =this.getParameter('actInfo');
                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.orderByDesc('sys_created_on');
                            inc.query();
                                if (inc.next()) {
                                    var jsonPretty = JSON.stringify(JSON.parse(actInfoString),null,2); 
                                    inc.comments =jsonPretty;
                                inc.update();
     
                            }
                    }
            }  
            return sys_id;
       },
 
    type: 'propUtils'
});

Skapa en CAD-variabel i Flow designer

Webex Contact Center CAD variable flow designer with Add Flow Variable popup for CustomerName.

Lägga till CAD-variabeln i skrivbordslayouten

Exempel

"CadName1:SnowField1,CadName2:SnowField2"
 CadName1 is CustomerName
 SnowField1 is also used as CustomerName which is part of sample scirpt showen above "actInfo.CustomerName".

Example source code for adding the CAD variable to the Desktop Layout.

Demo skärmdumpar

Visa den nyligen tillagda CAD-variabeln i tabellen WebExCC Activity.

ServiceNow example of the newly added CAD variable in the WebexCC Activity table, showing ‘Customer Name’ in the Cisco WebexCC popup.

ServiceNow example of the newly added CAD variable in the WebexCC Activity table, showing ‘CustomerName’ in the comments section under ‘Activity’ and ‘System Administrator.’

ServiceNow developer instance example of the newly added CAD variable in the WebexCC Activity table, showing the ‘CustomerName’ column.

Skapa CAD-variabel för Flow Designer

Brådskande incidenter

Webex Contact Center flow designer create CAD variable screen showing the edit flow variable popup for an incident urgency flow variable.

Incidentpåverkan

Webex Contact Center flow designer create CAD variable screen showing the edit flow variable popup for an incident urgency flow variable.

Service Now-skriptuppdatering

Uppdateringar av skriptet inkluderar

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

    Välj alternativet Skript inkluderar under Systemgränssnitt.

    ServiceNow developer instance filter navigator search for ‘script includes’

  2. Filtrera namnet med propUtils.

    ServiceNow developer instance Script Includes name filter by ‘propUtils’

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

    ServiceNow developer instance Script Includes – propUtils details page.

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

    Ny exempelkod för händelsen:

    UserGetSysId : function () {
                var opened_for;
                
                var sysidlist = {};
                var user = new GlideRecordSecure("sys_user");
                  user.addQuery(this.getParameter('field'),this.getParameter('value'));
                  user.query();
                  if(user.next()) {
                     opened_for=user.sys_id;//return user.sys_id;
                        var inc = new GlideRecordSecure('incident');
                                inc.addQuery('caller_id', opened_for);
                                inc.addQuery('state','IN','1,2');
                                inc.orderByDesc('sys_created_on');
                                inc.query();
                                    if (inc.next()) {
                                        sysidlist.incsysid=inc.getUniqueValue();
                                   }else{
                                        inc.initialize();
                                        inc.caller_id=opened_for;
                                        inc.contact_type='phone';
                                        inc.urgency=this.getParameter('IncUrgency');
                                        inc.impact=this.getParameter('Impact');
                                        inc.short_description='Call Received From '+ this.getParameter('value');
                                        sysidlist.incsysid=inc.insert();
                                    }
                  } 
                var grInt = new GlideRecordSecure('interaction');
                    grInt.initialize(); 
                    grInt.assigned_to= gs.getUserID(); 
                    grInt.type= 'phone'; 
                    grInt.opened_for= opened_for; 
                var sysid=grInt.insert();
                sysidlist.sysid=sysid;
                
                return JSON.stringify(sysidlist);//sysid;
            },

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

    Välj alternativet Användar gränssnittssidor under Systemgränssnitt.

    ServiceNow developer instance filter navigator search for ‘Ui page’

  2. Filtrera användargränssnittssidorna med namn och sök efter agentdesktop.

    ServiceNow developer instance UI Pages name filter to search ‘agentdesktop’

  3. Ändra skärmpop- funktionen i skriptfältet.

    ServiceNow developer instance UI Page – agentdesktop details page.

    Nuvarande funktion:

    // screen pop
    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();
      
    openFrameAPI.openServiceNowForm({
    entity: 'interaction',
    query: 'sys_id='+sysid
    });
    
    }

    Exempelkod för händelsen:

    // screen pop
    function 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('field', 'phone');
            gaout.addParam('value', callerani);
            gaout.addParam('IncUrgency', IncUrgency);
            gaout.addParam('Impact', Impact);
            gaout.getXMLWait();
          // var sysid = gaout.getAnswer();
          var sysObj = JSON.parse(gaout.getAnswer());
        
        if(sysObj.incsysid){
            openFrameAPI.openServiceNowForm({
            entity: 'incident',
            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 uppringningsinformationen finns i CRM, och det inte finns någon ny eller pågående incident öppnar applikationen en ny incident

ServiceNow example of an incident.

ServiceNow example of an interaction.

Ändra koden på ServiceNow

Lägga till nya kolumner i tabellen WebExCC IMP-aktivitet

Öppna tabellen WebExCC IMP-aktivitet

ServiceNow developer instance WebexCC Activity TransformMap.

ServiceNow developer instance WebexCC Activity TransformMap details page.

Lägg till en ny kolumn - InteractionsNumber

ServiceNow developer instance WebexCC Activity TransformMap new column, InteractionNumber.

ServiceNow developer instance WebexCC Activity TransformMap details page showing the new ‘interactionnumber’ column added.

Lägg till en ny kolumn - IncidentNumber

ServiceNow developer instance WebexCC Activity TransformMap details page showing adding a new ‘incidentnumber’ column.

Klicka på Uppdatera.

ServiceNow developer instance WebexCC Activity TransformMap details page showing editing the max length for the IncidentNumber column.

ServiceNow developer instance WebexCC Activity TransformMap details page showing the new ‘incidentnumber’ column added.

Lägga till nya kolumner i tabellen Telefonlogg

Öppna tabellen Telefonlogg

ServiceNow developer instance Phone Log table.

Lägg till en ny kolumn - InteractionsNumber

ServiceNow developer instance Directory Entry – New Record page showing a new column for InteractionsNumber.

ServiceNow Developer instance Phone Log table with InteractionsNumber column added.

Lägg till en ny kolumn - IncidentNumber

ServiceNow developer instance Directory Entry – New Record page showing a new column for IncidentNumber.

ServiceNow Developer instance Phone Log table with IncidentNumber column added.

WebExCC Aktivitetstransformeringskarta

Öppna omvandlingskartan från filternavigatorn

ServiceNow developer instance filter navigator search for ‘transform map’

ServiceNow developer instance Table Transform Maps showing WebexCC Activity TransformMap in results.

Klicka på WebExCC Activity TransformMap

ServiceNow developer instance WebexCC Activity TransformMap.

Lägg till ny - för Interaktionsnummerkarta

ServiceNow developer instance WebexCC Activity TransformMap with ‘InteractionNumber’ entered into the ‘Target field’

ServiceNow developer instance WebexCC Activity TransformMap with ‘InteractionNumber’ added.

Lägg till ny - för Incident Number Map

ServiceNow developer instance WebexCC Activity TransformMap with ‘IncidentNumber’ entered into the ‘Target field’

Klicka på Uppdatera.

ServiceNow developer instance WebexCC Activity TransformMap with ‘IncidentNumber’ added.

Ändringar i skript inkluderar

  1. Gå till filternavigatorn och sök efter ”script include”.

    Välj Skript Inkluderar under Systemgränssnitt.

    ServiceNow developer instance filter navigator with search for ‘script includes’

  2. Filtrera namnet med PropUtils.

    ServiceNow developer instance Script Includes with Name filter applied to search and  ‘propUtils’ entered into the search field.

  3. Ändra metoden SetWeb ExccTable.

    ServiceNow developer instance Script includes - propUtils page

    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()) {
                    
                    //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="";
                    delete actInfo['interaction_sys_id'];
                    delete actInfo['incident_sys_id'];
                    if( interactionsysid!= null && interactionsysid != undefined){
                        var inte = new GlideRecordSecure('interaction');
                        //inte.get('sys_id', interactionsysid );
                        
                        inte.addQuery('sys_id', interactionsysid );
                        inte.query();
                        if (inte.next()) {
                            intenum=inte.number;
                           // inte.setValue('state','Closed Complete');
                            inte.work_notes='Update State to closed.';
                            inte.update();
        
                        }
                    }
                    if( incsysid!= null && incsysid != undefined){
                        var inci = new GlideRecordSecure('incident');
                        inci.addQuery('sys_id', incsysid );
                        inci.query();
                        if (inci.next()) {
                            incnum=inci.number;
                            var jsonPretty = JSON.stringify(actInfo,null,2); //JSON.stringify(JSON.parse(actInfoString),null,2);  
                            inci.comments =jsonPretty;
                            inci.update();
        
                        }
                    }else{
                      var suser = new GlideRecordSecure("sys_user");
                        suser.addQuery("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.wrapuptime;
                    webexcc.u_callduration =actInfo.CallDurationInSeconds;
                    webexcc.u_ringingtime =actInfo.ringingtime;
                    webexcc.u_activitydate =actInfo.ActivityDate;
                    webexcc.u_callobject =actInfo.CallObject;
                    webexcc.u_calltype =actInfo.CallType;
                    webexcc.u_calldisposition=actInfo.CallDisposition;
                    webexcc.u_incidentnumber=incnum;
                    webexcc.u_interactionsnumber=intenum;
                    sys_id=webexcc.insert();
    
                    
                                
                }    
                return sys_id;
           },

Metodändringar på användargränssnittssidor

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

    Välj alternativet Användar gränssnittssidor under Systemgränssnitt.

    ServiceNow developer instance filter navigator with search for ‘Ui page’

  2. Filtrera användargränssnittssidorna med namn och sök efter agentdesktop.

    ServiceNow developer instance UI Pages with Name filter applied to search.

  3. Ändra funktionen NowActivities och screenpop i skriptet.

    ServiceNow developer instance UI Page – agentdesktop.

    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 händelsen:

    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

ServiceNow developer instance Phone Logs page.

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

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

Skapa en ny incidentpost för varje samtal

För varje nytt samtal till WebExCC CRM-anslutningen i ServiceNow skapar du en ny incidentpost.

  1. Sök efter affärsregler i filternavigatorn

    ServiceNow developer instance Business Rules page header.
  2. Klicka på Ny.

    ServiceNow developer instance Business Rule – New Record.

    Provkod för 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", name);                
                }
                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;
                return url;
    }
     
    function 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

    ServiceNow developer instance Business Rule – CTI Processing For Incident page as a sample configuration of the business rule.
  3. Aktivera Client callable

    ServiceNow developer instance Business Rules page with the Personalized List Columns popup screen showing ‘Client callable’ in the ‘Selected’ column.

    Computer Telephony Integration (CTI) Processing for Incident är markerad som True.

    ServiceNow developer instance Business Rules page showing the Client callable column with options to select ‘true’ or ‘false’
  4. Uppdatera skärmpop-webbadressen med den anpassade CTI-regeln "cti.do? sysparm_cti_rule=SkapaIncident& = "sysparm_caller_phone

    System Property page for screenpop_url showing update to the custom CTI rule in the ‘Value’ field.
Exempel

sysparm_cti_rule=name där 'name' är namnet på en funktion ska anrop as för CTI-bearbetning snarare än att använda standardskriptet.

Definiera funktionen i en sys_scriptpost som är märkt klientkallbar.

Om du måste infoga, uppdatera eller ta bort GlidereCord i funktionen anropar du en separat icke-klientanropbar funktion för att utföra uppdateringarna.

Om du vill göra ett skript klientkallbart måste du markera kryssrutan Client-callable i formuläret som visas när posten visas. sys_script

Kryssrutan Client-callable visas inte som standard. För att visa måste du ändra fälten som visas i formuläret med hjälp av kugghjulsikonen och slush buck-mekanismen.

Referenser

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

Översikt

Den här artikeln beskriver processen för att lägga till en ytterligare kolumn i ServiceNow-tabellen - 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 affärsspecifika variabler (CAD-variabler) i WebExCC Flow Designer och lägga till dessa CAD-variabler i ServiceNow-aktivitetslo ggen efter anropet och behålla detta i aktivitetstabellens data efter samtal.

  • Detta är endast referensdokumentation - och visar hur man gör detta för ett exempel på en CAD-variabel som heter Customer Name som lagrar kundnamnet i IVR och skickar detta till ServiceNow.

  • Partner+kundserviceNow-utvecklarna kommer att konfigurera och hantera den här konfigurationen eftersom den är en anpassning till den befintliga anslutningen.

  • Cisco kommer bara att tillhandahålla teknikerna för hur du anpassar och förlänger kontakten.

  • 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.

    ServiceNow developer instance Table – WebexCC Activity page.
  2. Gå till Studio > Webex Contact Center.

    ServiceNow developer instance filter navigator search for ‘studio’  highlighting the cross launch search result for ‘App Engine Studio’

    App Engine Studio Select Application screen showing Webex Contact Center in the search results.

    App Engine Studio Webex Contact Center screen.

  3. Välj WebExCC Aktiv itetstabell.

    App Engine Studio WebexCC Activity table.
  4. Till exempel CustomerName.

    App Engine Studio WebexCC Activity table column edit example for ‘CustomerName’ column.

    App Engine Studio WebexCC Activity table screen.

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

    App Engine Studio WebexCC Activity table list layout showing ‘CustomerName’ highlighted in the ‘Selected’ column.
Skapa ett nytt skript Inkluderar

Det här steget krävs inte om du använder Update Set XML - Endast en rad krävs för att läggas till "webexcc. u_customername=ActInfo.customerName "till PropUtils.

ServiceNow developer instance filter navigator search for ‘script includes’

ServiceNow developer instance Script Includes page with ‘Application’ in the filter.

ServiceNow developer instance Script Includes – New Record page.

Exempelskript

Se raden med: webexcc. u_customername=ActInfo.customer Name; med en stödjande kommentar.

var propUtils2 = Class.create();
propUtils2.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{
         getWebexccProp : function () {
           var webexccprop = {};
           webexccprop.instanceurl= 'https://'+gs.getProperty('instance_name')+'.service-now.com/';
           webexccprop.url=gs.getProperty('x_caci_webexcc.agentdesktop_url');
           webexccprop.popupurl=gs.getProperty('x_caci_webexcc.screenpop_url');
           return  JSON.stringify(webexccprop);
      
        },
        setWebexcctable : function () {
            var sys_id=0;
             
            var actInfo = JSON.parse(this.getParameter('actInfo'));
            var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable'));
            webexcc.addQuery("callobject", actInfo.CallObject);
            webexcc.query();
            if(!webexcc.next()) {
                webexcc.ani = actInfo.ani;
                webexcc.dnis =actInfo.dnis; 
                webexcc.queuename =actInfo.queuename;
                webexcc.wrapuptime =actInfo.wrapuptime;
                webexcc.callduration =actInfo.CallDurationInSeconds;
                webexcc.ringingtime =actInfo.ringingtime;
                webexcc.activitydate =actInfo.ActivityDate;
                webexcc.callobject =actInfo.CallObject;
                webexcc.calltype =actInfo.CallType;
                webexcc.calldisposition=actInfo.CallDisposition;
 
               // This line is Added - to capture it in the Activity Log
               webexcc.u_customername=actInfo.CustomerName;
 
                sys_id=webexcc.insert();
  
                // Activities on Incident record;
                var actInfoString =this.getParameter('actInfo');
                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.orderByDesc('sys_created_on');
                            inc.query();
                                if (inc.next()) {
                                    var jsonPretty = JSON.stringify(JSON.parse(acting string),null,2);  
                                    inc.comments =jsonPretty;
                                inc.update();
                                 }
                    } 
            }    
            return sys_id;
       },
 
    type: 'propUtils2'
});
Redigera användargränssnittssidan med ett nytt scriptnamnApp Engine Studio agentdesktop UI page with new script name.

Skapa en CAD-variabel i Flow designerWebex Contact Center flow designer with Add Flow Variable popup showing adding a CustomerName variable.

Lägga till CAD-variabeln i skrivbordslayoutenWebex Contact Center CAD variable to the desktop layout script with ‘CustomerName:CustomerName’ highlighted.

Demo skärmdumpar

Visa den nyligen tillagda CAD-variabeln i tabellen WebExCC Activity.

ServiceNow developer instance showing newly added CAD variable in the WebexCC Activity table.

ServiceNow developer instance WebexCC Activities screen.

CRM-anslutningen fungerar baserat på den version av widgeten som anges i skrivbordslayouten JSON. Det är oerhört viktigt att se till att widgetversionen i skrivbordslayouten hålls uppdaterad.

Administratörer förväntas se till att alla skrivbordslayouter för denna CRM-anslutning använder den här widgetversionen. If the layout is not updated to use the latest version, functionality will no longer be supported and may cease to work correctly.

  • Senaste ServiceNow uppdatering— ServiceNow_Desktop_0 .1.0_v5.0.3.json. Från och med mars 2024 är paketversionen 1.0.9
  • Senaste XML-uppdatering—WebExcc-ServiceNow-Update-SetV7-1-ActionsWidget.xml, juni 2024

Var den här artikeln användbar?
Var den här artikeln användbar?