Prerequisiti

Attualmente, questa funzione è applicabile solo agli agenti.

Prima di integrare Webex Contact Center con la console di ServiceNow CRM, assicurarsi di disporre di quanto segue:

Seguire uno dei due metodi seguenti:

Per istanze sviluppatore, si consiglia di seguire la procedura sotto la guida dell'istanza sviluppatore.

Se si possiede un'istanza con licenza Enterprise, seguire le linee guida per le istanze con licenza Enterprise.

Non si consiglia di combinare app con licenza aziendale le istanze sandbox per gli sviluppatori.

Le sezioni seguenti descrivono la procedura per installare il connettore ServiceNow per le istanze dello sviluppatore.

1

Accedere all'account del portale per gli sviluppatori di ServiceNow e aprire la console Amministrazione .

2

Dall'area Istanza personale del menu Account , fare clic su Avvia edificio.

3

Nell'istanza dello sviluppatore, dal campo Navigatore filtri nella parte superiore sinistra della finestra, selezionare Plug-in.

4

Ricercare il plug-in Openframe con il titolo Openframe. Potrebbe essere necessario scorrere l'elenco.

5

Fare clic su Installa per installare il plug-in Openframe.

6

Nel menu a finestra di dialogo , fare clic su Attiva.

7

Al termine dell'attivazione del plug-in, fare clic su Chiudi e ricarica modulo nella finestra di dialogo Attivazione plug-in .

8

Per verificare l'attivazione del plug-in, dal campo Filter Navigator (Filtro ) nella parte superiore sinistra della finestra, passare a OpenFrame.

9

Fare clic su Configurazioni e verificare che il plug-in OpenFrame venga visualizzato nell'elenco Configurazioni OpenFrame.

1

Scaricare il file XML più recente del set di aggiornamento di sistema disponibile sul repo github in questa posizione: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Nome file: webexcc-servicenow-update-setV(X).xml

2

Nell'istanza di ServiceNow, dal campo Navigatore filtri nell'angolo superiore sinistro della finestra, selezionare Set di aggiornamento di sistema > Set di aggiornamento su commit.

3

Fare clic sul collegamento Importa serie di aggiornamenti da XML .

4

Fare clic su Scegli file, selezionare il file XML Set di aggiornamento del sistema, quindi fare clic su Carica.

Il set di aggiornamento appare nell'elenco set di aggiornamenti recuperati e si trova nello stato Caricato.
5

Dall'elenco Set di aggiornamento recuperati , fare clic sul nome del file del set di aggiornamento (collegamento) per aprire il set di aggiornamento.

6

Nell'angolo superiore destro della finestra, fare clic su Anteprima aggiornamento impostato per verificare la serie di aggiornamenti per problemi.

7

Fare clic su Chiudi nella finestra di dialogo Aggiorna impostazione anteprima una volta completata l'anteprima.

8

Fare clic su Commit Aggiornamento impostato.

9

Fare clic su Chiudi nella finestra di dialogo Aggiorna commit impostato una volta completato l'impegno del set di aggiornamento.

1

Nel campo Navigatore filtri nell'angolo superiore sinistro della finestra, digitare sys_properties.list e premere Invio.

2

Nella pagina Proprietà di sistema , ordinare le proprietà in base alla data aggiornata. Accertarsi di visualizzare le seguenti proprietà di Webex Contact Center :

3

Fare agentdesktop_url clic per aprire la pagina Proprietà agentdesktop_url sistema.

4

Nel campo Valore , inserire l'URL del desktop Webex Contact Center in base alla regione di attività.

5

Fare clic su Aggiorna per salvare le modifiche.

6

(Opzionale) Per modificare il nome della tabella attività, modificare le proprietà di webexccactivitytable come richiesto.

Nella pagina Proprietà di sistema , fare clic su webexccactivitytable.

Modificare il campo Valore in base alle esigenze.

7

(Opzionale) Aggiungere gruppi di utenti nei seguenti modi:

  1. Nel campo Filtro navigatore nella parte superiore sinistra della finestra, selezionare Gruppi in Sicurezza sistema.

  2. Creare un nuovo gruppo di utenti o utilizzare un gruppo esistente.

  3. Fare clic su Modifica.

  4. Ricercare sn_openframe_user in Raccolta e spostarlo nel gruppo utenti.

  5. Fare clic su Salva.

  6. Aggiungi l'utente come membro del gruppo.

