Integrace Webex Contact Center s ServiceNow (verze 1—Legacy)
Předpoklady
Minimální podporovaná velikost rozhraní softphone je 500px. Jakákoli hodnota nižší než 500 pixelů může mít za následek problémy se zobrazením nebo funkčností.
Před integrací Webex Contact Center s konzolou ServiceNow CRM se ujistěte, že máte následující:
-
Přístup do kontaktního centra Webex.
-
Přístup správce k ovládacímu centru na adrese https://admin.webex.com a Webex Contact CenterManagement Portal. Adresy URL Management Portal jsou specifické pro vaši oblast.
-
Agent s přístupem k ploše. Adresa URL plochy je specifická pro vaši oblast.
-
Přístup agenta k následující doméně, která je přidána do seznamu povolených zásad zabezpečení obsahu:
-
*.service-now.com
Další informace o tom, jak definovat seznam povolených, naleznete v článku Nastavení zabezpečení pro Webex Contact Center.
-
-
Účet vývojářského portálu ServiceNow. Chcete-li vytvořit účet, přejděte na vývojářský portál ServiceNow na adrese https://developer.servicenow.com/dev.do a klikněte na Zaregistrovat se a začněte budo vat.
-
Přístup k následujícím souborům na adrese https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
Sada aktualizací ServiceNow (XML)
-
Rozložení pracovní plochy ServiceNow Contact Center (JSON)
-
- Edice ServiceNow, které Webex Contact Center podporuje, jsou Vancouver, Utah, Tokya, Washington a Xanadu. Další informace naleznete v tématu Integrace kontaktního centra Webex se službou ServiceNow.
Postupujte podle jedné ze dvou níže uvedených metod:
- U instancí vývojářů doporučujeme postupovat podle pokynů v příručce instancí vývojáře.
- Pokud vlastníte instanci s podnikovou licencí, postupujte podle pokynů pro instance s podnikovou licencí.
Nedoporučujeme míchat aplikaci s podnikovou licencí s instancemi sandboxu pro vývojáře.
Digitální kanály, jako je chat a e-mail, nejsou podporovány konektory CRM. To platí pro všechny CRM integrace využívající tyto konektory. Podle toho naplánujte své nasazení a pracovní postupy zapojení zákazníků.
V následujících částech jsou popsány kroky k instalaci konektoru ServiceNow pro instance vývojáře.
| 1 |
Přihlaste se ke svému účtu vývojářského portálu ServiceNow a otevřete konzolu pro správu. |
| 2 |
V oblasti Moje instance v nabídce Ú čet klikněte na tlačítko Sp ustit vytváření.
|
| 3 |
V instanci vývojáře přejděte z pole Navigátor filtr ů v levém horním rohu okna na Pluginy.
|
| 4 |
Vyhledejte plugin Openframe, který má název Open frame. Možná budete muset procházet seznamem.
|
| 5 |
Klepnutím na tlačítko Instal ovat nainstalujte plugin Openframe. |
| 6 |
V dialogovém okně Aktivovat zásuv ný modul klepněte na tlačítko Aktivovat.
|
| 7 |
Po dokončení aktivace pluginu klikněte v dialogovém okně Aktivace pluginu na tlačítko Zavřít a znovu načíst formulář.
|
| 8 |
Chcete-li ověřit aktivaci pluginu, přejděte z pole Navigátor filtru v levém horním rohu okna na OpenFrame. |
| 9 |
Klikněte na Konfigurace a ujistěte se, že se plugin OpenFrame zobrazí v seznamu Konfigurace OpenFrame.
|
| 1 |
Název souboru: Web Excc-ServiceNow-update-setv (X) .xml
|
| 2 |
V instanci ServiceNow přejděte z pole Navigátor filtrů v levém horním rohu okna na Sady .
|
| 3 |
Klikněte na odkaz Importovat sadu aktualizací z XML.
|
| 4 |
Klepněte na tlačítko Vy brat soubor, vyberte soubor XML sady aktualizací systému a potom klikněte na tlačítko Nahrát.
Aktualizační sada se zobrazí v seznamu Na čtené sady aktualiz ací a je ve stavu Načten o.
|
| 5 |
V seznamu Načtené sady aktualiz ací klikněte na název souboru aktualizační sady (odkaz) a otevřete aktualizační sadu.
|
| 6 |
V pravém horním rohu okna klikněte na možnost Ná hled aktualizační sady a zkontrolujte, zda v sadě aktualizací nejsou problémy.
|
| 7 |
Po dokončení náhledu klikněte v dialogovém okně Náhled aktualizační sady na tlačítko Zavřít.
|
| 8 |
Klepněte na tlačítko Odevzdat sadu aktualiz ací.
|
| 9 |
Po dokončení o devzdání aktualizační sady klikněte na tlačítko Zavřít v dialogovém okně Odevzdání sady aktualiz ací.
|
| 1 |
Do pole Navigátor filtr ů v levém horním rohu okna zadejte
|
| 2 |
Na stránce Vlastnosti systému seřaďte vlastnosti podle data aktualizace. Ujistěte se, že vidíte následující vlastnosti kontaktního centra Webex:
|
| 3 |
Klep agentdesktop_urlnutím otevřete agentdesktop_url stránku Vlastnosti systému. |
| 4 |
Do pole Hodno ta zadejte adresu URL pro plochu Webex Cont act Center podle oblasti provozu.
|
| 5 |
Klepnutím na tlačítko Aktualiz ovat změny uložte. |
| 6 |
(Volitelné) Chcete-li změnit název tabulky Aktivita, upravte podle potřeby vlastnosti webexccactivitytable. Na stránce Vlastnosti systému klikněte na webex ccactivitytable. Podle potřeby změňte pole Hodno ta.
|
| 7 |
(Volitelné) Skupiny uživatelů můžete přidat následujícími způsoby:
|
| 1 |
V poli Navigátor filtr ů přejděte na .
|
| 2 |
Klepněte na tlačítko Nový.
|
| 3 |
Zadejte následující vlastnosti adresy URL:
|
| 4 |
Vpravo od pole URL klikněte na tlačítko Zam knout a přidejte ji
|
| 5 |
(Volitelné) Vyberte skupinu uživatelů nebo agentů pro přiřazení konfigurace.
|
| 6 |
Klikněte na Odeslat. Adresa URL se zobrazí jako odkaz.
|
| 7 |
Než se pokusíte použít telefon OpenFrame, ujistěte se, že jste nahráli vlastní soubor JSON rozložení plochy ServiceNow do kontaktního centra Webex. Management Portal Další informace naleznete v tématu Nastavení rozložení plochy ServiceNow ve Webex Contact Center. |
| 1 |
|
| 2 |
V případě potřeby aktualizujte vlastnosti v souboru Rozvržení plochy. |
| 3 |
Přejděte do kontaktního centra Management Portal Webex. |
| 4 |
Na Management Portal navigačním panelu zvolte Zřiz .
|
| 5 |
Klikněte na Nové rozložení a zadejte podrobnosti o rozložení plochy. |
| 6 |
Nahrajte soubor JSON ServiceNow Desktop Layout. |
| 7 |
Kliknutím na tlačítko U ložit uložte konfiguraci. Nyní můžete spustit plochu Webex Contact Center v konzole ServiceNow. |
| 8 |
V poli Navigátor filtr ů přejděte do .
|
V následujících částech jsou popsány kroky k instalaci konektoru ServiceNow pro licencované podnikové instance.
| 1 |
Přihlaste se ke svému účtu vývojářského portálu ServiceNow a otevřete konzolu pro správu. |
| 2 |
V oblasti Moje instance v nabídce Ú čet klikněte na tlačítko Sp ustit vytváření.
|
| 3 |
V instanci vývojáře přejděte z pole Navigátor filtr ů v levém horním rohu okna na Pluginy.
|
| 4 |
Vyhledejte plugin Openframe, který má název Open frame. Možná budete muset procházet seznamem.
|
| 5 |
Klepnutím na tlačítko Instal ovat nainstalujte plugin Openframe. |
| 6 |
V dialogovém okně Aktivovat zásuv ný modul klepněte na tlačítko Aktivovat.
|
| 7 |
Po dokončení aktivace pluginu klikněte v dialogovém okně Aktivace pluginu na tlačítko Zavřít a znovu načíst formulář.
|
| 8 |
Chcete-li ověřit aktivaci pluginu, přejděte z pole Navigátor filtru v levém horním rohu okna na OpenFrame. |
| 9 |
Klikněte na Konfigurace a ujistěte se, že se plugin OpenFrame zobrazí v seznamu Konfigurace OpenFrame.
|
Instance, které mají podnikové licence, mohou aplikaci Webex Contact Center nainstalovat přímo z obchodu ServiceNow.
|
|
| 1 |
V poli Navigátor filtr ů v levém horním rohu okna zadejte
|
| 2 |
Na stránce Vlastnosti systému seřaďte vlastnosti podle data aktualizace. Ujistěte se, že vidíte následující vlastnosti kontaktního centra Webex:
|
| 3 |
Klep agentdesktop_urlnutím otevřete agentdesktop_url stránku Vlastnosti systému. |
| 4 |
Do pole Hodno ta zadejte adresu URL pro plochu Webex Cont act Center podle oblasti provozu.
|
| 5 |
Klepnutím na tlačítko Aktualiz ovat změny uložte. |
| 6 |
(Volitelné) Chcete-li změnit název tabulky Aktivita, upravte podle potřeby vlastnosti x_caci_webexcc.webexccactiv itytable.
|
| 7 |
(Volitelné) Skupiny uživatelů můžete přidat následujícími způsoby:
|
| 1 |
V poli Navigátor filtr ů přejděte na .
|
| 2 |
Klepněte na tlačítko Nový.
|
| 3 |
Zadejte následující vlastnosti adresy URL:
|
| 4 |
Vpravo od pole URL klikněte na tlačítko Zam knout a přidejte ji
|
| 5 |
(Volitelné) Vyberte skupinu uživatelů nebo agentů pro přiřazení konfigurace.
|
| 6 |
Klikněte na Odeslat. Adresa URL se zobrazí jako odkaz.
|
| 7 |
V poli Navigátor filtr ů přejděte do .
|
| 8 |
(Volitelné) V seznamu Skupina uživatelů přesuňte skupiny uživatelů, které mají přístup k ploše kontaktního centra Webex, z Dostupné na vybrané. |
| 9 |
Než se pokusíte použít telefon OpenFrame, ujistěte se, že jste nahráli vlastní soubor JSON rozložení plochy ServiceNow do kontaktního centra Webex. Management Portal Další informace naleznete v tématu Nastavení rozložení plochy ServiceNow ve Webex Contact Center. |
| 1 |
|
| 2 |
V případě potřeby aktualizujte vlastnosti v souboru Rozvržení plochy. |
| 3 |
Přejděte do kontaktního centra Management Portal Webex. |
| 4 |
Na Management Portal navigačním panelu zvolte Zřiz .
|
| 5 |
Klikněte na Nové rozložení a zadejte podrobnosti o rozložení plochy. |
| 6 |
Nahrajte soubor JSON ServiceNow Desktop Layout. |
| 7 |
Kliknutím na tlačítko U ložit uložte konfiguraci. Nyní můžete spustit plochu Webex Contact Center v konzole ServiceNow. |
| 8 |
V poli Navigátor filtr ů přejděte do .
|
| 1 |
V poli Navigátor filtru přejděte na Incidenty > Otevřít incident. |
| 2 |
Klikněte pravým tlačítkem myši na pole volajícího a klikněte na tlačítko Konfigurovat slovník.
|
| 3 |
Přidejte atributy
Nyní můžete začít používat plochu Webex Contact Center v konzole ServiceNow. |
| 4 |
V poli Navigátor filtr ů přejděte do .
|
- Podporujeme přihlášení Agent Desktop pomocí WebRTC pouze pro konektory Salesforce (SFDC) a Microsoft Dynamics (MS Dynamics).
- V současné době je tato funkce použitelná pouze pro agenty.
Agent Desktopv konzole ServiceNow
Před uskutečněním externích hovorů se ujistěte, že provedete následující kroky:
-
Vytvořte vstupní bod outdial a nastavte strategii vstupního bodu outdial.
-
Povolte externí ANI pro profil agenta.
-
Nastavte externí ANI na mapování čísla na vstupní bod.
Další informace naleznete v kapitole Zřiz ování v Příručce k Cisco Webex Contact Centerinstalaci a správě.
V poli Navigátor filtr ů přejděte do .
Informace o tom, jak používat Desktop, naleznete na kartě Agent v nápovědě Webex Contact Center.
Přehled
Tento článek popisuje několik způsobů, jak přizpůsobit obchodní pravidla pro konektor ServiceNow CRM. Podrobně popisuje, jak můžete přizpůsobit případy použití na základě obchodních pravidel, která jsou specifická pro ServiceNow.
Zákazník musí tyto případy použití spravovat na ServiceNow sám. Konfigurace je specifická pro ServiceNow, nikoli pro software nebo odborné znalosti Webex Contact Center.
Jedná se o referenční dokumentaci, která napomáhá změně obchodních pravidel. Vývojáři ServiceNow budou vytvářet a spravovat obchodní pravidla a poskytovat podporu.
Společnost Cisco poskytuje pouze ukázkovou dokumentaci.
V následujících částech jsou uvedeny podrobnosti o tom, jak nastavit, povolit a spravovat widget Akce pro vývojářské a podnikové instance.
Odevzdání widgetu sady aktualizací pro akce
U licencovaných podnikových instancí nainstalujte nejnovější aplikaci Webex Contact Center z obchodu ServiceNow.
Chcete-li nastavit widget Akce pro instance vývojáře, stáhněte si nejnovější soubor XML sady aktualizací systému dostupný v úložišti github na tomto umístění: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Název souboru je webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Chcete-li potvrdit sadu aktualizací widgetu Akce, postupujte podle kroků 2 až 9 v části O devzdání aktualizační sady.
Widget Povolit akce
Pomocí vlastnosti isWidgetDisplayEnabled povolte widget Akce. Hodnotu této vlastnosti nesmíte upravovat v sekci bez hlavy vlastního rozložení plochy. Vlastnost je vždy nastavena na hodnotu false v sekci bez hlavy vlastního rozložení plochy. Hodnotu vlastnosti byste měli aktualizovat pouze v části panelu vlastního rozložení plochy.
Jakmile povolíte widget Akce ve vlastním rozložení plochy, můžete provést následující akce:
- Správa záznamů aktivit — kliknutím na Zobrazit/upravit záznam aktivity zobrazíte seznam záznamů aktivit přidružených k volajícímu.
- Přiřadit objekty CRM — kliknutím na Přiřadit k záznamům aktivity přidejte do záznamu aktivity objekty CRM, jako je typ volání (příchozí nebo odchozí), objekt volání, poznámky k volání atd.
- Správa incidentů — klikněte na Vytvořit incident. Vytvoří se nový incident s předvyplněnými podrobnostmi volajícího. Můžete provést požadované aktualizace incidentu. Můžete se rozhodnout upravit typ záznamu od incidentu k případu, modulu HR atd. na základě vašich požadavků. Chcete-li změnit typ záznamu, upravte hodnotu vlastnosti TypeOfRecord v konfiguraci widgetu Akce. Například:
{ "comp": "md-tab-panel", "attributes": { "slot": "panel", "class": "widget-pane" }, "children": [ { "comp": "agentx-custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "properties": { "isWidgetDisplayEnabled": true, "typeOfRecord" : "Create Incident" }, "wrapper": { "title": "SNOW Actions !", "maximizeAreaName": "app-maximize-area" } } ] } - Přidání živých poznámek k hovoru — Další informace o hovoru můžete zachytit v textové oblasti a dokončit hovor. Tyto poznámky můžete vidět přidané jako poznámky k hovoru v záznamu aktivity.
Změna kódu na ServiceNow
Skript obsahuje změny-
Přejděte do navigátoru filtrů a vyhledejte
skript obsahuje
.V části Uživatelské rozhraní systému vyberte Skript Zahr nuje.
-
Filtrujte název a vyhledejte
PropUtils.
-
Změňte metodu
UserGetSysID ve skriptu
.Aktuální:
UserGetSysId : function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },Nový ukázkový kód incidentu:
UserGetSysId : function () { var opened_for; //Incident related changes var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', opened_for); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='phone'; inc.short_description='Call Received From '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist); },
-
Přejděte do navigátoru filtrů a vyhledejte
UI page.Vyberte stránky uživatelského rozhraní v části Systémové uživatelské rozhraní.
-
Filtrujte název a vyhledejte
agentdesktop
. -
Změňte funkci
screenpop
v klientském skriptu.Aktuální funkce:
// screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid });Ukázkový kód incidentu:
// screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // For Incident-related change var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }
Pokud informace o volajícím existují v CRM a s tímto kontaktem je již otevřen nový incident, aplikace otevře neprobíhající incident
Pokud informace o volajícím v CRM neexistují, aplikace otevře nový incident
Pokud informace o volajícím existují v CRM, aplikace otevře nový incident s předem vyplněnými údaji
Přehled
Tento případ použití podrobně popisuje proces přidání dalšího sloupce do tabulky ServiceNow - webexcc_imp_activity a vytvoření sn_openframe_phone_log po instalaci Webex CC pro ServiceNow CRM Connector.
Ve výchozím nastavení tabulka obsahuje určitá vyhotovená systémová pole a hodnoty.
Uvnitř návrháře toku WebExCC můžete vytvořit více proměnných specifických pro podnikání (proměnné CAD) a přidat proměnné CAD do protokolu aktivit po volání ServiceNow a také je zachovat v datech tabulky aktivit po volání.
Toto je pouze referenční dokumentace - a ukazuje, jak to udělat pro ukázkovou proměnnou CAD nazvanou Jméno zákazníka, která ukládá jméno zákazníka uvnitř IVR a zveřejní to do ServiceNow.
Očekává se, že vývojáři partner+zákaznické službyNow tuto konfiguraci nakonfigurují a spravují, protože se jedná o přizpůsobení stávajícímu konektoru.
Cisco poskytuje pouze techniky, jak přizpůsobit a rozšířit konektor.
V tomto článku tým společnosti Cisco ověřil podporu pro přidání proměnné CAD do protokolu aktivit a tabulky aktivit pomocí níže popsané techniky:
Přidat sloupec do aktivity WebExCC IMP
-
Upravte tabulku ve vývojářské verzi ServiceNow.

-
Přejděte do navigátoru filtrů a vyhledejte studio.

Vyberte
Webex Contact Center

nebo



-
Vyberte tabulku Aktiv
ita WebExCC IMP

-
Přidání nového sloupce, například
CustomerName


Přidat sloupec do protokolu telefonu
-
Upravte tabulku protokolu telefonu.


-
Přidejte nový sloupec, například
CustomerName
.

Mapa transformace aktivity WebExCC

Přidejte nový sloupec, například mapování pole CustomerName
.


Přizpůsobte sloupce seznamu

Jak doporučuje služba Nyní, změňte akci Volba z vytvoření na ignorovat.


Konfigurace seznamu telefonních protokolů

Přejít na skript Zahrnout
Přidejte pouze jeden řádek webexcc. u_customername=ActInfo.customerName to PropUtils
.



Viz řádek: webexcc. u_customername=ActInfo.CustomerName; s podpůrným komentářem.
var propUtils = Class.create();
propUtils.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{
getWebexccProp : function () {
var webexccprop = {};
webexccprop.instanceurl= 'https://'+gs.getProperty('instance_name')+'.service-now.com/';
webexccprop.url=gs.getProperty('x_caci_webexcc.agentdesktop_url');
// webexccprop.popupurl=gs.getProperty('x_caci_webexcc.screenpop_url');
return JSON.stringify(webexccprop);
},
UserGetSysId : function () {
var opened_for;
var user = new GlideRecord("sys_user");
user.addQuery(this.getParameter('field'),this.getParameter('value'));
user.query();
if (user.next())
opened_for=user.sys_id;//return user.sys_id;
// else
// return null;
var grInt = new GlideRecord('interaction');
grInt.initialize();
grInt.assigned_to= gs.getUserID();
grInt.type= 'phone';
grInt.opened_for= opened_for;
var sysid=grInt.insert();
return sysid;
},
setWebexcctable : function () {
var sys_id=0;
var actInfo = JSON.parse(this.getParameter('actInfo'));
var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable'));
webexcc.addQuery("callobject", actInfo.CallObject);
webexcc.query();
if(!webexcc.next()) {
webexcc.ani = actInfo.ani;
webexcc.dnis =actInfo.dnis;
webexcc.queuename =actInfo.queuename;
webexcc.wrapuptime =actInfo.wrapuptime;
webexcc.callduration =actInfo.CallDurationInSeconds;
webexcc.ringingtime =actInfo.ringingtime;
webexcc.activitydate =actInfo.ActivityDate;
webexcc.callobject =actInfo.CallObject;
webexcc.calltype =actInfo.CallType;
webexcc.calldisposition=actInfo.CallDisposition;
// This line is Added - to capture it in the Activity Log
webexcc.u_customername=actInfo.CustomerName;
sys_id=webexcc.insert();
//Activities on Incident record;
var actInfoString =this.getParameter('actInfo');
var suser = new GlideRecordSecure("sys_user");
suser.addQuery("phone", this.getParameter('ani'));
suser.query();
if(suser.next()) {
var inc = new GlideRecordSecure('incident');
inc.addQuery('caller_id', suser.sys_id);
inc.orderByDesc('sys_created_on');
inc.query();
if (inc.next()) {
var jsonPretty = JSON.stringify(JSON.parse(actInfoString),null,2);
inc.comments =jsonPretty;
inc.update();
}
}
}
return sys_id;
},
type: 'propUtils'
});
Vytvoření proměnné CAD v návrháři toku

Přidání proměnné CAD do rozvržení plochy
Příklad
"CadName1:SnowField1,CadName2:SnowField2"
CadName1 is CustomerName
SnowField1 is also used as CustomerName which is part of sample scirpt showen above "actInfo.CustomerName".

Ukázkové snímky obrazovky
Zobrazte nově přidanou proměnnou CAD v tabulce Aktivita WebExCC.



Vytvoření proměnné CAD pro Flow Designer
Naléhavost incidentu
Dopad incidentu

Aktualizace skriptu Service Now
Aktualizace skriptu obsahuje
-
Přejděte do navigátoru filtrů a vyhledejte
script includesV části Uživatelské rozhraní systému vyberte možnost Zahrnuje skript.

-
Filtrujte název pomocí
propUtils.
-
Změňte metodu
UserGetSysID v poli
Skript.
Aktuální skript:
UserGetSysId : function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },Nový ukázkový kód incidentu:
UserGetSysId : function () { var opened_for; var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', opened_for); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='phone'; inc.urgency=this.getParameter('IncUrgency'); inc.impact=this.getParameter('Impact'); inc.short_description='Call Received From '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist);//sysid; },
-
Přejděte do navigátoru filtrů a vyhledejte
UI pages.Vyberte možnost Stránky uživatelského rozhraní v části Syst émové uživatelské rozhraní.

-
Filtrujte stránky uživatel ského rozhraní pomocí názvu a hledejte
agentdesktop.
-
Změňte funkci
screenpop
v poli skriptu.
Aktuální funkce:
// screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid }); }Ukázkový kód incidentu:
// screen pop function screenpop(callerani,callSessionInfo) { var Impact=3; if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact != undefined) { Impact=callSessionInfo.callAssociatedData.Impact.value; } var IncUrgency=3; if(callSessionInfo.callAssociatedData.Urgency != null && callSessionInfo.callAssociatedData.Urgency != undefined) { IncUrgency=callSessionInfo.callAssociatedData.Urgency.value; } if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam('Impact', Impact); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }
Pokud informace o volajícím existují v CRM a nedochází k žádnému novému nebo neprobíhajícímu incidentu, aplikace otevře nový incident


Změňte kód na ServiceNow
Přidání nových sloupců do tabulky Aktiv ita WebExCC IMP
Otevřete tabulku Aktivita WebExCC IMP





Klikněte na Aktualizovat.


Přidání nových sloupců do tabulky protokolu telefonu
Otevření tabulky telefonního protokol
u





Mapa transformace aktivity WebExCC
Otevření mapy transform
ace z navigátoru filtrů


Klikněte na WebExCC Activity TransformMap




Klepněte na tlačítko Aktualiz ovat.

Změny ve skriptu zahrnuje
-
Přejděte do navigátoru filtrů a vyhledejte „skript obsahuje“.
V části Uživatelské rozhraní systému vyberte Skript Zahr nuje.

-
Filtrujte název pomocí
PropUtils.

-
Změňte metodu
SetWeb
ExccTable.
Nový ukázkový kód pro Incident:
setWebexcctable : function () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('webexccactivitytable')); webexcc.addQuery("u_callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { //Activities on Incident record; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; delete actInfo['interaction_sys_id']; delete actInfo['incident_sys_id']; if( interactionsysid!= null && interactionsysid != undefined){ var inte = new GlideRecordSecure('interaction'); //inte.get('sys_id', interactionsysid ); inte.addQuery('sys_id', interactionsysid ); inte.query(); if (inte.next()) { intenum=inte.number; // inte.setValue('state','Closed Complete'); inte.work_notes='Update State to closed.'; inte.update(); } } if( incsysid!= null && incsysid != undefined){ var inci = new GlideRecordSecure('incident'); inci.addQuery('sys_id', incsysid ); inci.query(); if (inci.next()) { incnum=inci.number; var jsonPretty = JSON.stringify(actInfo,null,2); //JSON.stringify(JSON.parse(actInfoString),null,2); inci.comments =jsonPretty; inci.update(); } }else{ var suser = new GlideRecordSecure("sys_user"); suser.addQuery("phone", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', suser.sys_id); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(actInfo,null,2); inc.comments =jsonPretty; inc.update(); } } } webexcc.u_ani = actInfo.ani; webexcc.u_dnis =actInfo.dnis; webexcc.u_queuename =actInfo.queuename; webexcc.u_wrapuptime =actInfo.wrapuptime; webexcc.u_callduration =actInfo.CallDurationInSeconds; webexcc.u_ringingtime =actInfo.ringingtime; webexcc.u_activitydate =actInfo.ActivityDate; webexcc.u_callobject =actInfo.CallObject; webexcc.u_calltype =actInfo.CallType; webexcc.u_calldisposition=actInfo.CallDisposition; webexcc.u_incidentnumber=incnum; webexcc.u_interactionsnumber=intenum; sys_id=webexcc.insert(); } return sys_id; },
Změny metod na stránkách uživatelského rozhraní
-
Přejděte do navigátoru filtrů a vyhledejte
stránky uživatelského rozhraní
Vyberte možnost Stránky uživatelského rozhraní v části Syst émové uživatelské rozhraní.

-
Filtrujte stránky uživatelského rozhraní pomocí názvu a hledejte
agentdesktop.
-
Změňte funkci
NowActivities a screenpop
ve skriptu.
Aktuální funkce:
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); }Ukázkový kód incidentu:
function nowActivities(actInfo, ani) { var sysObjstr = window.localStorage.getItem("screenpopinteraction"); if(sysObjstr != null && sysObjstr != undefined) { var sysObjjson=JSON.parse(sysObjstr); actInfo.interaction_sys_id=sysObjjson.sysid; actInfo.incident_sys_id=sysObjjson.incsysid; } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gaout.getXML(SetCCsysId); } function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }
Výsledky po aktualizaci

