Cerințe preliminare

În prezent, această funcție se aplică numai agenților.

Înainte de a integra Webex Contact Center cu consola ServiceNow CRM, asigurați-vă că aveți următoarele:

Urmați una dintre cele două metode de mai jos:

Pentru instanțele dezvoltatorului, vă recomandăm să urmați pașii din ghidul instanței pentru dezvoltator.

Dacă dețineți o instanță cu licență Enterprise, urmați instrucțiunile pentru instanțele cu licență Enterprise.

Nu vă recomandăm să amestecați aplicația cu licență Enterprise cu instanțele de tip sandbox pentru dezvoltator.

Următoarele secțiuni descriu pașii pentru instalarea conectorului ServiceNow pentru instanțele dezvoltatorilor.

1

Conectați-vă la contul dvs. de portal de dezvoltator ServiceNow și deschideți consola Administrare .

2

Din zona Instanța mea din meniul Cont , faceți clic pe Pornire clădire.

3

În instanța de dezvoltator, din câmpul Filtru navigator din partea din stânga sus a ferestrei, navigați la Pluginuri.

4

Căutați pluginul Openframe care are titlul Openframe. Poate fi necesar să defilați prin listă.

5

Faceți clic pe Instalare pentru a instala pluginul Openframe.

6

În caseta de dialog Activare plugin , faceți clic pe Activare.

7

Când activarea pluginului este finalizată, faceți clic pe Închidere și reîncărcare formular în caseta de dialog Activare plugin .

8

Pentru a verifica activarea plugin-ului , din câmpul Navigator filtru din partea stângă sus a ferestrei, navigați la OpenFrame.

9

Faceți clic pe Configurații și asigurați-vă că pluginul OpenFrame apare în lista Configurații OpenFrame.

1

Descărcați cel mai recent fișier XML al setului de actualizare de sistem disponibil pe repo github din această locație: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Nume fișier: webexcc-servicenow-update-setV(X).xml

2

În instanța ServiceNow, din câmpul Filtru navigator din partea din stânga sus a ferestrei, navigați la Sisteme de actualizare seturi > Actualizați seturi de comis.

3

Faceți clic pe linkul Import set de actualizări din XML .

4

Faceți clic Selectare fișier, selectați fișierul XML al setului de actualizare de sistem, apoi faceți clic pe Încărcați...

Setul de actualizări apare în lista Seturi de actualizări preluate și se află în starea Încărcat .
5

Din lista Seturi de actualizare preluate , faceți clic pe numele fișierului Set de actualizare (link) pentru a deschide setul de actualizare.

6

În partea din dreapta sus a ferestrei, faceți clic pe Previzualizare set actualizare pentru a verifica dacă există probleme la actualizarea setată.

7

Faceți clic pe Închideți în caseta de dialog Actualizare setare previzualizare după finalizarea previzualizării.

8

Faceți clic pe Comitere set de actualizări.

9

Faceți clic pe Închidere în caseta de dialog Actualizare set Comitere odată ce comiterea setului de actualizare este finalizată.

1

În câmpul Filtru navigator din partea din stânga sus a ferestrei, type sys_properties.list și apăsați enter.

2

Pe pagina Proprietăți sistem, sortați proprietățile după data actualizată. Asigurați-vă că puteți vedea următoarele proprietăți Webex Contact Center :

3

Faceți clic agentdesktop_url pentru a deschide pagina Proprietate agentdesktop_url sistem.

4

În câmpul Valoare introduceți URL-ul pentru Webex Contact Center Desktop, în funcție de regiunea de funcționare.

5

Faceți clic pe Actualizare pentru a salva modificările.

6

(Opțional) Pentru a modifica numele tabelului activitate, editați proprietățile webexccactivitytable după cum este necesar.

Pe pagina Proprietăți sistem , faceți clic pe webexccactivitytable.

Modificați câmpul Valoare conform cerințelor.

7

(Opțional) Adăugați grupuri de utilizatori în următoarele moduri:

  1. În câmpul Filtru navigator din partea din stânga sus a ferestrei, navigați la Grupuri din secțiunea Securitate sistem.

  2. Creați un grup de utilizatori nou sau utilizați unul existent.

  3. Faceți clic pe Editare.

  4. Căutați sn_openframe_user în secțiunea Colecție și mutați-o în grupul dvs. de utilizatori.

  5. Faceți clic pe Salvați.

  6. Adăugați utilizatorul ca membru al grupului.

