Condiţii prealabile

Î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 de dezvoltator, vă recomandăm să urmați pașii din ghidul de instanțe pentru dezvoltatori.

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

Nu vă recomandăm să amestecați aplicația cu licență de companie cu instanțe sandbox pentru dezvoltatori.

Următoarele secțiuni descriu pașii de instalare a conectorului ServiceNow pentru instanțe de dezvoltator.

1

conectați-vă la contul de portal de dezvoltatori ServiceNow și deschideți consola de administrare .

2

Din zona Instanța mea a meniului Cont , faceți clic pe Începe crearea.

3

În instanța dvs. de dezvoltator, din câmpul Navigator de filtre din partea stângă sus a ferestrei, navigați la Plugin-uri.

4

Căutați pluginul Openframe care are titlul Openframe. Poate fi necesar să parcurgeți lista.

5

Faceți clic pe Instalați 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 Închide & Reîncărcați formularul în caseta de dialog Activare plugin .

8

Pentru a verifica activarea pluginului, din câmpul Navigator de filtre 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 de actualizare de sistem XML disponibil în depozitul github la 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 dvs. ServiceNow, din câmpul Navigator de filtre din partea stângă sus a ferestrei, navigați la Seturi de actualizări de sistem > Actualizați seturile pentru comitere.

3

Faceți clic pe linkul Importați set de actualizări de la XML .

4

Faceți clic pe Alegeți fișierul, selectați fișierul System Update Set XML, 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 actualizări preluate , faceți clic pe Numele fișierului setului de actualizare (link) pentru a deschide setul de actualizări.

6

În partea dreaptă sus a ferestrei, faceți clic pe Previzualizare set de actualizări pentru a verifica setul de actualizare pentru probleme.

7

Faceți clic pe Închidere în caseta de dialog Actualizare set previzualizare odată ce previzualizarea este finalizată.

8

Faceți clic pe Commit Update Set.

9

Faceți clic pe Închidere în caseta de dialog Update Set Commit după finalizarea procesării setului de actualizări.

1

În câmpul Navigator de filtre din partea stângă sus a ferestrei, tastați sys_properties.list și apăsați pe 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 ale Centrului de contact Webex:

3

Faceți clic pe agentdesktop_url pentru a deschide pagina Proprietatea sistemului agentdesktop_url .

4

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

5

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

6

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

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

Modificați câmpul Valoare după cum este necesar.

7

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

  1. În câmpul Navigator de filtre din partea stângă sus a ferestrei, navigați la Grupuri sub Securitate sistem.

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

  3. Faceţi clic pe Editare.

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

  5. Faceți clic pe Salvare.

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

1

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

2

Faceţi clic pe Nou.

3

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

  • Nume: Webex Contact Center Desktop

  • Titlu: Webex Centrul de contact

  • Latime: 550 (recomandat)

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

4

În dreapta câmpului URL dați clic pe butonul Blocați și adăugați agentdesktop.do ca adresa URL. (Efectuați acest pas pentru a indica configurația către pagina UI)

5

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

6

