Integreer het Webex Contact Center met ServiceNow (versie 1 en ouder)

list-menuFeedback?
Wanneer u Webex Contact Center integreert met de ServiceNow CRM-console, kunt u Webex Contact Center Desktop starten vanuit ServiceNow.

Vereisten

De minimale ondersteunde grootte voor de softphone-interface is 500 px. Elke waarde lager dan 500 px kan leiden tot scherm- of functionaliteitsproblemen.

Voordat u Webex Contact Center integreert met de ServiceNow CRM-console, moet u ervoor zorgen dat u over het volgende beschikt:

Volg een van de twee onderstaande methoden:

  • Voor ontwikkelaarsinstanties raden we aan de stappen in de handleiding voor ontwikkelaars te volgen.
  • Als u eigenaar bent van een exemplaar met een bedrijfslicentie, volg dan de richtlijnen voor exemplaren met een bedrijfslicentie.

We raden af om de app met een licentie voor ondernemingen te combineren met sandbox-exemplaren voor ontwikkelaars.

Digitale kanalen zoals chat en e-mail worden niet ondersteund met CRM-connectoren. Dit is van toepassing op alle CRM-integraties die deze connectoren gebruiken. Gelieve uw implementatie- en klantcontactworkflows dienovereenkomstig te plannen.

In de volgende gedeelten worden de stappen beschreven om de ServiceNow-connector te installeren voor instanties van ontwikkelaars.

1

Meld u aan bij uw ServiceNow-account voor ontwikkelaars en open de beheerconsole.

2

Klik in het gedeelte Mijn instantie van het Accountmenu op Opbouw starten.

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

3

Op uw ontwikkelaarsversie navigeert u in het veld Filternavigator in de linkerbovenhoek van het venster naar Plug-ins.

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

4

Zoek naar de Openframe-plug-in met de titel Openframe. Misschien moet u door de lijst bladeren.

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

5

Klik op Installeren om de Openframe-plug-in te installeren.

6

Klik in het dialoogvenster Plugin activeren op Activeren.

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

7

Wanneer de activering van de plug-in is voltooid, klikt u op Formulier sluiten en opnieuw laden in het dialoogvenster Plug-in-activering.

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

Om de activering van de plug-in te controleren, navigeert u in het veld Filternavigator in de linkerbovenhoek van het venster naar OpenFrame.

9

Klik op Configuraties en zorg ervoor dat de OpenFrame-plug-in wordt weergegeven in de lijst met OpenFrame-configuraties.

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

1

Download het meest recente XML-bestand van de System Update Set dat beschikbaar is in de github-repo op deze locatie: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Bestandsnaam: WebXCC-ServiceNow-Update-SETV (X) .xml

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

2

In uw ServiceNow-exemplaar navigeert u in het veld Filternavigator linksboven in het venster naar System Update Sets > Update Sets to Commit.

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

Klik op de link Updateset importeren via XML.

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

4

Klik op Bestand kiezen, selecteer het XML-bestand van de System Update Set en klik vervolgens op Uploaden.

ServiceNow developer instance import XML screen.

ServiceNow developer portal retrieved update sets list.

De updateset verschijnt in de lijst Opgehaalde updatesets en bevindt zich in de status Geladen.
5

Klik in de lijst met opgehaalde updatesets op de bestandsnaam van de updateset (link) om de updateset te openen.

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

6

Klik rechtsboven in het venster op Preview Update Set om te controleren of er problemen zijn met de updateset.

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

7

Klik op Sluiten in het dialoogvenster Update Set Preview zodra de voorvertoning is voltooid.

ServiceNow developer portal with the update set preview success notification.

8

Klik op Update Set vastleggen.

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

9

Klik op Sluiten in het dialoogvenster Update Set Commit zodra het vastleggen van de Update Set is voltooid.

ServiceNow developer portal with the update set commit success notification.

1

Typ in het veld Filternavigator linksboven in het venster sys_properties.listen druk op enter.

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