1

Din câmpul Navigator filtru, navigați la OpenFrame > Configurații.

2

Faceți clic pe Nou.

3

Introduceți următoarele proprietăți pentru URL:

  • Nume: Desktopul Centrului de contact Webex

  • Titlu: Webex Contact Center

  • Lățime: 550 (recomandat)

  • Înălțime: 600 (recomandat)

4

În partea dreaptă a câmpului URL , faceți clic pe butonul Blocare și adăugați agentdesktop.do ca URL. (Efectuați acest pas pentru a indica configurația pe pagina UI)

5

(Opțional) Selectați grupul (grupurile) de utilizatori/agenți pentru a atribui configurația.

6

Faceți clic pe Trimitere. URL-ul apare ca un link.

7

Înainte de a încerca să utilizați telefonul OpenFrame, asigurați-vă că încărcați fișierul JSON cu aspect desktop personalizat ServiceNow în portalul de gestionare al Webex Contact Center. Pentru mai multe informații, consultați Configurați aspectul desktop ServiceNow pe Webex Contact Center.

1

Descărcați aspectul Desktop pentru ServiceNow de la https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

2

Actualizați proprietățile din fișierul cu aspect de desktop, dacă este necesar.

3

Accesați Portalul de gestionare a centrului de contact Webex.

4

Din bara de navigare a Portalului de management, alegeți Configurare > Aspect desktop.

5

Faceți clic pe Aspect nou și introduceți detaliile pentru aspectul desktopului.

6

Încărcați fișierul JSON ServiceNow Desktop Layout.

7

Faceți clic pe Salvare pentru a salva configurația.

Acum puteți porni Webex Contact Center Desktop în consola ServiceNow.

8

Din câmpul Filtru navigator , navigați la Spațiu de lucru Operațiuni serviciu.

Pagina principală ServiceNow cu Webex Contact Center Agent Desktop integrat în ServiceNow.

Următoarele secțiuni descriu pașii pentru instalarea conectorului ServiceNow pentru instanțele Enterprise cu licență.

1

Conectați-vă la contul dvs. de portal de dezvoltator ServiceNow și deschideți consola Administrare .

2

Din zona Instanța mea din meniul Cont , faceți clic pe Pornire clădire.

3

În instanța de dezvoltator, din câmpul Filtru navigator din partea din stânga sus a ferestrei, navigați la Pluginuri.

4

Căutați pluginul Openframe care are titlul Openframe. Poate fi necesar să defilați prin listă.

5

Faceți clic pe Instalare pentru a instala pluginul Openframe.

6

În caseta de dialog Activare plugin , faceți clic pe Activare.

7

Când activarea pluginului este finalizată, faceți clic pe Închidere și reîncărcare formular în caseta de dialog Activare plugin .

8

Pentru a verifica activarea plugin-ului , din câmpul Navigator filtru din partea stângă sus a ferestrei, navigați la OpenFrame.

9

Faceți clic pe Configurații și asigurați-vă că pluginul OpenFrame apare în lista Configurații OpenFrame.

1

În câmpul Navigator filtrare din partea stângă sus a ferestrei, introduceți sys_properties.list.

2

Pe pagina Proprietăți sistem, sortați proprietățile după data actualizată. Asigurați-vă că puteți vedea următoarele proprietăți Webex Contact Center :

3

Faceți clic agentdesktop_url pentru a deschide pagina Proprietate agentdesktop_url sistem.

4

În câmpul Valoare introduceți URL-ul pentru Webex Contact Center Desktop, în funcție de regiunea de funcționare.

5

Faceți clic pe Actualizare pentru a salva modificările.

6

(Opțional) Pentru a schimba numele tabelului Activitate, editați proprietățile x_caci_webexcc.webexccactivitytable după cum este necesar.

  1. Pe pagina Proprietăți sistem , faceți clic pe x_caci_webexcc.webexccactivitytable.

  2. Modificați câmpul Valoare conform cerințelor.

7