1

Dal campo Filter Navigator (Navigatore filtro), andare a OpenFrame > configurazioni.

2

Fare clic su Nuovo.

3

Immettere le seguenti proprietà per l'URL:

  • Nome: Desktop Webex Contact Center

  • Titolo: Webex Contact Center

  • Larghezza: 550 (consigliato)

  • Altezza: 600 (consigliato)

4

A destra del campo URL , fare clic sul pulsante Blocca e aggiungere agentdesktop.do come URL. (Effettuare questa operazione per indicare la configurazione alla pagina dell'interfaccia utente)

5

(Opzionale) Selezionare uno o più gruppi di utenti/agenti per assegnare la configurazione.

6

Fare clic su Invia. L'URL viene visualizzato come collegamento.

7

Prima di utilizzare il telefono OpenFrame, assicurarsi di caricare il file JSON del layout desktop personalizzato ServiceNow nel Portale di gestione Webex Contact Center. Per ulteriori informazioni, vedi Impostazione del layout del desktop ServiceNow su Webex Contact Center.

1

Scaricare il layout desktop per ServiceNow da https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

2

Aggiornare le proprietà nel file Layout desktop, se necessario.

3

Andare al portale di gestione Webex Contact Center .

4

Dalla barra di navigazione del Portale di gestione, scegliere Provisioning > Layout desktop.

5

Fare clic su Nuovo layout e inserire i dettagli per il layout desktop.

6

Caricare il file JSON layout desktop ServiceNow.

7

Fare clic su Save (Salva) per salvare la configurazione.

Ora è possibile avviare il desktop Webex Contact Center dalla console di ServiceNow.

8

Dal campo Navigatore filtri , passa a Spazio di lavoro operazioni di servizio.

Home page ServiceNow con Webex Contact Center Agent Desktop integrato con ServiceNow.

Nelle sezioni seguenti vengono descritte la procedura per installare il connettore ServiceNow per le istanze aziendali con licenza.

1

Accedere all'account del portale per gli sviluppatori di ServiceNow e aprire la console Amministrazione .

2

Dall'area Istanza personale del menu Account , fare clic su Avvia edificio.

3

Nell'istanza dello sviluppatore, dal campo Navigatore filtri nella parte superiore sinistra della finestra, selezionare Plug-in.

4

Ricercare il plug-in Openframe con il titolo Openframe. Potrebbe essere necessario scorrere l'elenco.

5

Fare clic su Installa per installare il plug-in Openframe.

6

Nel menu a finestra di dialogo , fare clic su Attiva.

7

Al termine dell'attivazione del plug-in, fare clic su Chiudi e ricarica modulo nella finestra di dialogo Attivazione plug-in .

8

Per verificare l'attivazione del plug-in, dal campo Filter Navigator (Filtro ) nella parte superiore sinistra della finestra, passare a OpenFrame.

9

Fare clic su Configurazioni e verificare che il plug-in OpenFrame venga visualizzato nell'elenco Configurazioni OpenFrame.

1

Nel campo Filter navigator (Navigatore filtro) nella parte superiore sinistra della finestra, inserire sys_properties.list.

2

Nella pagina Proprietà di sistema , ordinare le proprietà in base alla data aggiornata. Accertarsi di visualizzare le seguenti proprietà di Webex Contact Center :

3

Fare agentdesktop_url clic per aprire la pagina Proprietà agentdesktop_url sistema.

4

Nel campo Valore , inserire l'URL del desktop Webex Contact Center in base alla regione di attività.

5

Fare clic su Aggiorna per salvare le modifiche.

6

(Opzionale) Per modificare il nome della tabella attività, modificare le proprietà x_caci_webexcc.webexccactivitytable in base alle proprie esigenze.

  1. Nella pagina Proprietà di sistema , fare clic su x_caci_webexcc.webexccactivitytable.

  2. Modificare il campo Valore in base alle esigenze.

7

(Opzionale) Aggiungere gruppi di utenti nei seguenti modi:

  1. Nel campo Filtro navigatore nella parte superiore sinistra della finestra, selezionare Gruppi in Sicurezza sistema.

  2. Fai clic su Modifica e aggiungi i seguenti ruoli:

    • sn_openframe_user

    • x_caci_webexcc.agente

    • agent_workspace_user

    • x_caci_webexcc.webexcc_imp_activity_user

    • x_caci_webexcc.webex_contact_center

1

Dal campo Filter Navigator (Navigatore filtro), andare a OpenFrame > configurazioni.

2

Fare clic su Nuovo.

3

Immettere le seguenti proprietà per l'URL:

  • Nome: Desktop Webex Contact Center

  • Titolo: Webex Contact Center

  • Larghezza: 550 (consigliato)

  • Altezza: 600 (consigliato)

4

A destra del campo URL , fare clic sul pulsante Blocca e aggiungere x_caci_webexcc_agentdesktop.do come URL. (Effettuare questa operazione per indicare la configurazione alla pagina dell'interfaccia utente)

5

(Opzionale) Selezionare uno o più gruppi di utenti/agenti per assegnare la configurazione.

6

Fare clic su Invia. L'URL viene visualizzato come collegamento.

7

Dal campo Navigatore filtri , passa a Spazio di lavoro operazioni di servizio.

Home page ServiceNow con Webex Contact Center Agent Desktop integrato con ServiceNow.

8

(Opzionale) Nell'elenco Gruppo di utenti , spostare i gruppi di utenti che possono accedere al desktop di Webex Contact Center da Disponibile a Selezionato.

9

Prima di utilizzare il telefono OpenFrame, assicurarsi di caricare il file JSON del layout desktop personalizzato ServiceNow nel Portale di gestione Webex Contact Center. Per ulteriori informazioni, vedi Impostazione del layout del desktop ServiceNow su Webex Contact Center.

1

Scaricare il layout desktop per ServiceNow da https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

2

Aggiornare le proprietà nel file Layout desktop, se necessario.

3

Andare al portale di gestione Webex Contact Center .

4

Dalla barra di navigazione del Portale di gestione, scegliere Provisioning > Layout desktop.

5

Fare clic su Nuovo layout e inserire i dettagli per il layout desktop.

6

Caricare il file JSON layout desktop ServiceNow.

7

Fare clic su Save (Salva) per salvare la configurazione.

Ora è possibile avviare il desktop Webex Contact Center dalla console di ServiceNow.

8

Dal campo Navigatore filtri , passa a Spazio di lavoro operazioni di servizio.

Home page ServiceNow con Webex Contact Center Agent Desktop integrato con ServiceNow.

1

Dal campo Filtro navigatore, passa a Incidenti > Apri incidente.

2

Fai clic con il pulsante destro del mouse sul campo del chiamante e fai clic su Configura dizionario.

3

Aggiungere attributi separati da virgola "ref_contributions=show_phone,.

Ora è possibile iniziare a utilizzare il desktop Webex Contact Center all'interno della console ServiceNow.

4

Dal campo Navigatore filtri , passa a Spazio di lavoro operazioni di servizio.

Home page ServiceNow con Webex Contact Center Agent Desktop integrato con ServiceNow.

L'accesso a Agent Desktop utilizzando l'opzione Desktop (WebRTC) non è attualmente supportato.

Agent Desktop nella console ServiceNow

Prima di effettuare chiamate in uscita, assicurarsi di effettuare quanto segue:

  • Creare il punto di accesso outdial e impostare una strategia di punto di accesso outdial.

  • Abilitare l'ANI outdial per il profilo agente.

  • Impostare l'ANI di chiamata in un'associazione numero-ingresso.

Per ulteriori informazioni, vedi il capitolo Provisioning della Guida all'installazione e all'amministrazione di Cisco Webex Contact Center.

Dal campo Navigatore filtri , passa a Spazio di lavoro operazioni di servizio.

Home page ServiceNow con Webex Contact Center Agent Desktop integrato con ServiceNow.

Per informazioni su come utilizzare Desktop, vedere la scheda Agente nella Guida di Webex Contact Center.

Panoramica

Questo articolo descrive diversi modi per personalizzare le regole aziendali per il connettore CRM ServiceNow. Dettagli su come puoi personalizzare i casi d'uso in base alle regole aziendali specifiche di ServiceNow.

Il cliente deve gestire autonomamente questi casi d'uso su ServiceNow. La configurazione è specifica di ServiceNow e non del software o della competenza di Webex Contact Center.

Si tratta di una documentazione di riferimento per facilitare la modifica delle regole aziendali. Gli sviluppatori di ServiceNow creeranno e gestiranno le regole aziendali e forniranno supporto.

Cisco fornisce solo documentazione di esempio.

Le sezioni seguenti forniscono dettagli su come impostare, abilitare e gestire il widget delle azioni per istanze di sviluppo e aziendali.

Commit del widget Update Set per le azioni

Per le istanze aziendali con licenza, installare l'ultima app Webex Contact Center da ServiceNow Store.

Per impostare il widget Azioni per le istanze dello sviluppatore, scaricare l'ultimo file XML System Update Set disponibile sul repo github in questa posizione: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Il nome file è webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Per eseguire il commit dell'aggiornamento impostato per il widget Azioni, vedere i passaggi da 2 a 9 in Commit dell'aggiornamento impostato.

Abilita widget azioni

Utilizzare la proprietà isWidgetDisplayEnabled per abilitare il widget Azioni. Non è necessario modificare il valore di questa proprietà nella sezione headless del layout desktop personalizzato. La proprietà è sempre impostata su falso nella sezione headless del layout del desktop personalizzato. È necessario aggiornare il valore della proprietà solo nella sezione pannello del layout del desktop personalizzato.

Una volta abilitato il widget Azioni nel layout del desktop personalizzato, è possibile eseguire le seguenti azioni:

  • Gestisci record attività: fai clic su Visualizza/modifica record attività per visualizzare l'elenco dei record di attività associati al chiamante.
  • Oggetti CRM associati: fai clic su Associa a record attività per aggiungere oggetti CRM come tipo di chiamata (in entrata o in uscita), oggetto chiamata, note di chiamata e così via al record di attività.
  • Gestisci gli incidenti: fai clic su Crea incidente. Viene creato un nuovo incidente con i dettagli del chiamante precompilati. È possibile effettuare gli aggiornamenti richiesti per l'incidente. È possibile scegliere di modificare il tipo di record da incidente a caso, modulo HR e così via in base ai requisiti. Per modificare il tipo di record, modifica il valore della proprietà typeOfRecord nella configurazione del widget Azioni. Ad esempio:
    { "comp": "md-tab-panel", "attributi": { "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" : "Crea incidente" }, "wrapper": { "title": "Azioni SNOW!", "maximizeAreaName": "app-maximize-area" } } ] }
  • Aggiungere note di chiamata in diretta: è possibile acquisire ulteriori informazioni sulla chiamata nell'area di testo e concludere la chiamata. È possibile visualizzare queste note aggiunte come note di chiamata nel record attività.