2

Sorteer op de pagina Systeemeigenschappen de eigenschappen op bijgewerkte datum. Zorg ervoor dat u de volgende eigenschappen van Webex Contact Center kunt zien:

ServiceNow developer instance system properties page.

3

Klik agentdesktop_urlom de agentdesktop_url pagina met systeemeigenschappen te openen.

4

Voer in het veld Waarde de URL in voor de Webex Contact Center-desktop, afhankelijk van de regio waarin u werkt.

ServiceNow developer instance system property details for agentdesktop_url.

5

Klik op Update om de wijzigingen op te slaan.

6

(Optioneel) Als u de naam van de activiteitentabel wilt wijzigen, moet u indien nodig de eigenschappen van de webexccactivitytable bewerken.

Klik op de pagina Systeemeigenschappen op webexccactivitytable.

Wijzig zo nodig het veld Waarde.

ServiceNow developer instance system property details for webexactivitytable.

7

(Optioneel) Voeg gebruikersgroepen toe op de volgende manieren:

  1. Navigeer in het veld Filternavigator linksboven in het venster naar Groepen onder Systeembeveiliging.

    ServiceNow developer instance filter navigator search for ‘Groups’ under ‘System Security’
  2. Maak een nieuwe gebruikersgroep aan of gebruik een bestaande gebruikersgroep.

    ServiceNow developer instance group page for WebexccAgentsGroup.

  3. Klik op Bewerken.

  4. Zoek naar sn_openframe_useronder Verzameling en verplaats het naar uw gebruikersgroep.

    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. Klik op Opslaan.

  6. Voeg de gebruiker toe als groepslid.

    ServiceNow developer instance group page with user roles assigned.

1

Navigeer in het veld Filternavigator naar OpenFrame > Configuraties.

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

2

Klik op Nieuw.

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

3

Voer de volgende eigenschappen in voor de URL:

  • Naam: Webex Contact Center Desktop

  • Titel: Webex Contact Center

  • Breedte: 550 (aanbevolen)

  • Hoogte: 600 (aanbevolen)

4

Klik rechts van het URL-veld op de knop Vergrendelen en voeg deze toe agentdesktop.doals URL. (Voer deze stap uit om de configuratie naar de UI-pagina te verwijzen)

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

5

(Optioneel) Selecteer de gebruikers-/agentgroep (en) om de configuratie toe te wijzen.

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

6

Klik op Verzenden. De URL wordt weergegeven als een link.

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

7

Voordat u de OpenFrame-telefoon probeert te gebruiken, moet u ervoor zorgen dat u het aangepaste JSON-bestand van ServiceNow naar het Webex Contact Center uploadt. Management Portal Zie De ServiceNow-desktopindeling instellen op Webex Contact Center voor meer informatie.

1

Download de bureaubladindeling voor ServiceNow van https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

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

2

Werk indien nodig de eigenschappen in het bestand Desktop Layout bij.

3

Ga naar het Webex Contact CenterManagement Portal.

4

Kies op de Management Portal navigatiebalk Provisioning > Desktop Layout.

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

5

Klik op Nieuwe indeling en voer de gegevens voor de bureaubladindeling in.

6

Upload het JSON-bestand van ServiceNow Desktop Layout.

7

Klik op Opslaan om de configuratie op te slaan.

U kunt nu de Webex Contact Center-desktop starten in de ServiceNow-console.

8

Navigeer vanuit het veld Filter Navigator naar Service Operations Workspace.

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

In de volgende gedeelten worden de stappen beschreven om de ServiceNow-connector te installeren voor gelicentieerde bedrijfsinstanties.

1

Meld u aan bij uw ServiceNow-account voor ontwikkelaars en open de beheerconsole.

2

Klik in het gedeelte Mijn instantie van het Accountmenu op Opbouw starten.

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

3

Op uw ontwikkelaarsversie navigeert u in het veld Filternavigator in de linkerbovenhoek van het venster naar Plug-ins.

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