(Opțional) Adăugați grupuri de utilizatori în următoarele moduri:

  1. În câmpul Filtru navigator din partea din stânga sus a ferestrei, navigați la Grupuri din secțiunea Securitate sistem.

  2. Faceți clic pe Editare și adăugați următoarele roluri:

    • sn_openframe_user

    • x_caci_webexcc.agent

    • agent_workspace_user

    • x_caci_webexcc.webexcc_imp_activity_user

    • x_caci_webexcc.webex_contact_center

1

Din câmpul Navigator filtru, navigați la OpenFrame > Configurații.

2

Faceți clic pe Nou.

3

Introduceți următoarele proprietăți pentru URL:

  • Nume: Desktopul Centrului de contact Webex

  • Titlu: Webex Contact Center

  • Lățime: 550 (recomandat)

  • Înălțime: 600 (recomandat)

4

În partea dreaptă a câmpului URL , faceți clic pe butonul Blocare și adăugați x_caci_webexcc_agentdesktop.do ca URL. (Efectuați acest pas pentru a indica configurația pe pagina UI)

5

(Opțional) Selectați grupul (grupurile) de utilizatori/agenți pentru a atribui configurația.

6

Faceți clic pe Trimitere. URL-ul apare ca un link.

7

Din câmpul Filtru navigator , navigați la Spațiu de lucru Operațiuni serviciu.

Pagina principală ServiceNow cu Webex Contact Center Agent Desktop integrat în ServiceNow.

8

(Opțional) În lista Grup de utilizatori , mutați grupurile de utilizatori care pot accesa Webex Contact Center Desktop din Disponibil în Selectat.

9

Înainte de a încerca să utilizați telefonul OpenFrame, asigurați-vă că încărcați fișierul JSON cu aspect desktop personalizat ServiceNow în portalul de gestionare al Webex Contact Center. Pentru mai multe informații, consultați Configurați aspectul desktop ServiceNow pe Webex Contact Center.

1

Descărcați aspectul Desktop pentru ServiceNow de la https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

2

Actualizați proprietățile din fișierul cu aspect de desktop, dacă este necesar.

3

Accesați Portalul de gestionare a centrului de contact Webex.

4

Din bara de navigare a Portalului de management, alegeți Configurare > Aspect desktop.

5

Faceți clic pe Aspect nou și introduceți detaliile pentru aspectul desktopului.

6

Încărcați fișierul JSON ServiceNow Desktop Layout.

7

Faceți clic pe Salvare pentru a salva configurația.

Acum puteți porni Webex Contact Center Desktop în consola ServiceNow.

8

Din câmpul Filtru navigator , navigați la Spațiu de lucru Operațiuni serviciu.

Pagina principală ServiceNow cu Webex Contact Center Agent Desktop integrat în ServiceNow.

1

Din câmpul Filtru navigator, navigați la Incidente > Deschidere incident.

2

Faceți clic dreapta pe câmpul apelantului și faceți clic pe Configurare dicționar.

3

Adăugați Atribute separate prin virgulă „ref_contributions=show_phone,.

Acum puteți începe să utilizați Webex Contact Center Desktop din consola ServiceNow.

4

Din câmpul Filtru navigator , navigați la Spațiu de lucru Operațiuni serviciu.

Pagina principală ServiceNow cu Webex Contact Center Agent Desktop integrat în ServiceNow.

În prezent, nu acceptăm conectarea la Agent Desktop utilizând opțiunea Desktop (WebRTC).

Agent Desktop în consola ServiceNow

Înainte de a efectua apeluri outdial, asigurați-vă că efectuați următoarele:

  • Creați punctul de intrare outdial și configurați o strategie de punct de intrare outdial.

  • Activați ANI outdial pentru profilul de agent.

  • Setați ANI outdial la o mapare număr-la-punct de intrare de apelare.

Pentru mai multe informații, consultați capitolul Asigurarea accesului din Ghidul de configurare și administrare Cisco Webex Contact Center.

Din câmpul Filtru navigator , navigați la Spațiu de lucru Operațiuni serviciu.

Pagina principală ServiceNow cu Webex Contact Center Agent Desktop integrat în ServiceNow.

Pentru informații despre modul de utilizare a desktopului, consultați fila Agent din ajutorul Webex Contact Center.

Prezentare generală

Acest articol acoperă mai multe modalități de a vă personaliza regulile de afaceri pentru conectorul CRM ServiceNow. Acesta detaliază modul în care puteți personaliza cazurile de utilizare pe baza regulilor de afaceri specifice ServiceNow.