Faceţi clic pe Submit (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 personalizat de desktop ServiceNow pe Webex Contact Center Management Portal. Pentru mai multe informații, consultați Configurarea aspectului desktop ServiceNow în 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 Desktop Layout, dacă este necesar.

3

Accesați portalul de management al centrului de contact Webex.

4

Din bara de navigare a portalului de management, alegeți Provisioning > Desktop Layout.

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 Salvați pentru a salva configurația.

Acum puteți porni desktopul Centrului de contact Webex din consola ServiceNow.

8

Din câmpul Navigator de filtru , navigați la Spațiu de lucru agent > Acasă principală Spațiu de lucru agent.

Faceți clic pe pictograma telefonului din stânga jos.

Următoarele secțiuni descriu pașii de instalare a conectorului ServiceNow pentru instanțe de întreprindere cu licență.

1

conectați-vă la contul de portal de dezvoltatori ServiceNow și deschideți consola Administrare .

2

Din zona Instanța mea a meniului Cont , faceți clic pe Începe crearea.

3

În instanța dvs. de dezvoltator, din câmpul Navigator de filtre din partea stângă sus a ferestrei, navigați la Plugin-uri.

4

Căutați pluginul Openframe care are titlul Openframe. Poate fi necesar să parcurgeți lista.

5

Faceți clic pe Instalați 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 Închide & Reîncărcați formularul în caseta de dialog Activare plugin .

8

Pentru a verifica activarea pluginului, din câmpul Navigator de filtre 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 de filtre 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 ale Centrului de contact Webex:

3

Faceți clic pe agentdesktop_url pentru a deschide pagina Proprietatea sistemului agentdesktop_url .

4

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

5

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

6

(Opțional) Pentru a schimba numele tabelului de activități, 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 după cum este necesar.

7

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

  1. În câmpul Navigator de filtre din partea stângă sus a ferestrei, navigați la Grupuri sub Securitatea sistemului.

  2. Faceți clic pe Editați ș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 de filtru , navigați la OpenFrame > Configurații.

2

Faceţi clic pe Nou.

3

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

  • Nume: Webex Contact Center Desktop

  • Titlu: Webex Centrul de contact

  • Latime: 550 (recomandat)

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

4

În dreapta câmpului URL dați clic pe butonul Blocați și adăugați x_caci_webexcc_agentdesktop .do ca adresa URL. (Efectuați acest pas pentru a indica configurația către pagina UI)

5

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

6

Faceţi clic pe Submit (Trimitere). URL-ul apare ca un link.

7

Din câmpul Navigator de filtru , navigați la Agent Workspace > Agent Workspace Home.

Faceți clic pe pictograma telefonului din stânga jos.

8

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

9

Înainte de a încerca să utilizați telefonul OpenFrame, asigurați-vă că încărcați fișierul JSON cu aspect personalizat de desktop ServiceNow pe Webex Contact Center Management Portal. Pentru mai multe informații, consultați Configurarea aspectului desktop ServiceNow în 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 Desktop Layout, dacă este necesar.

3

Accesați portalul de management al centrului de contact Webex.

4

Din bara de navigare a portalului de management, alegeți Provisioning > Desktop Layout.

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 Salvați pentru a salva configurația.

Acum puteți porni desktopul Centrului de contact Webex din consola ServiceNow.

8

Din câmpul Navigator de filtru , navigați la Spațiu de lucru pentru agent > Acasă pentru spațiul de lucru pentru agent.

Faceți clic pe pictograma telefonului din stânga jos.

1

Din câmpul Navigator de filtru , navigați la Incidente > Deschide Incident.

2

Faceți clic dreapta pe câmpul apelantului și faceți clic pe Configurați 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 Navigator de filtru , navigați la Spațiu de lucru agent > Acasă principală Spațiu de lucru agent.

Faceți clic pe pictograma telefonului din stânga jos.

Agent Desktop în Consola ServiceNow

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

  • Creați punctul de intrare extern și configurați o strategie pentru punctul de intrare extern.

  • Activați ANI extern pentru profilul agent.

  • Setați ANI extern la o mapare Număr de apelare la punctul de intrare.

Pentru mai multe informații, consultați Capitolul privind furnizarea al Cisco Webex Contact Center Ghid de configurare și administrare.

Din câmpul Navigator de filtru , navigați la Spatiu de lucru pentru agent > Acasă pentru spațiul de lucru pentru agent.

Faceți clic pe pictograma telefonului din stânga jos.

Pentru informații despre cum să utilizați Desktop, consultați Cisco Webex Contact Center Agent Desktop Ghidul utilizatorului.

Partiționarea stocării terță parte

O posibilă problemă cu actualizarea recentă a Google Chrome și Edge 116 sau o versiune ulterioară ar putea perturba experiența de conectare la conectorii CRM din Webex Contact Center. Această problemă afectează conectarea pe desktop pe consola ServiceNow CRM.

Pentru a rezolva această problemă în browserul Google Chrome:

  1. Deschideți browserul Google Chrome și introduceți chrome://flags/#third-party-storage-partitioning în bara de adrese.

  2. Dezactivați semnalul Partiționarea experimentală a stocării terță parte .

  3. Închideți și reporniți Chrome.

  4. autentificați-vă din nou pe Desktop din consola ServiceNow CRM.

Pentru a rezolva această problemă în browserul Edge:

  1. Deschideți browserul și introduceți edge://flags/#third-party-storage-partitioning în bara de adrese.

  2. Dezactivați semnalul Partiționarea experimentală a stocării terță parte .

  3. Salvați modificările și reporniți browserul.

  4. autentificați-vă din nou pe Desktop din consola ServiceNow CRM.

Pentru a rezolva această problemă în browserul Firefox:

  1. Deschideți browserul și introduceți about:config în bara de adrese.

    Poate apărea o pagină de avertizare. Faceți clic pe Acceptați riscul și continuați pentru a accesa pagina about:config .

  2. Introduceți network.cookie.cookieBehavior în caseta Nume preferință de căutare din partea de sus a about:config pagina pentru a găsi preferința.

  3. Faceți dublu clic pe preferință sau faceți clic pe pictograma Editați pentru a edita preferința.

  4. Schimbați valoarea la 0.

  5. Salvați modificările și reporniți browserul.

  6. autentificați-vă din nou pe Desktop din consola ServiceNow CRM.

Prezentare generală

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

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


 

Aceasta este o documentație de referință pentru a ajuta la modificarea regulilor de afaceri. Dezvoltatorii ServiceNow vor crea și gestiona regulile de afaceri și vor oferi asistență.

Cisco oferă doar documentație de probă.

Schimbarea codului pe ServiceNow

Scriptul include modificări
  1. Accesați navigatorul de filtre și căutați Scenariul include.

    Selectați Script Includes sub System UI.

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

  3. Schimbați metoda UserGetSysId în Scriptul.

    curent:

    UserGetSysId: function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('câmp'),this.getParameter('valoare')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= deschis_pentru; var sysid=grInt.insert(); return sysid; },

    Nou exemplu de cod pentru incident:

    UserGetSysId: function () { var opened_for; //Modificări legate de incident var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('câmp'),this.getParameter('valoare')); user.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure('incident'); inc.addQuery('ID_apelant', deschis_pentru); 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('valoare'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= deschis_pentru; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist); },

Schimbarea metodei pe paginile UI
  1. Accesați navigatorul de filtre și căutați pagina UI.

    Selectați Pagini UI sub Interfața de utilizare a sistemului.

  2. Filtrați Nume și căutați Agent desktop.

  3. Schimba Ecran pop Funcția în Scriptul client.

    Funcția curentă:

    // screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gauut.addParam('câmp', 'telefon'); gauut.addParam('valoare', callerani); gauout.getXMLWait(); var sysid = gauut.getAnswer(); openFrameAPI.openServiceNowForm({ entitate: 'interacţiune', interogare: 'sys_id='+sysid });

    Exemplu de cod pentru incident:

    // screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gauut.addParam('câmp', 'telefon'); gauut.addParam('valoare', callerani); gauout.getXMLWait(); // Pentru modificarea legată de incident var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entitate: 'incident', interogare: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entitate: 'incident', interogare: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8'); } }

Dacă informațiile apelantului există în CRM și există deja un nou incident 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 despre apelant există în CRM, aplicația deschide un nou incident cu detalii precompletate

Prezentare generală

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

În mod implicit, tabelul conține anumite câmpuri și valori ale sistemului ieșite din cutie.

Puteți crea mai multe variabile specifice afacerii (variabile CAD) în interiorul WebexCC Flow designer și puteți adăuga variabile CAD în interiorul jurnalului de activitate post-apel ServiceNow, precum și să le păstrați în datele din tabelul activității post-apel.


 

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

Este de așteptat ca dezvoltatorii ServiceNow partener+client să configureze și să gestioneze această configurație, deoarece este o personalizare a conectorului existent.

Cisco oferă numai tehnici despre cum să personalizați și să extindeți conectorul.

Începând cu acest articol, echipa Cisco a validat suportul pentru adăugarea variabilei CAD la jurnalul de activități și tabelul de activități folosind tehnica descrisă mai jos:

Adăugați o coloană la Activitate WebexCC IMP

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

  2. Accesați navigatorul de filtre și căutați studio.

    Select. Webex Contact Center

    sau

  3. Selectează Activitate WebexCC IMP masa

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

Adăugați o coloană în jurnalul telefonului

  1. Editați tabelul jurnalului telefonic.

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

Harta de transformare a activității WebexCC

Adăugați o coloană nouă, de exemplu, Numele clientului Cartografierea câmpului.

Personalizați coloanele din listă

După cum recomandă Service Now, schimbați acțiunea Alegere de la creare la ignorare.

Configurați lista jurnalelor de telefon

Accesați Script Include


 

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

Exemplu de script

Consultați rândul: webexcc.u_customername=actInfo.CustomerName; cu un comentariu justificativ.

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_webexccprop = {}; webexccprop.instanceurl= 'https://'+gs.getProperty('instance_name')+'.service-now.com/'; webexccprop.url=gs.getProperty_webexcc_top_x; / 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('câmp'),this.getParameter('valoare')); user.query(); if (user.next()) opened_for=user.sys_id;//return user.sys_id; // else / / returnează nul; var grInt = new GlideRecord('interacțiune'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; 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; // Această linie este adăugată - pentru a o captura în jurnalul de activitate webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); //Activități pe înregistrarea incidentelor; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery("telefon", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('call_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; }, tastați: 'propUtils' });