Následující úpravy se vztahují na verze 1.0.5 a nižší. Pro přizpůsobení pro novější verze 1.0.7 a vyšší postupujte podle výše uvedených kroků.
Přizpůsobení č. 1 - Přidejte vlastní obchodní pravidla pro případy použití toku hovorů
Vytvořte nový záznam incidentu pro každý hovorPro každé nové volání do konektoru WebExCC CRM v ServiceNow vytvořte nový záznam incidentu.
Vyhledání obchodních pravidel v navigátoru filtrů

Klepněte na tlačítko Nový.

Ukázkový kód pro referenci:
function customcti() { var url = null; var name = sysparm_caller_name; eid = sysparm_caller_id; var phone = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; if (fQuery == null) fQuery = ''; var view = sysparm_view; if (view == null || view == '') view = "itil"; var userID = null; if (eid != null && eid != '') { userID = UserGetSysId("employee_number",eid); } if (userID == null && name != null && name != '') { userID = UserGetSysId("name", name); } if (userID == null && phone != null && phone != '') { userID = UserGetSysId("phone", phone); } if (userID != null) { if (fQuery.length > 0) fQuery += "^"; fQuery += "caller_id=" + userID; } if (url == null) { url = "incident.do?sys_id=-1"; if (fQuery != null) url += "&sysparm_query=" + fQuery; } answer = url; return url; } function UserGetSysId(field, value) { var user = new GlideRecord("sys_user"); user.addQuery(field, value); user.query(); if (user.next()) return user.sys_id; else return null; }Ukázková konfigurace obchodního pravidla