Clientul trebuie să își gestioneze singur aceste cazuri de utilizare pe ServiceNow. Configurația este specifică ServiceNow și nu software-ului sau expertizei Webex Contact Center.

Aceasta este o documentație de referință care ajută la modificarea normelor de afaceri. Dezvoltatorii ServiceNow vor crea și gestiona regulile de afaceri și vor oferi asistență.

Cisco oferă doar documentație eșantion.

Următoarele secțiuni oferă detalii despre cum să configurați, să activați și să gestionați widgetul de acțiuni pentru instanțele dezvoltatorului și ale întreprinderii.

Comiterea setului de actualizare pentru widgetul de acțiuni

Pentru instanțele Enterprise cu licență, instalați cea mai recentă aplicație Webex Contact Center din magazinul ServiceNow.

Pentru a configura widgetul Acțiuni pentru instanțele dezvoltatorilor, descărcați cel mai recent fișier XML al setului de actualizare a sistemului disponibil în repo github din această locație: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Numele fișierului este webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Pentru a comite setarea de actualizare pentru widgetul Acțiuni, consultați pașii 2-9 din Comiterea setului de actualizare.

Activați widgetul de acțiuni

Utilizați proprietatea isWidgetDisplayEnabled pentru a activa widgetul Acțiuni. Nu trebuie să modificați valoarea acestei proprietăți în secțiunea fără cap a aspectului de desktop personalizat. Proprietatea este setată întotdeauna la fals în secțiunea fără cap a aspectului de desktop personalizat. Ar trebui să actualizați valoarea proprietății numai în secțiunea de panou a aspectului de desktop personalizat.