Creați o variabilă CAD în Flow designer

Adăugați variabila CAD la aspectul desktop

Exemplu

„CadName1:SnowField1, CadName2:SnowField2” CadName1 este CustomerName. SnowField1 este, de asemenea, folosit ca CustomerName, care face parte din exemplul de scirpt afișat deasupra „actInfo.CustomerName”.

Capturi de ecran demonstrative

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

Creați variabile CAD pentru Flow Designer

Urgența incidentului

Impactul incidentului

Actualizare de script Service Now

Actualizări ale Scriptului Include

  1. Accesați navigatorul de filtre și căutați script includes

    Selectați opțiunea Script Includes sub System UI.

  2. Filtrați Nume cu propUtils.

  3. Schimbați metoda UserGetSysId în câmpul Script .

    Scenariul curent:

    UserGetSysId: function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('câmp'),this.getParameter('valoare')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= deschis_pentru; var sysid=grInt.insert(); return sysid; },

    Nou exemplu de cod pentru incident:

    UserGetSysId: function () { var opened_for; var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('câmp'),this.getParameter('valoare')); user.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure('incident'); inc.addQuery('ID_apelant', deschis_pentru); 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('valoare'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'telefon'; grInt.opened_for= deschis_pentru; var sysid=grInt.insert(); sysidlist.sysid=sysid; returnează JSON.stringify(sysidlist);//sysid; },

O schimbare de metodă pe paginile UI
  1. Accesați navigatorul de filtre și căutați pagini UI.

    Selectează Pagini UI opțiunea de sub Interfața de utilizare a sistemului.

  2. Filtrați Pagini UI cu Nume si cauta agent desktop.

  3. Schimba Ecran pop Funcția în câmpul de script.

    Funcția curentă:

    // screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gauut.addParam('câmp', 'telefon'); gauut.addParam('valoare', callerani); gauout.getXMLWait(); var sysid = gauut.getAnswer(); openFrameAPI.openServiceNowForm({ entitate: 'interacţiune', interogare: 'sys_id='+sysid }); }

    Exemplu de cod pentru incident:

    // screen pop function screenpop(callerani,callSessionInfo) { var Impact=3; if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact != nedefinit) { Impact=callSessionInfo.callAssociatedData.Impact.value; } var IncUrgency=3; if(callSessionInfo.callAssociatedData.Urgency != null && callSessionInfo.callAssociatedData.Urgency != nedefinit) { IncUrgency=callSessionInfo.callAssociatedData.Urgency.value; } if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gauut.addParam('câmp', 'telefon'); gauut.addParam('valoare', callerani); gaout.addParam('IncUrgency', IncUrgency); gauout.addParam('Impact', Impact); gauout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entitate: 'incident', interogare: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entitate: '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, atunci aplicația deschide un nou incident

Schimbați codul pe ServiceNow

Adăugați coloane noi la Activitate WebexCC IMP masa

Deschide Activitate WebexCC IMP masa

Adăugați o nouă coloană - InteractionsNumber

Adăugați o nouă coloană - IncidentNumber

Faceți clic pe Actualizare.

Adăugați coloane noi la Jurnal de telefon masa

Deschide Jurnal de telefon masa

Adăugați o nouă coloană - InteractionsNumber

Adăugați o nouă coloană - IncidentNumber

Harta de transformare a activității WebexCC

Deschidere Transforma harta Din navigatorul de filtru

Click pe WebexCC Activitate TransformMap

Adăugați un nou - pentru Harta numerelor de interacțiune

Adăugați un nou - pentru Harta numărului de incident

Faceți clic pe Actualizare.

Modificări la Script Include

  1. Accesați navigatorul de filtre și căutați „script includes”.

    Selectați Script Includes sub System UI.

  2. Filtrați Nume cu propUtils.

  3. Schimbați metoda setWebexcctable.

    Exemplu de cod nou pentru 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()) { //Activități în înregistrarea incidentului; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var Incnum=""; var intensum=""; șterge actInfo['interaction_sys_id']; șterge actInfo['incident_sys_id']; if( interactionsysid!= null && interactionsysid != nedefinit){ var inte = new GlideRecordSecure('interacțiune'); //inte.get('sys_id', interactionsysid ); inte.addQuery('sys_id', interactionsysid ); int.query(); if (inte.next()) { intenum=inte.number; // inte.setValue('state','Closed Complete'); inte.work_notes='Actualizare stare la închis.'; inte.update(); } } if( incsysid!= null && incsysid != nedefinit){ 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("telefon", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('call_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; },

Modificări de metodă pe paginile UI

  1. Accesați navigatorul de filtre și căutați Pagini UI

    Selectați UI Pagini opțiunea de sub Interfața de utilizare a sistemului.

  2. Filtrați paginile UI cu Nume și căutați agentdesktop.

  3. Schimba nowActivities și screenpop Funcție în script.

    Funcția curentă:

    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)); gauout.getXML(SetCCsysId); }

    Exemplu de cod 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 = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gauout.getXML(SetCCsysId); } function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gauut.addParam('câmp', 'telefon'); gauut.addParam('valoare', callerani); gauout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entitate: 'incident', interogare: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entitate: '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ă pentru versiunile 1.0.5 și mai mici. Pentru personalizările pentru versiunile mai noi 1.0.7 și mai sus, urmați pașii de mai sus.