4

Zoek naar de Openframe-plug-in met de titel Openframe. Misschien moet u door de lijst bladeren.

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

5

Klik op Installeren om de Openframe-plug-in te installeren.

6

Klik in het dialoogvenster Plugin activeren op Activeren.

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

7

Wanneer de activering van de plug-in is voltooid, klikt u op Formulier sluiten en opnieuw laden in het dialoogvenster Plug-in-activering.

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

Om de activering van de plug-in te controleren, navigeert u in het veld Filternavigator in de linkerbovenhoek van het venster naar OpenFrame.

9

Klik op Configuraties en zorg ervoor dat de OpenFrame-plug-in wordt weergegeven in de lijst met OpenFrame-configuraties.

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

1

Voer in het veld Filternavigator linksboven in het venster in sys_properties.list.

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

2

Sorteer op de pagina Systeemeigenschappen de eigenschappen op bijgewerkte datum. Zorg ervoor dat u de volgende eigenschappen van Webex Contact Center kunt zien:

ServiceNow developer instance system properties page results.

3

Klik agentdesktop_urlom de agentdesktop_url pagina met systeemeigenschappen te openen.

4

Voer in het veld Waarde de URL in voor de Webex Contact Center-desktop, afhankelijk van de regio waarin u werkt.

ServiceNow developer instance system property details page for agentdesktop_url.

5

Klik op Update om de wijzigingen op te slaan.

6

(Optioneel) Als u de naam van de activiteitentabel wilt wijzigen, moet u de eigenschappen van x_caci_webexcc.webexccactivitytable zo nodig bewerken.

  1. Klik op de pagina Systeemeigenschappen op x_caci_webexcc.webexccactivitytable.

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

  2. Wijzig zo nodig het veld Waarde.

    ServiceNow developer instance system property page for x_caci_webexcc.webexccactivitytable.

7

(Optioneel) Voeg gebruikersgroepen toe op de volgende manieren:

  1. Navigeer in het veld Filternavigator linksboven in het venster naar Groepen onder Systeembeveiliging.

    ServiceNow developer instance filter navigator results for ‘Groups.’

    SeviceNow developer instance group page for webexccagentsgroup.

  2. Klik op Bewerken en voeg de volgende rollen toe:

    • 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

Navigeer in het veld Filternavigator naar OpenFrame > Configuraties.

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

2

Klik op Nieuw.

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

3

Voer de volgende eigenschappen in voor de URL:

  • Naam: Webex Contact Center Desktop

  • Titel: Webex Contact Center

  • Breedte: 550 (aanbevolen)

  • Hoogte: 600 (aanbevolen)

4

Klik rechts van het URL-veld op de knop Vergrendelen en voeg deze toe x_caci_webexcc_agentdesktop.doals URL. (Voer deze stap uit om de configuratie naar de UI-pagina te verwijzen)

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

5

(Optioneel) Selecteer de gebruikers-/agentgroep (en) om de configuratie toe te wijzen.

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

6

Klik op Verzenden. De URL wordt weergegeven als een link.

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

7

Navigeer vanuit het veld Filter Navigator naar Service Operations Workspace.

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

8

(Optioneel) Verplaats in de lijst met gebruikersgroepen de gebruikersgroepen die toegang hebben tot de Webex Contact Center-desktop van Beschikbaar naar Geselecteerd.

9

Voordat u de OpenFrame-telefoon probeert te gebruiken, moet u ervoor zorgen dat u het aangepaste JSON-bestand van ServiceNow naar het Webex Contact Center uploadt. Management Portal Zie De ServiceNow-desktopindeling instellen op Webex Contact Center voor meer informatie.

1

Download de bureaubladindeling voor ServiceNow van https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

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

2

Werk indien nodig de eigenschappen in het bestand Desktop Layout bij.

3

Ga naar het Webex Contact CenterManagement Portal.

4

Kies op de Management Portal navigatiebalk Provisioning > Desktop Layout.

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