Povolit volatelný klient

Integrace počítačové telefonie (CTI) Processing for Incident je označeno jako True.

Aktualizujte adresu URL screenpop pomocí vlastního pravidla CTI "cti.do? sysparm_cti_rule=VytvořitIncident& =“ sysparm_caller_phone

sysparm_cti_rule=name, kde 'name' je název funkce, má být vyvolán pro zpracování CTI spíše než použití výchozího skriptu.
Definujte funkci v položce označ sys_scriptené klientem volatelný.
Pokud musíte vložit, aktualizovat nebo odstranit libovolné GlidereCord (y) ve funkci, zavolejte samostatnou volatelnou neklientskou funkci k provedení aktualizací.
Chcete-li nastavit skript volatelným pro klienta, musíte zaškrtnout políčko volatelný klientem ve formuláři, který se zobrazí při zobrazení položky. sys_script
Zaškrtávací políčko s možností volání klienta se ve výchozím nastavení nezobrazuje. Chcete-li zobrazit, musíte upravit pole, která se zobrazují ve formuláři, pomocí ikony ozubeného kola a mechanismu slush bucket.
Přizpůsobení č. 2 - Přidejte proměnnou CAD do tabulky aktivit Webex Contact Center
PřehledTento článek podrobně popisuje postup přidání dalšího sloupce do tabulky ServiceNow - webexcc_activity který je vytvořen po instalaci Webex CC pro ServiceNow CRM Connector.
Ve výchozím nastavení tabulka obsahuje již připravená systémová pole a hodnoty.
V návrháři toku WebExCC můžete potenciálně vytvořit více proměnných specifických pro podnikání (proměnné CAD) a přidat tyto proměnné CAD do protokolu aktivit po volání ServiceNow a zachovat to v datech tabulky aktivit po volání.
-
Toto je pouze referenční dokumentace - a ukazuje, jak to udělat pro ukázkovou proměnnou CAD nazvanou Jméno zákazníka, která ukládá jméno zákazníka uvnitř IVR a zveřejní to do ServiceNow.
-
Vývojáři partner+Customer ServiceNow tuto konfiguraci nakonfigurují a spravují, protože se jedná o přizpůsobení stávajícímu konektoru.
-
Společnost Cisco poskytne pouze techniky přizpůsobení a rozšíření konektoru.
-
V tomto článku tým společnosti Cisco ověřil podporu pro přidání proměnné CAD do protokolu aktivit a tabulky aktivit pomocí níže popsané techniky.
Upravte tabulku ve vývojářské verzi ServiceNow.