Modifica codice in ServiceNow

Lo Script Include modifiche
  1. Andare al Navigatore filtro e cercare include script.

    Selezionare Include script in UI sistema.

  2. Filtrare il Nome e ricercare propUtils.

  3. Modificare il metodo UserGetSysId nello Script.

    Curente:

    ID UserGetSys: 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=utente.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; },

    Nuovo codice di esempio per l'incidente:

    ID UserGetSys: funzione () { var opened_for; //Modifiche relative all'incidente var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for= utente.sys_id;//restituire l'utente.sys_id; var inc = nuovo GlideRecordSecure('incidente'); 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== Altri progetti ==contact_type== Altri progetti ==short_description='Chiamata Ricevuta Da '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefono'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist); },

Modifica metodo nelle pagine dell'interfaccia utente
  1. Vai a Filter Navigator e cerca la pagina UI.

    Selezionare Pagine dell'interfaccia utente in UI di sistema.

  2. Filtra il Nome e cerca agentdesktop.

  3. Modificare la funzione screenpop in Script client.

    Funzione corrente:

    // screen pop funzione screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'telefono'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interazione', query: 'sys_id='+sysid });

    Codice di esempio per l'incidente:

    // 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', 'telefono'); gaout.addParam('value', callerani); gaout.getXMLWait(); // Modifica correlata ad incidente var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incidente', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incidente', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }

Se le informazioni del chiamante sono presenti nel CRM e è già stato aperto un nuovo incidente con questo contatto, l'applicazione apre l'incidente in corso

Se le informazioni sul chiamante non sono presenti nel CRM, l'applicazione apre un nuovo incidente

Se le informazioni del chiamante sono presenti nel CRM, l'applicazione apre un nuovo incidente con i dettagli precompilati

Panoramica

Questo caso d'uso descrive dettagliatamente il processo per aggiungere un'ulteriore colonna alla tabella ServiceNow webexcc_imp_activity e creare sn_openframe_phone_log al momento dell'installazione di Webex CC per ServiceNow CRM Connector.

Per impostazione predefinita, la tabella contiene determinati campi e valori di sistema pronti all'uso.

È possibile creare più variabili specifiche dell'azienda (variabili CAD) all'interno di WebexCC Flow Designer e aggiungere le variabili CAD all'interno del registro dell'attività post chiamata ServiceNow nonché persistenti tali variabili ai dati della tabella delle attività post chiamata.

Questa è solo una documentazione di riferimento e mostra come effettuare questa operazione per una variabile CAD di esempio denominata Nome cliente che memorizza il nome del cliente all'interno di IVR e lo pubblica su ServiceNow.

È previsto che gli sviluppatori partner+customer ServiceNow configureranno e gestiranno questa configurazione poiché si tratta di una personalizzazione per il connettore esistente.

Cisco fornisce solo le tecniche su come personalizzare ed estendere il connettore.

A partire da questo articolo, il team Cisco ha convalidato il supporto per l'aggiunta della variabile CAD al registro attività e alla tabella attività utilizzando la tecnica descritta di seguito:

Aggiungi colonna all'attività IMP WebexCC

  1. Modificare la tabella nella versione per sviluppatori di ServiceNow.

  2. Vai al navigatore filtri e cerca studio.

    Seleziona Webex Contact Center

    o

  3. Selezionare la tabella Attività WebexCC IMP

  4. Aggiungere una nuova colonna, ad esempio Nome cliente

Aggiungi colonna al registro telefono

  1. Modificare la tabella del registro del telefono.

  2. Aggiungere una nuova colonna, ad esempio Nome cliente.

Mappa di trasformazione attività WebexCC

Aggiungere una nuova colonna, ad esempio, mappatura campo CustomerName .

Personalizza colonne elenco

Come consigliato da Servizio ora, modificare l'azione Scelta da Crea a Ignora.

Configura elenco registri telefono

Vai a Includi script

Aggiungere solo una riga webexcc.u_customername=actInfo.CustomerName a propUtils.

Script di esempio

Vedere la riga: webexcc.u_customername=actInfo.CustomerName; con un commento di supporto.

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 : funzione () { 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.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.CallDurationInSecondi; webexcc.ringingtime =actInfo.ringingtime; webexcc.activitydate =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; // Questa riga è stata aggiunta - per catturarla nel registro attività webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); //Attività sul record degli incidenti; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery("telefono", 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(); } } } restituisce sys_id; }, tipo: 'propUtils' });

Creare una variabile CAD in Flow Designer

Aggiunta della variabile CAD al layout del desktop

Esempio

"CadName1:SnowField1,CadName2:SnowField2" CadName1 è CustomerName SnowField1 viene utilizzato anche come CustomerName che fa parte dello schema di esempio mostrato sopra "actInfo.CustomerName".

Schermate demo

Visualizza la variabile CAD appena aggiunta nella tabella Attività WebexCC.

Crea variabile CAD per Flow Designer

Urgenza incidente

Impatto incidente

Aggiornamento script Service Now

Gli aggiornamenti allo script includono

  1. Vai al navigatore filtri e cerca include script

    Selezionare l'opzione Include script in UI sistema.

  2. Filtrare il Nome con propUtils.

  3. Modificare il metodo UserGetSysId nel campo Script .

    Script corrente:

    ID UserGetSys: 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=utente.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; },

    Nuovo codice di esempio per l'incidente:

    ID UserGetSys: funzione () { 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= utente.sys_id;//restituire l'utente.sys_id; var inc = nuovo GlideRecordSecure('incidente'); 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== Altri progetti ==contact_type== Altri progetti ==== Collegamenti esterni ==* Sito ufficialeshort_description='Chiamata Ricevuta Da '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefono'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist);//sysid; },

Una modifica di metodo sulle pagine dell'interfaccia utente
  1. Vai al navigatore filtri e cerca pagine UI.

    Selezionare l'opzione Pagine dell'interfaccia utente in UI di sistema.

  2. Filtrare le pagine dell'interfaccia utente con Nome e ricercare agentdesktop .

  3. Modificare la funzione screenpop nel campo dello script.

    Funzione corrente:

    // screen pop funzione screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'telefono'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interazione', query: 'sys_id='+sysid }); }

    Codice di esempio per l'incidente:

    // funzione screen pop screenpop(callerani,callSessionInfo) { var Impact=3; if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact != undefined) { Impact=callSessionInfo.callAssociatedData.Impact != undefined) { Impact=callSessionInfo.callAssociatedData.Urgency != null && callSessionInfo.callAssociatedData.Urgency != undefined) { IncUrgency=callSessionInfo.callAssociatedData.Urgency; } if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'telefono'); 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: 'incidente', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incidente', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }

Se le informazioni del chiamante sono presenti nel CRM e non sono presenti incidenti nuovi o in corso, l'applicazione apre un nuovo incidente

Modifica del codice in ServiceNow

Aggiungi nuove colonne alla tabella Attività IMP WebexCC

Apri la tabella Attività WebexCC IMP

Aggiungi una nuova colonna - InteractionsNumber

Aggiungi una nuova colonna - Numero incidente

Fare clic su Aggiorna.

Aggiungere nuove colonne alla tabella Registro telefono

Apri la tabella Registro telefono

Aggiungi una nuova colonna - InteractionsNumber

Aggiungi una nuova colonna - Numero incidente

Mappa di trasformazione attività WebexCC

Apri mappa di trasformazione dal navigatore filtri

Fare clic su WebexCC Activity TransformMap

Aggiungi nuovo - per mappa numero interazione

Aggiungi nuovo - per Mappa numero incidente

Fare clic su Update (Aggiorna).

Le modifiche agli script includono

  1. Andare al filtro Navigator e cercare "script inclusi".

    Selezionare Include script in UI sistema.

  2. Filtrare il Nome con propUtils.

  3. Modificare il metodo setWebexcctable.

    Nuovo codice di esempio per Incidente:

    setWebexcctable: funzione () { 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']; elimina 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='Aggiorna lo stato a chiuso.'; 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("telefono", 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.CallDurationInSecondi; 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== Note == sys_id=webexcc.insert(); } restituisce sys_id; },

Modifiche metodo nelle pagine dell'interfaccia utente

  1. Vai a Filter Navigator e cerca le pagine UI

    Selezionare l'opzione Pagine dell'interfaccia utente in UI di sistema.

  2. Filtrare le pagine dell'interfaccia utente con Nome e ricercare agentdesktop.

  3. Modificare la funzione nowActivities e screenpop nello script.

    Funzione corrente:

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

    Codice di esempio per l'incidente:

    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 = nuovo 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', 'telefono'); gaout.addParam('value', callerani); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incidente', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incidente', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); } 

Risultati dopo l'aggiornamento

Le seguenti personalizzazioni si applicano alle versioni 1.0.5 e successive. Per le personalizzazioni relative alle versioni più recenti 1.0.7 e superiori, seguire la procedura precedente.

N. personalizzazione 1 - Aggiungi regole aziendali personalizzate per i casi d'uso del flusso di chiamata

Crea un nuovo record di incidente per ogni chiamata

Per ogni nuova chiamata nel connettore CRM WebexCC in ServiceNow, creare un nuovo record incidente.

  1. Ricerca delle regole aziendali sul navigatore per filtri

  2. Fare clic su Nuovo.

    Codice di esempio per riferimento:

    function customcti() { var url = null; var name = sysparm_caller_name; eid = sysparm_caller_id; var telefono = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; if (fQuery == null) fQuery = ''; var view = sysparm_view; if (visualizza == nullo) || 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", telefono); } if (userID != null) { if (fQuery.length > 0) fQuery += "^"; fQuery += "caller_id=" + userID; } se (url == nullo) { url = "incident.do?sys_id=-1"; if (fQuery != null) url += "&sysparm_query=" + fQuery; } risposta = url; url di restituzione; } funzione UserGetSysId(campo, valore) { var utente = nuovo GlideRecord("sys_user"); user.addQuery(campo, valore); user.query(); if (user.next()) restituisce l'utente.sys_id; altrimenti restituisce null; }

    Esempio di configurazione della regola aziendale

  3. Abilita Client chiamabile

    Elaborazione CTI (Computer Telephony Integration) per incidente contrassegnata come Vero.

  4. Aggiornare l'URL screenpop con la regola CTI personalizzata " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="

Esempio

Il sysparm_cti_rule=nome in cui 'nome' è il nome di una funzione deve essere invocato per l'elaborazione CTI anziché utilizzare lo script predefinito.

Definire la funzione in una sys_script voce contrassegnata client chiamabile.

Se devi inserire, aggiornare o eliminare qualsiasi GlideRecord nella funzione, chiama una funzione chiamabile separata non client per eseguire gli aggiornamenti.

Per rendere uno script chiamabile dal client, è necessario selezionare la casella di controllo chiamabile dal client nel modulo che viene visualizzato quando sys_script viene visualizzata la voce.

La casella di controllo chiamabile dal client non viene visualizzata per impostazione predefinita. Per visualizzare, è necessario modificare i campi visualizzati nel modulo utilizzando l'icona a forma di ingranaggio e il meccanismo di pulizia a slush bucket.

Riferimenti

N. personalizzazione 2 - Aggiungi variabile CAD nella tabella attività di Webex Contact Center

Panoramica

Questo articolo descrive dettagliatamente il processo di aggiunta di un'altra colonna alla tabella ServiceNow, webexcc_activity creata al momento dell'installazione di Webex CC per ServiceNow CRM Connector.

Per impostazione predefinita, la tabella contiene campi e valori di sistema pronti all'uso.

È possibile creare potenzialmente più variabili specifiche dell'azienda (variabili CAD) all'interno di WebexCC Flow Designer e aggiungere tali variabili CAD all'interno del registro attività post chiamata di ServiceNow e mantenerlo nella tabella attività post chiamata dati.

  • Questa è solo la documentazione di riferimento e mostra come effettuare questa operazione per una variabile CAD di esempio denominata Nome cliente che memorizza il nome del cliente all'interno di IVR e lo pubblica su ServiceNow.

  • Gli sviluppatori partner+customer ServiceNow configureranno e gestiranno questa configurazione poiché si tratta di una personalizzazione per il connettore esistente.

  • Cisco fornirà solo le tecniche su come personalizzare ed estendere il connettore.

  • A partire da questo articolo, il team Cisco ha convalidato il supporto per l'aggiunta della variabile CAD al registro attività e alla tabella attività utilizzando la tecnica descritta di seguito.

Aggiungi colonna all'attività WebexCC
  1. Modificare la tabella nella versione per sviluppatori di ServiceNow.

  2. Andare a Studio > Webex Contact Center.

  3. Selezionare la tabella Attività WebexCC .

  4. Ad esempio, Nome cliente.

  5. Seleziona layout elenco per attività WebexCC.

La creazione di un nuovo script include

Questo passaggio non è richiesto se si sta utilizzando il set di aggiornamento XML - è necessario aggiungere solo una riga "webexcc.u_customername=actInfo.CustomerName" a propUtils.

Script di esempio

Vedere la linea con:webexcc.u_customername=actInfo.CustomerName; con un commento di supporto.

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 : funzione () { 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.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.CallDurationInSecondi; webexcc.ringingtime =actInfo.ringingtime; webexcc.activitydate =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; // Questa riga è stata aggiunta - per catturarla nel registro attività webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); // Attività sul record degli incidenti; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery("telefono", 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(); } } } restituisce sys_id; }, tipo: 'propUtils2' });
Modifica la pagina dell'interfaccia utente con un nuovo nome di script

Creare una variabile CAD in Flow Designer

Aggiunta della variabile CAD al layout del desktop

Schermate demo

Visualizza la variabile CAD appena aggiunta nella tabella Attività WebexCC.