Personalizare # 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 în conectorul WebexCC CRM din ServiceNow, creați o nouă înregistrare a incidentului.

  1. Căutați Reguli de afaceri în navigatorul Filtre

  2. Faceți clic pe Nou.

    Exemplu de cod pentru referință:

    function customcti() { var url = null; var nume = 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 ID utilizator = null; if (eid != null && eid != '') { userID = UserGetSysId("employee_number",eid); } if (userID == null && nume != null && nume != '') { userID = UserGetSysId("nume", nume); } if (userID == null && phone != null && phone != '') { userID = UserGetSysId("telefon", telefon); } 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; } răspuns = url; URL de returnare; } function UserGetSysId(field, value) { var user = new GlideRecord("sys_user"); user.addQuery(câmp, valoare); user.query(); if (user.next()) returnează user.sys_id; else return null; }

    Exemplu de configurare a regulii de afaceri

  3. Activați Client apelabil

    Integrare de telefonie computerizată (CTI) Procesare pentru incident este marcat ca Adevărat.

  4. Actualizați adresa URL a ecranului cu regula personalizată CTI " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone= "

Exemplu

The sysparm_cti_rule=nume Unde ' Nume ' este numele lui a funcţie este de invocat pentru CTI Procesare mai degrabă decât utilizarea scriptului implicit.