5

Klik op Nieuwe indeling en voer de gegevens voor de bureaubladindeling in.

6

Upload het JSON-bestand van ServiceNow Desktop Layout.

7

Klik op Opslaan om de configuratie op te slaan.

U kunt nu de Webex Contact Center-desktop starten in de ServiceNow-console.

8

Navigeer vanuit het veld Filter Navigator naar Service Operations Workspace.

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

1

Navigeer in het veld Filternavigator naar Incidenten > Incident openen.

2

Klik met de rechtermuisknop op het veld voor de beller en klik op Woordenboek configureren.

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

3

Voeg attributen “ref_contributions=show_phone,toe die gescheiden zijn door komma's.

ServiceNow developer instance call incident window for a Directory Entry.

U kunt nu beginnen met het gebruik van de Webex Contact Center Desktop in de ServiceNow-console.

4

Navigeer vanuit het veld Filter Navigator naar Service Operations Workspace.

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

  • We ondersteunen het aanmelden Agent Desktop met alleen WebRTC for Salesforce (SFDC) en Microsoft Dynamics (MS Dynamics) Connectors.
  • Momenteel is deze functie alleen van toepassing op agenten.

Agent Desktopin de ServiceNow-console

Zorg ervoor dat u het volgende doet voordat u naar buiten belt:

  • Creëer het startpunt voor de outdial en stel een strategie voor het instappunt voor de outdial op.

  • Schakel outdial ANI in voor het profiel van de agent.

  • Stel de ANI voor de outdial in op een Dial Number-to-Entry Point-toewijzing.

Zie voor meer informatie het hoofdstuk Provisioning van de handleiding voor Cisco Webex Contact Centerinstallatie en beheer.

Navigeer vanuit het veld Filter Navigator naar Service Operations Workspace.

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

Zie het tabblad Agent in de Help van Webex Contact Center voor informatie over het gebruik van Desktop.

Overzicht

Dit artikel behandelt verschillende manieren om uw bedrijfsregels voor de ServiceNow CRM-connector aan te passen. Hierin wordt beschreven hoe u de gebruiksscenario's kunt aanpassen op basis van bedrijfsregels die specifiek zijn voor ServiceNow.

De klant moet deze use-cases zelf beheren op ServiceNow. De configuratie is specifiek voor ServiceNow en niet voor Webex Contact Center-software of -expertise.

Dit is een referentiedocument ter ondersteuning van de wijziging van bedrijfsregels. De ontwikkelaars van ServiceNow zullen de bedrijfsregels opstellen en beheren en ondersteuning bieden.

Cisco biedt alleen voorbeelddocumentatie.

In de volgende gedeelten vindt u informatie over het instellen, inschakelen en beheren van de Actions-widget voor ontwikkelaars en ondernemingen.

De Update Set for Actions-widget vastleggen

Voor de gelicentieerde bedrijfsexemplaren installeert u de nieuwste Webex Contact Center-app uit de ServiceNow-winkel.

Om de Actions-widget in te stellen voor de ontwikkelaars, moet u het meest recente XML-bestand van de System Update Set downloaden dat beschikbaar is in de github-repo op deze locatie: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. De bestandsnaam is webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Om de updateset voor de Actions-widget vast te leggen, zie de stappen 2 tot en met 9 in De updateset vastleggen.

Acties-widget inschakelen

Gebruik de eigenschap IsWidgetDisplayEnabled om de Actions-widget in te schakelen. U mag de waarde van deze eigenschap niet wijzigen in de headless sectie van de aangepaste bureaubladindeling. De eigenschap is altijd ingesteld op false in het headless gedeelte van de aangepaste bureaubladindeling. U moet de waarde van de eigenschap alleen bijwerken in het paneelgedeelte van de aangepaste bureaubladindeling.