După ce activați widgetul Acțiuni în aspectul de desktop personalizat, puteți efectua următoarele acțiuni:

  • Gestionați înregistrările activității — faceți clic pe Vizualizați/Editați înregistrarea activității pentru a vizualiza lista înregistrărilor activității asociate apelantului.
  • Asociați obiecte CRM — faceți clic pe Asociați la înregistrările de activitate pentru a adăuga obiecte CRM, cum ar fi tipul de apel (de intrare sau de ieșire), obiectul de apel, notele de apel și așa mai departe la înregistrarea de activitate.
  • Gestionați incidentele — Faceți clic pe Creați incident. Se creează un incident nou, cu detaliile apelantului populate în prealabil. Puteți efectua actualizările necesare pentru incident. Puteți alege să modificați tipul de înregistrare de la incident la caz, modul HR etc., în funcție de cerințele dvs. Pentru a schimba tipul de înregistrare, modificați valoarea proprietății typeOfRecord în configurația widgetului Acțiuni. De exemplu:
    { "comp": "md-tab-panel", "atribute": { "slot": "panou", "clasă": "widget-pane" }, "children": [ { "comp": "agentx-custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "properties": { "isWidgetDisplayEnabled": adevărat, "typeOfRecord" : "Create Incident" }, "wrapper": { "title": "SNOW Actions !", "maximizeAreaName": "app-maximize-area" } } ] }
  • Adăugați note de apel live—Puteți capta informații suplimentare despre apel în zona de text și puteți încheia apelul. Puteți vedea aceste note adăugate ca note de apel în înregistrarea activității.

Modificare de cod în ServiceNow

Scriptul Include modificări
  1. Accesați browserul de filtrare și căutați include scriptul.

    Selectați Scriptul include din interfața de utilizator a sistemului.

  2. Filtrați Nume și căutați propUtils.

  3. Modificați metoda UserGetSysId din Script.

    Curentă:

    Identificatorul utilizatorului GetSys: function () { var opened_for; var user = GlideRecord nou ("sys_user"); user. addQuery("this. getParameter('field'),this. getParameter('value')); user. query (); if (user. next()) opened_for=user.sys_id; var grInt = GlideRecord nou ('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID (); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert (); return sysid; },

    Cod eșantion nou pentru incident:

    Identificatorul utilizatorului GetSys: funcție () { var opened_for; //Modificări legate de incident var sysidlist = {}; var user = GlideRecordSecure (") nousys_user"); user.addQuery (this.getParameter ('field'), this.getParameter ('value')); user.query (); if(user.next ()) { opened_for=utilizator.sys_id;//returnare utilizator.sys_id; var inc = GlideRecordSecure nou ('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=„telefon”; inc.short_description='Apel primit de la '+ this.getParameter ('value'); sysidlist.incsysid=inc.insert(); } } var grInt = GlideRecordSecure nou ('interacțiune'); grInt.initialize (); grInt.assigned_to= gs.getUserID (); grInt.type= 'telefon'; grInt.opened_for== opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify (sysidlist); },

Modificare metodă pe paginile UI
  1. Accesați browserul de filtrare și căutați pagina UI.

    Selectați paginile UI din Interfața de utilizator a sistemului.

  2. Filtrați Nume și căutați agentdesktop.

  3. Modificați funcția pop-up în Scriptul client.

    Funcția curentă:

    // funcție pop ecran screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = GlideAjax nou('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'telefon'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: „interacțiune”, interogare: 'sys_id='+sysid });

    Codul eșantion pentru incident:

    // funcție pop ecran screenpop (callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = GlideAjax nou('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'telefon'); gaout.addParam('value', callerani); gaout.getXMLWait(); // Pentru Modificare legată de incident var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: „incident”, interogare: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm ({ entity: „incident”, interogare: 'sys_id=-1', 'interaction_sys_id': sysObj. sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }

Dacă informațiile apelantului există în CRM și există deja un incident nou deschis cu acest contact, aplicația deschide incidentul în curs

Dacă informațiile apelantului nu există în CRM, aplicația deschide un nou incident

Dacă informațiile apelantului există în CRM, aplicația deschide un nou incident cu detalii completate în prealabil

Prezentare generală

Acest caz de utilizare detaliază procesul de adăugare a unei coloane suplimentare în tabelul ServiceNow - webexcc_imp_activity și crearea sn_openframe_phone_log la instalarea Webex CC for ServiceNow CRM Connector.

În mod implicit, tabelul conține anumite câmpuri și valori din sistemul de căsuțe.

Puteți să creați mai multe variabile specifice afacerii (variabile CAD) în designerul de flux WebexCC și să adăugați variabilele CAD în jurnalul de activitate după apel ServiceNow, precum și să persistați acest lucru la datele din tabelul de activitate după apel.

Aceasta este doar o documentație de referință - și arată cum se face acest lucru pentru o variabilă CAD eșantion numită Nume client, care stochează numele clientului în IVR și îl postează în ServiceNow.

Se așteaptă ca dezvoltatorii ServiceNow partener+client să configureze și să gestioneze această configurație, deoarece este o personalizare pentru conectorul existent.

Cisco furnizează numai tehnicile pentru personalizarea și extinderea conectorului.

Începând cu acest articol, echipa Cisco a validat asistența pentru adăugarea variabilei CAD în Jurnalul de activitate și în tabelul de activitate, utilizând tehnica descrisă mai jos:

Adăugați coloană la activitatea IMP WebexCC

  1. Editați tabelul în versiunea pentru dezvoltator a ServiceNow.

  2. Accesați browserul de filtrare și căutați studio.

    Selectați Webex Contact Center

    sau

  3. Selectați tabelul Activitate IMP Webex

  4. Adăugați o coloană nouă, de exemplu, NumeClient

Adăugare coloană în jurnalul telefonic

  1. Editați tabelul jurnalului telefonului.

  2. Adăugați o coloană nouă, de exemplu, NumeClient.

Harta transformării activităților WebexCC

Adăugați o coloană nouă, de exemplu, asocierea câmpului CustomerName .

Personalizați coloanele listei

Așa cum recomandă Serviciul acum, schimbați acțiunea Alegere de la creare la ignorare.

Configurați lista cu jurnalele telefonului

Accesați Includere script

Adăugați o singură linie webexcc.u_customername=actInfo.CustomerName la propUtils.

Script mostră

Vedeți linia: webexcc.u_customername=actInfo.CustomerName; cu un comentariu de asistență.

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 = GlideRecord nou ("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 = GlideRecord nou ('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID (); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert (); return sysid; }, setWebexcctable : funcție () { var sys_id=0; var actInfo = JSON. parse (this.getParameter ('actInfo')); var webexcc = GlideRecordSecure (gs.getProperty (')x_caci_webexcc.webexccactivitytable')); webexcc.addQuery ("callobject", actInfo.CallObject); webexcc.query(); if (!webexcc.next()) { webexcc.ani = actInfo.ani; webexcc.dnis =actInfo.queuename; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.CallDurationInSeconds; webexcc.ringingtime =actInfo.CallTime; webexcc.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; // Această linie este Adăugată - pentru a o captura în Jurnalul de activitate webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); //Înregistrare incident; var actInfoString =this.getParameter('actInfo'); var suser = nou GlideRecordSecure ("sys_user"); suser.addQuery("telefon", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = nou 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; }, introduceți: 'propUtils' });

Creați o variabilă CAD în proiectantul de flux

Adăugați variabila CAD la aspectul de desktop

Exemplu

„CadName1:SnowField1,CadName2:SnowField2” CadName1 este CustomerName SnowField1 este, de asemenea, utilizat ca CustomerName care face parte din eșantionul scirpt showen de mai sus „actInfo.CustomerName”.

Capturi de ecran demonstrative

Vizualizați variabila CAD nou adăugată în tabelul Activitate WebexCC.

Creați o variabilă CAD pentru Designerul de flux

Urgența incidentului

Impactul incidentului

Actualizare script Serviciu acum

Actualizările la script includ

  1. Accesați browserul de filtrare și căutați include scriptul

    Selectați opțiunea Scriptul include din Interfața de utilizator sistem.

  2. Filtrați Nume cu propUtils.

  3. Modificați metoda UserGetSysId din câmpul Script .

    Scriptul curent:

    Identificatorul utilizatorului GetSys: function () { var opened_for; var user = GlideRecord nou ("sys_user"); user. addQuery("this. getParameter('field'),this. getParameter('value')); user. query (); if (user. next()) opened_for=user.sys_id; var grInt = GlideRecord nou ('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID (); grInt.type= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert (); return sysid; },

    Cod eșantion nou pentru incident:

    Identificatorul utilizatorului GetSys: funcție () { var opened_for; var sysidlist = {}; var user = GlideRecordSecure (") nousys_user"); user.addQuery (this.getParameter ('field'), this.getParameter ('value')); user.query (); if(user.next ()) { opened_for=utilizator.sys_id;//returnare utilizator.sys_id; var inc = GlideRecordSecure nou ('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='telefon'; inc.urgency=this.getParameter('IncUrgency'); inc.impact=this.getParameter('Impact'); inc.short_description='Apel primit de la '+ this.getParameter ('value'); sysidlist.incsysid=inc.insert(); } } var grInt = GlideRecordSecure nou ('interacțiune'); grInt.initialize (); grInt.assigned_to= gs.getUserID (); grInt.type= 'telefon'; grInt.opened_for== opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify (sysidlist);//sysid; },

O modificare de metodă pe paginile de interfață
  1. Accesați browserul de filtrare și căutați pagini UI.

    Selectați opțiunea Pagini UI din Interfață utilizator sistem.

  2. Filtrați paginile interfeței de utilizator cu Nume și căutați agentdesktop .

  3. Modificați funcția pop-up în câmpul script.

    Funcția curentă:

    // funcție pop ecran screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = GlideAjax nou('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'telefon'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: „interacțiune”, interogare: 'sys_id='+sysid }); }

    Codul eșantion pentru incident:

    // funcție fereastră pop-up screenpop(callerani,callSessionInfo) { var Impact=3; if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact != undefined) { Impact=callSessionInfo.callAssociatedData.Urgency != null && callSessionInfo.callAssociatedData.Urgency != undefined) { IncUrgency=callSessionInfo.callAssociatedData.Urgency.value; } if(callerani===callSessionInfo.callAssociatedData.Urgency.value; } if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = GlideAjax nou('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam ('field', 'telefon'); gaout.addParam ('value', apelerani); 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”, interogare: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm ({ entity: „incident”, interogare: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem ("screenpopinteraction",JSON.stringify (sysObj)); }

Dacă informațiile apelantului există în CRM și nu există niciun incident nou sau în curs, aplicația deschide un nou incident

Schimbați codul pe ServiceNow

Adăugați coloane noi în tabelul Activitate IMP Webex

Deschideți tabelul WebexCC IMP Activity

Adăugați o coloană nouă - Număr de interacțiuni

Adăugați o coloană nouă - Număr incident

Faceți clic pe Actualizați.

Adăugați coloane noi în tabelul Jurnal telefon

Deschideți tabelul Jurnal telefon

Adăugați o coloană nouă - Număr de interacțiuni

Adăugați o coloană nouă - Număr incident

Harta transformării activităților WebexCC

Deschideți harta de transformare din navigatorul de filtrare

Faceți clic pe WebexCC Activity TransformMap

Adăugați nou - pentru Harta numărului de interacțiune

Adăugați nou - pentru harta numărului incidentului

Faceți clic pe Actualizați.

Modificările la script includ

  1. Accesați browserul de filtrare și căutați „script include”.

    Selectați Scriptul include din interfața de utilizator a sistemului.

  2. Filtrați Nume cu propUtils.

  3. Schimbați metoda setWebexcctable.

    Cod eșantion nou pentru Incident:

    setWebexcctable: funcție () { var sys_id=0; var actInfo = JSON.parse (this.getParameter ('actInfo')); var webexcc = GlideRecordSecure nou (gs.getProperty ('webexccactivitytable')); webexcc.addQuery ("u_callobject", actInfo.CallObject); webexcc.query(); if (!webexcc.next()) { //Înregistrare activități pe Incident; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; ștergeți actInfo['interaction_sys_id„]; ștergeți actInfo[”incident_sys_id']; if( interactionsysid!= null && interactionsysid!= undefined){ var inte = new GlideRecordSecure ('interaction'); //inte.get ('sys_id', interactionsysid ); inte.addQuery('sys_id', interactionsysid ); int. query(); if (int. next()) { intenum=int. number; // int. setValue ('state', 'Închis complet'); int.work_notes='Actualizare stare la închis'; inte.update(); } } if( incsysid!= null && incsysid!= undefined){ var inci = GlideRecordSecure nou ('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 = nou GlideRecordSecure ("sys_user"); suser.addQuery("telefon", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = nou 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= intensiv; sys_id=webexcc.insert (); } întoarce sys_id; },

Modificări de metodă pe paginile UI

  1. Accesați browserul de filtrare și căutați pagini UI

    Selectați opțiunea Pagini UI din Interfață utilizator sistem.

  2. Filtrați paginile interfeței de utilizator cu Nume și căutați agentdesktop.

  3. Modificați funcția nowActivities și screenpop-up din script.

    Funcția curentă:

    funcție nowActivities (actInfo, ani) { var gaout = GlideAjax nou ('propUtils'); gaout.addParam ('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify (actInfo)); gaout.addParam('ani', stripPrefixes(ani))); gaout.getXML (SetCCsysId); }

    Codul eșantion pentru incident:

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

Rezultate după actualizare

Următoarele personalizări se aplică versiunilor 1.0.5 și ulterioare. Pentru personalizările pentru versiunile mai noi 1.0.7 și versiunile ulterioare, urmați pașii de mai sus.

Personalizare nr. 1 - Adăugați reguli de afaceri personalizate pentru cazurile de utilizare a fluxului de apeluri

Creați o nouă înregistrare a incidentelor pentru fiecare apel

Pentru fiecare apel nou la conectorul CRM WebexCC din ServiceNow, creați o nouă înregistrare a incidentelor.

  1. Căutați reguli de afaceri în browserul de filtrare

  2. Faceți clic pe Nou.

    Cod eșantion pentru referință:

    customcti() { var url = null; var name = sysparm_caller_name; eid = sysparm_caller_id; var telefon = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; dacă (fQuery == null) fQuery = ''; var view = sysparm_view; dacă (vizualizare == nul || view == '') view = "itil"; var userID = null; if (eid != null && eid != '') { userID = UserGetSysId("employee_number",eid); } dacă (userID == null && name != null && name != '') { userID = UserGetSysId ("name", nume); } dacă (userID == null && phone != null && phone != '') { userID = UserGetSysId("phone", telefon); } dacă (userID != null) { if (fQuery. length > 0) fQuery += "^"; fQuery += "caller_id=" + userID; } dacă (url == null) { url = "incident.do?sys_id=-1"; dacă (fQuery!= null) url += "&sysparm_query=" + fQuery; } răspuns = url; întoarce url; } funcţie UserGetSysId (câmp, valoare) { var user = GlideRecord nou ("sys_user"); user. addQuery (câmp, valoare); user. query (); if (user. next ()) returnează utilizatorul.sys_id; în caz contrar returnează nul; }

    Configurație model pentru regula de afaceri

  3. Activați clientul apelabil

    Procesarea integrării telefoniei computerizate (CTI) pentru incident este marcată ca Adevărat.

  4. Actualizați URL-ul ferestrei pop-up cu regula CTI personalizată cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone=

Exemplu

sysparm_cti_rule=name unde 'name' este numele unei funcții trebuie să fie invocat pentru Procesarea CTI în loc să folosiți scriptul implicit.

Definiți funcția într-o sys_script intrare marcată cu client apelabil.

Dacă trebuie să inserați, să actualizați sau să ștergeți orice GlideRecord(e) din funcție, apelați o funcție separată care poate fi apelată fără client pentru a efectua actualizările.

Pentru a face un script apelabil client, trebuie să bifați caseta de selectare apelabil client din formularul care se afișează când sys_script este afișată intrarea.

Caseta de selectare apelabilă de către client nu apare în mod implicit. Pentru a vizualiza, trebuie să modificați câmpurile care se afișează pe formular utilizând pictograma roată dințată și mecanismul de găleată.

Referințe

Personalizare nr. 2 - Adăugați o variabilă CAD în tabelul de activități al Webex Contact Center

Prezentare generală

Acest articol detaliază procesul de adăugare a unei coloane suplimentare la tabelul ServiceNow - webexcc_activity care este creat la instalarea Webex CC for ServiceNow CRM Connector.

În mod implicit, tabelul conține câmpuri și valori neincluse în sistem.

Aveți potențial posibilitatea să creați mai multe variabile specifice afacerii (variabile CAD) în designerul de flux WebexCC și să adăugați aceste variabile CAD în jurnalul de activitate după apelServiceNow și să mențineți acest lucru la datele din tabelul de activitate după apel .

  • Aceasta este doar o documentație de referință - și arată cum se face acest lucru pentru o variabilă CAD eșantion numită Nume client, care stochează numele clientului în IVR și îl postează în ServiceNow.

  • Dezvoltatorii ServiceNow pentru parteneri+clienți vor configura și gestiona această configurație, deoarece este o personalizare pentru conectorul existent.

  • Cisco va furniza doar tehnicile pentru personalizarea și extinderea conectorului.

  • Începând cu acest articol, echipa Cisco a validat asistența pentru adăugarea variabilei CAD în Jurnalul de activitate și în tabelul de activitate, utilizând tehnica descrisă mai jos.

Adăugați coloană la activitatea WebexCC
  1. Editați tabelul în versiunea pentru dezvoltator a ServiceNow.

  2. Accesați Studio > Webex Contact Center.

  3. Selectați tabelul Activitate WebexCC .

  4. De exemplu, CustomerName.

  5. Selectați aspectul listei pentru Activitate WebexCC.

Include crearea unui nou script

Acest pas nu este necesar dacă utilizați XML Set Update XML - Este necesară doar o singură linie pentru a fi adăugată „webexcc.u_customername=actInfo.CustomerName” la propUtils.

Script mostră

Vedeți linia cu:webexcc.u_customername=actInfo.CustomerName; cu un comentariu de asistență.

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 : funcție () { var sys_id=0; var actInfo = JSON. parse (this.getParameter ('actInfo')); var webexcc = GlideRecordSecure (gs.getProperty (')x_caci_webexcc.webexccactivitytable')); webexcc.addQuery ("callobject", actInfo.CallObject); webexcc.query(); if (!webexcc.next()) { webexcc.ani = actInfo.ani; webexcc.dnis =actInfo.queuename; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.CallDurationInSeconds; webexcc.ringingtime =actInfo.CallTime; webexcc.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; // Această linie este Adăugată - pentru a o captura în Jurnalul de activitate webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); // Activități înregistrare incident; var actInfoString =this.getParameter('actInfo'); var suser = GlideRecordSecure nou ("sys_user"); suser.addQuery("telefon", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = nou 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(acționând șir),null,2); inc.comments =jsonPretty; inc.update(); } } } return sys_id; }, introduceți: „propUtils2” });
Editați pagina UI cu un nou nume de script

Creați o variabilă CAD în proiectantul de flux

Adăugați variabila CAD la aspectul de desktop

Capturi de ecran demonstrative

Vizualizați variabila CAD nou adăugată în tabelul Activitate WebexCC.