Definiți funcția în a sys_script intrarea marcată client apelabil.

Dacă trebuie să inserați, să actualizați sau să ștergeți orice GlideRecords din funcție, apelați o funcție separată care nu poate fi apelată de client pentru a efectua actualizările.


 

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

Caseta de selectare care poate fi apelată de client nu apare implicit. Pentru a vizualiza, trebuie să modificați câmpurile care se afișează în formular folosind pictograma roată și mecanismul cupei de nămol.

Referințe

Personalizare # 2 - Adăugați variabila CAD în tabelul de activitate al Centrului de contact Webex

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 pentru ServiceNow CRM Connector.

În mod implicit, tabelul conține câmpuri și valori de sistem out-of-box.

Puteți crea mai multe variabile specifice afacerii (variabile CAD) în interiorul WebexCC Flow designer și puteți adăuga acele variabile CAD în jurnalul de activitate post-apel ServiceNow și păstrați acest lucru în datele din tabelul activității după apel .


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

  • Dezvoltatorii partener+client ServiceNow vor configura și gestiona această configurație, deoarece este o personalizare a conectorului existent.

  • Cisco va oferi doar tehnici despre cum să personalizați și să extindeți conectorul.

  • Începând cu acest articol, echipa Cisco a validat suportul pentru adăugarea variabilei CAD la jurnalul de activități și la tabelul de activități folosind tehnica descrisă mai jos.

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

  2. Accesați Studio > Webex Contact Center.

  3. Selectați Activitate WebexCC tabel.

  4. De exemplu, CustomerName.

  5. Selectați Aspect listă pentru Activitatea WebexCC.

Creați un nou Script Include

 

Acest pas nu este necesar dacă utilizați setul de actualizare XML - Este necesară adăugarea unei singure linii „webexcc.u_customername=actInfo.CustomerName” la propUtils.

Exemplu de script

Vedeți rândul cu:webexcc.u_customername=actInfo.CustomerName; cu un comentariu justificativ.

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('webexcc_property)('webexcc_property('webexcc_property); .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 = actInfoactivity; =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 pe înregistrarea incidentelor; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery("telefon", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('call_id', suser.sys_id); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(șir care acționează),null,2); inc.comments =jsonPretty; inc.update(); } } } return sys_id; }, tastați: 'propUtils2' });
Editați pagina UI cu un nou nume de script

Creați o variabilă CAD în Flow designer

Adăugați variabila CAD la aspectul desktop

Capturi de ecran demonstrative

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