Zodra u de Actions-widget in de aangepaste bureaubladindeling hebt ingeschakeld, kunt u de volgende acties uitvoeren:

  • Activiteitsrecords beheren: klik op Activiteitsrecord bekijken/bewerken om de lijst met activiteitsrecords te bekijken die aan de beller zijn gekoppeld.
  • CRM-objecten koppelen: klik op Koppelen aan activiteitenrecords om CRM-objecten, zoals oproeptype (inkomend of uitgaand), oproepobject, gespreksnotities, enzovoort, toe te voegen aan het activiteitenrecord.
  • Incidenten beheren: klik op Incident aanmaken. Er is een nieuw incident ontstaan waarbij de gegevens van de beller vooraf zijn ingevuld. U kunt het incident op de hoogte brengen van de vereiste updates. U kunt ervoor kiezen om het recordtype van incident tot geval aan te passen, de HR-module, enzovoort op basis van uw vereisten. Om het recordtype te wijzigen, wijzigt u de waarde van de eigenschap typeOfRecord in de configuratie van de Actions-widget. Bijvoorbeeld:
    {
                  "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"
                      }
                    }
                  ]
                }
  • Voeg live gespreksnotities toe. U kunt in het tekstgedeelte aanvullende informatie over het gesprek vastleggen en het gesprek afronden. U kunt zien dat deze notities als gespreksnotities zijn toegevoegd in het activiteitenrecord.

Codewijziging op ServiceNow

Het script bevat wijzigingen
  1. Ga naar de filternavigator en zoek naar het script dat is inbegrepen.

    Selecteer het Script Includes onder System UI.

  2. Filter de naam en zoek naar PropUtils.

  3. Wijzig de methode UserGetSysid in het Script.

    Actueel:

    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;
    },

    Nieuwe voorbeeldcode voor het incident:

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

Wijziging van de methode op UI-pagina's
  1. Ga naar de filternavigator en zoek naar UI page.

    Selecteer UI-pagina's onder System UI.

  2. Filter de naam en zoek naar agentdesktop.

  3. Wijzig de screenpop-functie in Client-script.

    Huidige functie:

    // 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
    });

    Voorbeeldcode voor het incident:

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

Als de informatie over de beller aanwezig is in CRM en er is al een nieuw incident geopend met deze contactpersoon, opent de applicatie het incident dat bezig is

Als de informatie over de beller niet bestaat in CRM, opent de toepassing een nieuw incident

Als de informatie over de beller aanwezig is in CRM, opent de applicatie een nieuw incident met vooraf ingevulde gegevens

Overzicht

Deze use case beschrijft het proces om een extra kolom toe te voegen aan de ServiceNow-tabel - webexcc_imp_activity en die te creëren sn_openframe_phone_log na de installatie van de Webex CC for ServiceNow CRM Connector.

De tabel bevat standaard bepaalde kant-en-klare systeemvelden en -waarden.

U kunt meer bedrijfsspecifieke variabelen (CAD-variabelen) aanmaken in de WebXCC Flow designer en de CAD-variabelen toevoegen aan het activiteitenlogboek van ServiceNow na een gesprek, en dit ook opslaan in de gegevens van de activiteitentabel na het gesprek.

Dit is enkel een referentiedocumentatie - en laat zien hoe u dit moet doen voor een CAD-voorbeeldvariabele genaamd Customer Name, die de klantnaam opslaat in de IVR en deze naar ServiceNow stuurt.

Naar verwachting zullen de ontwikkelaars van Partner+Customer ServiceNow deze configuratie configureren en beheren, aangezien het een aanpassing is aan de bestaande connector.

Cisco biedt alleen de technieken om de connector aan te passen en uit te breiden.

Vanaf dit artikel heeft het Cisco-team de ondersteuning gevalideerd voor de toevoeging van een CAD-variabele aan het activiteitenlogboek en de activiteitentabel met behulp van de hieronder beschreven techniek:

Kolom toevoegen aan WebExcc IMP Activity

  1. Bewerk de tabel in de ontwikkelaarsversie van ServiceNow.

    ServiceNow developer instance WebexCC IMP activity table.

  2. Ga naar de filternavigator en zoek naar de studio.

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

    Selecteer het Webex Contact Center

    Studio app for ServiceNow with the Select Application window open.

    of

    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. Selecteer de activiteitstabel van WebEXCC IMP

    Studio app for ServiceNow WebexCC IMP Activity table.

  4. Een nieuwe kolom toevoegen, bijvoorbeeld 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.

Kolom aan telefoonlogboek toevoegen

  1. De tabel met het telefoonlogboek bewerken.

    ServiceNow developer instance search for a phone log table.

    ServiceNow developer instance phone log table.

  2. Voeg een nieuwe kolom toe, bijvoorbeeld CustomerName.

    ServiceNow developer instance phone log table new column examples.

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

WebXCC-kaart voor activiteitstransformatie

Studio app for ServiceNow WebexCC Activity Transform Map.

Voeg een nieuwe kolom toe, bijvoorbeeld CustomerName field mapping.

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.

Lijstkolommen personaliseren

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

Zoals Service Now aanbeveelt, wijzigt u de actie Keuze van creëren naar negeren.

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.

Lijst met telefoonlogboeken configureren

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

Ga naar Script Include

Voeg slechts één regel toe, webexcc. u_customername=Actinfo.customerName naar PropUtils.

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

ServiceNow developer instance Script Includes page.

Voorbeeldscript

Zie de regel: webexcc. u_customername=Actinfo.customerName; met een ondersteunende opmerking.

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'
});

Maak een CAD-variabele in Flow designer

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

Voeg de CAD-variabele toe aan de bureaubladindeling

Voorbeeld

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

Schermafbeeldingen van de demo

Bekijk de nieuw toegevoegde CAD-variabele in de WebExcc-activiteitstabel.

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.

Maak een CAD-variabele voor Flow Designer

Urgentie bij incidenten

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

Gevolgen van een incident

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

Service Now: scriptupdate

Updates voor het Script omvatten

  1. Ga naar de filternavigator en zoek naar script includes

    Selecteer de optie Script Includes onder System UI.

    ServiceNow developer instance filter navigator search for ‘script includes’

  2. Filter de naam met propUtils.

    ServiceNow developer instance Script Includes name filter by ‘propUtils’

  3. Wijzig de methode UserGetSysid in het Script-veld.

    ServiceNow developer instance Script Includes – propUtils details page.

    Huidig script:

    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;
    },

    Nieuwe voorbeeldcode voor het incident:

    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;
            },

Een wijziging van de methode op pagina's in de gebruikersinterface
  1. Ga naar de filternavigator en zoek naar UI pages.

    Selecteer de optie UI Pages onder System UI.

    ServiceNow developer instance filter navigator search for ‘Ui page’

  2. Filter de pagina's in de gebruikersinterface met een naam en zoek naar agentdesktop.

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

  3. Wijzig de screenpop-functie in het scriptveld.

    ServiceNow developer instance UI Page – agentdesktop details page.

    Huidige functie:

    // 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
    });
    
    }

    Voorbeeldcode voor het incident:

    // 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));
       
    }

Als de informatie over de beller aanwezig is in CRM, en er is geen nieuw incident of een incident gaande, dan opent de applicatie een nieuw incident

ServiceNow example of an incident.

ServiceNow example of an interaction.

Wijzig de code op ServiceNow

Nieuwe kolommen toevoegen aan de WebExCC IMP-activiteitstabel

Open de activiteitstabel van WebEXCC IMP

ServiceNow developer instance WebexCC Activity TransformMap.

ServiceNow developer instance WebexCC Activity TransformMap details page.

Een nieuwe kolom toevoegen - InteractionsNumber

ServiceNow developer instance WebexCC Activity TransformMap new column, InteractionNumber.

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

Een nieuwe kolom toevoegen: IncidentNumber

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

Klik op Update.

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.