Přejděte do nabídky .



Vyberte tabul ku aktivit WebExCC.

Například CustomerName.


Vyberte Rozvržení seznamu pro aktivitu WebExCC.

Tento krok není vyžadován, pokud používáte aktualizační sadu XML - Je třeba přidat pouze jeden řádek "webexcc. u_customername=ActInfo.customerName "na PropUtils.



Ukázkový skript
Viz řádek s: webexcc. u_customername=ActInfo.CustomerName; s podpůrným komentářem.
var propUtils2 = Class.create();
propUtils2.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{
getWebexccProp : function () {
var webexccprop = {};
webexccprop.instanceurl= 'https://'+gs.getProperty('instance_name')+'.service-now.com/';
webexccprop.url=gs.getProperty('x_caci_webexcc.agentdesktop_url');
webexccprop.popupurl=gs.getProperty('x_caci_webexcc.screenpop_url');
return JSON.stringify(webexccprop);
},
setWebexcctable : function () {
var sys_id=0;
var actInfo = JSON.parse(this.getParameter('actInfo'));
var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable'));
webexcc.addQuery("callobject", actInfo.CallObject);
webexcc.query();
if(!webexcc.next()) {
webexcc.ani = actInfo.ani;
webexcc.dnis =actInfo.dnis;
webexcc.queuename =actInfo.queuename;
webexcc.wrapuptime =actInfo.wrapuptime;
webexcc.callduration =actInfo.CallDurationInSeconds;
webexcc.ringingtime =actInfo.ringingtime;
webexcc.activitydate =actInfo.ActivityDate;
webexcc.callobject =actInfo.CallObject;
webexcc.calltype =actInfo.CallType;
webexcc.calldisposition=actInfo.CallDisposition;
// This line is Added - to capture it in the Activity Log
webexcc.u_customername=actInfo.CustomerName;
sys_id=webexcc.insert();
// Activities on Incident record;
var actInfoString =this.getParameter('actInfo');
var suser = new GlideRecordSecure("sys_user");
suser.addQuery("phone", this.getParameter('ani'));
suser.query();
if(suser.next()) {
var inc = new GlideRecordSecure('incident');
inc.addQuery('caller_id', suser.sys_id);
inc.orderByDesc('sys_created_on');
inc.query();
if (inc.next()) {
var jsonPretty = JSON.stringify(JSON.parse(acting string),null,2);
inc.comments =jsonPretty;
inc.update();
}
}
}
return sys_id;
},
type: 'propUtils2'
});
Upravte stránku uživatelského rozhraní novým názvem skriptu
Vytvoření proměnné CAD v návrháři toku
Přidání proměnné CAD do rozvržení plochy
Ukázkové snímky obrazovky
Zobrazte nově přidanou proměnnou CAD v tabulce Aktivita WebExCC.

Konektor CRM pracuje na základě verze widgetu zadané v rozvržení plochy JSON. Je nesmírně důležité zajistit, aby verze widgetu v rozvržení plochy byla aktualizována.
Očekává se, že správci zajistí, že všechna rozložení plochy pro tento konektor CRM používají tuto verzi widgetu. If the layout is not updated to use the latest version, functionality will no longer be supported and may cease to work correctly.
- Poslední aktualizace ServiceNow— ServiceNow_Desktop_0 .1.0_v5.0.3.json. Od března 2024 je verze balíčku 1.0.9
- Poslední aktualizace XML — WebExcc-ServiceNow-Update-SetV7-1-ActionsWidget.xml, červen 2024











