Nieuwe kolommen aan de telefoonlogtabel toevoegen

Open de tabel met telefoonlogboeken

ServiceNow developer instance Phone Log table.

Een nieuwe kolom toevoegen - 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.

Een nieuwe kolom toevoegen: 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.

WebXCC-kaart voor activiteitstransformatie

Open de transformatiekaart vanuit de filternavigator

ServiceNow developer instance filter navigator search for ‘transform map’

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

Klik op WebExcc Activity TransformMap

ServiceNow developer instance WebexCC Activity TransformMap.

Nieuw toevoegen - voor Interaction Number Map

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

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

Voeg een nieuwe - voor Incident Number Map toe

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

Klik op Update.

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

Wijzigingen in Script omvatten

  1. Ga naar de filternavigator en zoek naar „script bevat”.

    Selecteer het Script Includes onder System UI.

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

  2. Filter de naam met ProPutils.

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

  3. Wijzig de methode SetWebExccTable.

    ServiceNow developer instance Script includes - propUtils page

    Nieuwe voorbeeldcode voor 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;
           },

Wijzigingen in de methode op pagina's van de gebruikersinterface

  1. Ga naar de filternavigator en zoek naar pagina's in de gebruikersinterface

    Selecteer de optie UI Pages onder System UI.

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

  2. Filter de pagina's in de gebruikersinterface met een naam en zoek naar agentdesktop.

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

  3. Wijzig de NowActivities- en screenpop-functie in het script.

    ServiceNow developer instance UI Page – agentdesktop.

    Huidige functie:

    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);
    
    
    }

    Voorbeeldcode voor het incident:

    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));
            
       
    }
    
    

Resultaten na de update

ServiceNow developer instance Phone Logs page.

De volgende aanpassingen zijn van toepassing op versies 1.0.5 en lager. Volg de bovenstaande stappen voor de aanpassingen voor de nieuwere versies 1.0.7 en hoger.

Aanpassing nummer 1 - Voeg aangepaste bedrijfsregels toe voor gebruikssituaties voor gespreksstromen

Maak voor elk gesprek een nieuw incidentendossier

Maak voor elke nieuwe oproep naar de WebXCC CRM-connector in ServiceNow een nieuw incidentrecord.

  1. Zoek naar bedrijfsregels in de filternavigator

    ServiceNow developer instance Business Rules page header.
  2. Klik op Nieuw.

    ServiceNow developer instance Business Rule – New Record.

    Voorbeeldcode ter referentie:

    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;
    }

    Voorbeeldconfiguratie van de bedrijfsregel

    ServiceNow developer instance Business Rule – CTI Processing For Incident page as a sample configuration of the business rule.
  3. Cliënt oproepbaar inschakelen

    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 is gemarkeerd als True.

    ServiceNow developer instance Business Rules page showing the Client callable column with options to select ‘true’ or ‘false’
  4. De URL van het screenpop bijwerken met de aangepaste CTI-regel „cti.do? sysparm_cti_rule=Incident aanmaken& = "sysparm_caller_phone

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

De sysparm_cti_rule=naam waarbij 'name' de naam van een functie is, moet worden aangeroepen voor CTI Processing in plaats van het standaardscript te gebruiken.

Definieer de functie in een sys_scriptitem met de aanduiding „client callable”.

Als u GlideRecord (s) in de functie moet invoegen, bijwerken of verwijderen, roep dan een aparte functie aan die niet door de client kan worden opgeroepen om de updates uit te voeren.

Om een script client-opvraagbaar te maken, moet u het selectievakje client-oproepbaar aanvinken op het formulier dat verschijnt wanneer de invoer wordt weergegeven. sys_script

Het selectievakje dat door de klant kan worden opgeroepen, wordt standaard niet weergegeven. Om ze te kunnen bekijken, moet u de velden aanpassen die op het formulier worden weergegeven met behulp van het tandwielpictogram en het slush bucket-mechanisme.

Referenties

Aanpassing nummer 2 - Voeg een CAD-variabele toe aan de activiteitentabel van Webex Contact Center

Overzicht

Dit artikel beschrijft het proces om een extra kolom toe te voegen aan de ServiceNow-tabel, webexcc_activity die wordt aangemaakt na de installatie van de Webex CC for ServiceNow CRM Connector.

De tabel bevat standaard systeemvelden en -waarden die standaard uit de doos bestaan.

U kunt mogelijk meer bedrijfsspecifieke variabelen (CAD-variabelen) aanmaken in de WebXCC Flow designer en die CAD-variabelen toevoegen aan het activiteitenlogboek van ServiceNow na een gesprek, en dit bewaren in de gegevens van de activiteitstabel na het gesprek.

  • Dit is enkel referentiedocumentatie - en laat zien hoe u dit moet doen voor een CAD-voorbeeldvariabele genaamd Customer Name, die de klantnaam opslaat in de IVR en deze naar ServiceNow stuurt.

  • De ontwikkelaars van Partner+Customer ServiceNow zullen deze configuratie configureren en beheren, aangezien het een aanpassing is aan de bestaande connector.

  • Cisco biedt alleen de technieken om de connector aan te passen en uit te breiden.

  • Vanaf dit artikel heeft het Cisco-team de ondersteuning gevalideerd voor de toevoeging van een CAD-variabele aan het activiteitenlogboek en de activiteitentabel met behulp van de hieronder beschreven techniek.

Een kolom aan de WebXCC-activiteit toevoegen
  1. Bewerk de tabel in de ontwikkelaarsversie van ServiceNow.

    ServiceNow developer instance Table – WebexCC Activity page.
  2. Ga naar 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. Selecteer de WebExcc-activiteitstabel.

    App Engine Studio WebexCC Activity table.
  4. Bijvoorbeeld CustomerName.

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

    App Engine Studio WebexCC Activity table screen.

  5. Selecteer de lijstindeling voor WebXCC-activiteiten.

    App Engine Studio WebexCC Activity table list layout showing ‘CustomerName’ highlighted in the ‘Selected’ column.
Een nieuw script aanmaken Inclusief

Deze stap is niet vereist als u de Update Set XML gebruikt. Er is slechts één regel nodig om "webexcc toe te voegen. u_customername=Actinfo.customerName "naar 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.

Voorbeeldscript

Zie de regel met: webexcc. u_customername=Actinfo.customerName; met een ondersteunende opmerking.

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'
});
De UI-pagina bewerken met een nieuwe scriptnaamApp Engine Studio agentdesktop UI page with new script name.

Maak een CAD-variabele in Flow designerWebex Contact Center flow designer with Add Flow Variable popup showing adding a CustomerName variable.

Voeg de CAD-variabele toe aan de bureaubladindelingWebex Contact Center CAD variable to the desktop layout script with ‘CustomerName:CustomerName’ highlighted.

Schermafbeeldingen van de demo

Bekijk de nieuw toegevoegde CAD-variabele in de WebExcc-activiteitstabel.

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

ServiceNow developer instance WebexCC Activities screen.

De CRM-connector werkt op basis van de versie van de widget die is gespecificeerd in de JSON voor de desktopindeling. Het is uiterst belangrijk om ervoor te zorgen dat de widgetversie in de bureaubladindeling bijgewerkt blijft.

Van beheerders wordt verwacht dat ze ervoor zorgen dat alle desktoplay-outs voor deze CRM-connector deze widgetversie gebruiken. If the layout is not updated to use the latest version, functionality will no longer be supported and may cease to work correctly.

  • Laatste update van ServiceNow— ServiceNow_Desktop_0 .1.0_v5.0.3.json. Vanaf maart 2024 is de pakketversie 1.0.9
  • Laatste XML-update: WebExcc-ServiceNow-Update-SetV7-1-ActionsWidget.xml, juni 2024

Vond u dit artikel nuttig?
Vond u dit artikel nuttig?