Integrace Webex kontaktního centra se službou ServiceNow
Když integrujete Webex kontaktní centrum s konzolou CRM ServiceNow, můžete spustit plochu kontaktního centra Webex rámci ServiceNow.
Předpoklady
V současné době je tato funkce použitelná pouze pro agenty.
Před integrací Webex kontaktního centra s konzolou ServiceNow CRM se ujistěte, že máte následující:
-
Přístup do Webex kontaktního centra.
-
Přístup správce k řídicímu centru na adrese https://admin.webex.com a portálu pro správu kontaktního centra Webex. Adresy URL portálu pro správu jsou specifické pro vaši oblast.
-
Severní Amerika: https://portal.wxcc-us1.cisco.com
-
Velká Británie: https://portal.wxcc-eu1.cisco.com
-
Japonsko: https://portal-v2.wxcc-jp1.cisco.com
-
Singapur: https://portal-v2.wxcc-sg1.cisco.com
-
-
Agent s přístupem k ploše. Adresa URL plochy je specifická pro vaši oblast.
-
Severní Amerika: https://desktop.wxcc-us1.cisco.com
-
Velká Británie: https://desktop.wxcc-eu1.cisco.com
-
Japonsko: https://desktop.wxcc-jp1.cisco.com
-
Singapur: https://desktop.wxcc-sg1.cisco.com
-
-
Přístup agenta k následující doméně, která je přidána do seznamu Zásady zabezpečení obsahu:
-
*.service-now.com
Další informace o definování seznamu povolených naleznete v článku Nastavení zabezpečení pro Webex kontaktní centrum.
-
-
Účet portálu pro vývojáře ServiceNow. Chcete-li vytvořit účet, přejděte na portál pro vývojáře ServiceNow na adrese https://developer.servicenow.com/dev.do a klikněte na možnost Zaregistrovat se a začít sestavovat.
-
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)
-
ServiceNow Rozvržení plochy kontaktního centra (JSON)
-
- Edice ServiceNow, které Webex Contact Center podporuje, jsou Vancouver, Utah, Tokia, Washington a Xanadu. Další informace naleznete v tématu Webex Integrace kontaktního centra se službou ServiceNow.
Postupujte podle jedné ze dvou níže uvedených metod:
U instancí pro vývojáře doporučujeme postupovat podle kroků v průvodci instancí pro vývojáře.
Pokud vlastníte instanci s podnikovou licencí, postupujte podle pokynů pro instance s podnikovou licencí.
Nedoporučujeme kombinovat aplikaci s podnikovou licencí s sandboxovými instancemi pro vývojáře.
Následující části popisují postup instalace konektoru ServiceNow pro instance vývojářů.
1 |
Přihlaste se ke svému účtu portálu pro vývojáře ServiceNow a otevřete konzolu pro správu . |
2 |
V oblasti Moje instance v nabídce Účet klikněte na tlačítko Začít sestavovat. |
3 |
V instanci vývojáře přejděte z pole Navigátor filtru v levé horní části okna na Pluginy. |
4 |
Vyhledejte zásuvný modul Openframe, který má název Openframe. Možná budete muset procházet seznamem. |
5 |
Kliknutím na tlačítko Instalovat nainstalujte zásuvný modul Openframe. |
6 |
V dialogovém okně Aktivovat modul plug-in klikněte na tlačítko Aktivovat. |
7 |
Po dokončení aktivace pluginu klikněte na Zavřít a znovu načíst formulář v dialogovém okně Aktivace pluginu. |
8 |
Chcete-li ověřit aktivaci pluginu, v poli Navigátor filtru v levé horní části okna přejděte na OpenFrame. |
9 |
Klikněte na Konfigurace a ujistěte se, že se zásuvný modul OpenFrame zobrazí v seznamu Konfigurace OpenFrame. |
1 |
Stáhněte si nejnovější soubor sady aktualizací systému XML, který je k dispozici v úložišti GitHub v tomto umístění : https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. Název souboru: webexcc-servicenow-update-setV (X).xml |
2 |
V instanci ServiceNow v poli Navigátor filtru v levé horní části okna přejděte na Sady |
3 |
Klikněte na odkaz Importovat aktualizovanou sadu z XML . |
4 |
Klepněte na tlačítko Zvolit soubor, vyberte soubor sady aktualizací systému XML a potom klepněte na tlačítko Nahrát.
Aktualizační sada se zobrazí v seznamu Načtené sady aktualizací a je ve stavu Načteno .
|
5 |
V seznamu Načtené sady aktualizací klepnutím na odkaz Název souboru sady aktualizací (Update) otevřete aktualizační sadu. |
6 |
V pravém horním rohu okna klikněte na Náhled sady aktualizací a zkontrolujte, zda sada aktualizací neobsahuje problémy. |
7 |
Po dokončení náhledu klepněte na tlačítko Zavřít v dialogovém okně Náhled sady aktualizací. |
8 |
Klikněte na Potvrdit sadu aktualizací. |
9 |
Klepněte na tlačítko Zavřít v dialogovém okně Potvrzení sady aktualizací, jakmile je potvrzení sady aktualizací dokončeno. |
1 |
Do pole Navigátor filtru v levé horní části 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 Webex Kontaktního centra: |
3 |
Kliknutím na tlačítko agentdesktop_url otevřete stránku agentdesktop_url vlastností systému. |
4 |
Do pole Hodnota zadejte adresu URL plochy kontaktního centra Webex podle oblasti provozu.
|
5 |
Kliknutím na tlačítko Aktualizovat uložte změny. |
6 |
(Volitelné) Chcete-li změnit název tabulky aktivit, upravte vlastnosti webexccactivitytable podle potřeby. Na stránce Vlastnosti systému klikněte na webexccactivitytable. Podle potřeby změňte pole Hodnota . |
7 |
(Volitelné) Přidejte skupiny uživatelů následujícími způsoby:
|
1 |
V poli Navigátor filtrů přejděte na . |
2 |
Klikněte na možnost Nový. |
3 |
Zadejte následující vlastnosti adresy URL:
|
4 |
Napravo od pole adresy URL klikněte na tlačítko Uzamknout a jako adresu URL přidejte |
5 |
(Volitelné) Vyberte skupiny uživatelů / agentů a přiřaďte konfiguraci. |
6 |
Klikněte na příkaz Odeslat. Adresa URL se zobrazí jako odkaz. |
7 |
Než se pokusíte použít telefon OpenFrame, ujistěte se, že jste nahráli soubor JSON vlastního rozvržení plochy ServiceNow na portál pro správu Webex kontaktního centra. Další informace naleznete v tématu Nastavení rozvržení pracovní plochy ServiceNow v Webex kontaktním centru. |
1 |
Stáhněte si rozložení plochy pro ServiceNow z https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
V případě potřeby aktualizujte vlastnosti v souboru rozložení plochy. |
3 |
Přejděte na portál správy kontaktního centra Webex. |
4 |
Na navigačním panelu portálu pro správu zvolte plochy. |
5 |
Klikněte na Nové rozvržení a zadejte podrobnosti pro rozvržení plochy. |
6 |
Nahrajte soubor JSON ServiceNow Desktop Layout. |
7 |
Kliknutím na tlačítko Uložit uložte konfiguraci. Nyní můžete spustit plochu kontaktního centra Webex v konzole ServiceNow. |
8 |
V poli Navigátor filtru přejděte do Operace služby. |
Následující části popisují postup instalace konektoru ServiceNow pro licencované podnikové instance.
1 |
Přihlaste se ke svému účtu portálu pro vývojáře ServiceNow a otevřete konzolu pro správu . |
2 |
V oblasti Moje instance v nabídce Účet klikněte na tlačítko Začít sestavovat. |
3 |
V instanci vývojáře přejděte z pole Navigátor filtru v levé horní části okna na Pluginy. |
4 |
Vyhledejte zásuvný modul Openframe, který má název Openframe. Možná budete muset procházet seznamem. |
5 |
Kliknutím na tlačítko Instalovat nainstalujte zásuvný modul Openframe. |
6 |
V dialogovém okně Aktivovat modul plug-in klikněte na tlačítko Aktivovat. |
7 |
Po dokončení aktivace pluginu klikněte na Zavřít a znovu načíst formulář v dialogovém okně Aktivace pluginu. |
8 |
Chcete-li ověřit aktivaci pluginu, v poli Navigátor filtru v levé horní části okna přejděte na OpenFrame. |
9 |
Klikněte na Konfigurace a ujistěte se, že se zásuvný modul OpenFrame zobrazí v seznamu Konfigurace OpenFrame. |
Instance, které mají podnikové licence, mohou nainstalovat aplikaci Webex Contact Center přímo z obchodu ServiceNow.
Stáhněte a nainstalujte balíček Webex Contact Center z úložiště ServiceNow: https://store.servicenow.com/sn_appstore_store.do#!/store/application/6c8e2a4edbc73410e1c75e25ca961947. |
1 |
Do pole Navigátor filtru v levé horní části 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 Webex Kontaktního centra: |
3 |
Kliknutím na tlačítko agentdesktop_url otevřete stránku agentdesktop_url vlastností systému. |
4 |
Do pole Hodnota zadejte adresu URL plochy kontaktního centra Webex podle oblasti provozu.
|
5 |
Kliknutím na tlačítko Aktualizovat uložte změny. |
6 |
(Volitelné) Chcete-li změnit název tabulky aktivit, upravte vlastnosti x_caci_webexcc.webexccactivitytable podle potřeby.
|
7 |
(Volitelné) Přidejte skupiny uživatelů následujícími způsoby:
|
1 |
V poli Navigátor filtrů přejděte na . |
2 |
Klikněte na možnost Nový. |
3 |
Zadejte následující vlastnosti adresy URL:
|
4 |
Napravo od pole adresy URL klikněte na tlačítko Uzamknout a jako adresu URL přidejte |
5 |
(Volitelné) Vyberte skupiny uživatelů / agentů a přiřaďte konfiguraci. |
6 |
Klikněte na příkaz Odeslat. Adresa URL se zobrazí jako odkaz. |
7 |
V poli Navigátor filtru přejděte do Operace služby. |
8 |
(Volitelné) V seznamu Skupina uživatelů přesuňte skupiny uživatelů, které mají přístup k ploše Webex kontaktního centra, ze seznamu Dostupné na Vybrané. |
9 |
Než se pokusíte použít telefon OpenFrame, ujistěte se, že jste nahráli soubor JSON vlastního rozvržení plochy ServiceNow na portál pro správu Webex kontaktního centra. Další informace naleznete v tématu Nastavení rozvržení pracovní plochy ServiceNow v Webex kontaktním centru. |
1 |
Stáhněte si rozložení plochy pro ServiceNow z https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. |
2 |
V případě potřeby aktualizujte vlastnosti v souboru rozložení plochy. |
3 |
Přejděte na portál správy kontaktního centra Webex. |
4 |
Na navigačním panelu portálu pro správu zvolte plochy. |
5 |
Klikněte na Nové rozvržení a zadejte podrobnosti pro rozvržení plochy. |
6 |
Nahrajte soubor JSON ServiceNow Desktop Layout. |
7 |
Kliknutím na tlačítko Uložit uložte konfiguraci. Nyní můžete spustit plochu kontaktního centra Webex v konzole ServiceNow. |
8 |
V poli Navigátor filtru přejděte do Operace služby. |
1 |
V poli Navigátor filtru přejděte na Incidenty> Otevřít incident. |
2 |
Klikněte pravým tlačítkem na pole volajícího a klikněte na Konfigurovat slovník. |
3 |
Přidejte čárkami oddělené atributy Nyní můžete začít používat plochu kontaktního centra Webex v konzole ServiceNow. |
4 |
V poli Navigátor filtru přejděte do . |
Agent Desktop v konzole ServiceNow
Než uskutečníte odchozí hovory, ujistěte se, že jste provedli následující kroky:
-
Vytvořte vstupní bod odchozího volání a nastavte strategii vstupního bodu odchozího volání.
-
Povolte ANI pro odchozí volání pro profil agenta.
-
Nastavte ANI pro odchozí volání na mapování vytáčecího čísla k vstupnímu bodu.
Další informace naleznete v kapitole Provisioning (Zřizování) v příručce Cisco Webex Contact Center Setup and Administration Guide .
V poli Navigátor filtru přejděte do Operace služby.
Informace o používání aplikace Desktop naleznete na kartě Agent v nápovědě Webex kontaktního centra.
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í na ServiceNow spravovat sám. Konfigurace je specifická pro ServiceNow a není Webex software kontaktního centra nebo odborné znalosti.
Jedná se o referenční dokumentaci, která má pomoci při úpravě obchodních pravidel. Vývojáři ServiceNow budou vytvářet a spravovat obchodní pravidla a poskytovat podporu.
Společnost Cisco poskytuje pouze vzorovou dokumentaci.
Následující části obsahují podrobnosti o nastavení, povolení a správě widgetu Akce pro instance vývojářů a organizace.
Potvrzení sady aktualizací pro widget akcí
U licencovaných podnikových instancí nainstalujte nejnovější aplikaci Webex kontaktního centra z obchodu ServiceNow.
Pokud chcete nastavit widget Akce pro instance vývojářů, stáhněte si nejnovější soubor sady aktualizací systému XML dostupný v úložišti GitHub v 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í pro widget Akce, postupujte podle kroků 2 až 9 v části Potvrzení sady aktualizací.
Widget Povolit akce
Pomocí vlastnosti isWidgetDisplayEnabled povolte widget Akce. Hodnotu této vlastnosti nesmíte měnit v úvodní části vlastního rozložení plochy. Vlastnost je vždy nastavena na hodnotu false v obslužné části vlastního rozložení plochy. Hodnotu vlastnosti byste měli aktualizovat pouze v části panelu vlastního rozvržení plochy.
Jakmile povolíte widget Akce ve vlastním rozvržení plochy, můžete provádět následující akce:
- Správa záznamů aktivit – Kliknutím na možnost Zobrazit/upravit záznam aktivity zobrazíte seznam záznamů aktivit přidružených k volajícímu.
- Přidružit objekty aplikace CRM – Kliknutím na možnost Přidružit k záznamům aktivit můžete do záznamu aktivity přidat objekty aplikace CRM, například 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ředem vyplněnými údaji o volajícím. 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. Pří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í poznámek k živému hovoru – V textové oblasti můžete zaznamenat další informace o hovoru a hovor ukončit. Tyto poznámky můžete vidět přidané jako poznámky k volání v záznamu aktivity.
Změna kódu na ServiceNow
Skript obsahuje změny-
Přejděte na navigátor filtrů a vyhledejte
Skript obsahuje
.Vyberte Zahrnutý skript v části Uživatelské rozhraní systému.
-
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= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },
Nový ukázkový kód pro incident:
UserGetSysId: function () { var opened_for; //Změny související s incidenty 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='Hovor přijat od '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); 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); },
-
Přejděte na navigátor filtrů a vyhledejte
stránku
uživatelského rozhraní.V části Uživatelské rozhraní systému vyberte stránky uživatelského rozhraní.
-
Filtrujte Název a vyhledejte
AgentDesktop
. -
Změňte nastavení
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 v aplikaci CRM existují a s tímto kontaktem je již otevřen nový incident, aplikace otevře probíhající incident
Pokud informace o volajícím v aplikaci CRM neexistují, aplikace otevře nový incident
Pokud informace o volajícím existují v aplikaci CRM, aplikace otevře nový incident s předvyplně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 konektoru Webex CC pro ServiceNow CRM.
Ve výchozím nastavení obsahuje tabulka určitá předem připravená systémová pole a hodnoty.
V návrháři 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 provést pro ukázkovou proměnnou CAD nazvanou Název zákazníka, která ukládá jméno zákazníka do IVR a odesílá jej do ServiceNow.
Očekává se, že vývojáři partner+zákazník ServiceNow budou tuto konfiguraci konfigurovat a spravovat, protože se jedná o přizpůsobení stávajícího konektoru.
Společnost Cisco poskytuje pouze techniky, jak přizpůsobit a rozšířit konektor.
Od tohoto článku tým Cisco ověřil podporu pro přidání proměnné CAD do protokolu aktivit a tabulky aktivit pomocí níže popsaného postupu:
Přidat sloupec k aktivitě WebexCC IMP
-
Upravte tabulku ve vývojářské verzi ServiceNow.
-
Přejděte do navigátoru filtrů a vyhledejte studio.
Vybrat
Webex Contact Center
nebo
-
Vyberte ikonu
Aktivita WebexCC IMP
stůl -
Přidejte nový sloupec, například
Jméno zákazníka
Přidat sloupec do protokolu telefonu
-
Upravte tabulku protokolu telefonu.
-
Přidejte nový sloupec, například
Jméno zákazníka
.
Mapa transformace aktivit WebexCC
Přidejte nový sloupec, například Jméno zákazníka
Mapování polí.
Přizpůsobení sloupců seznamu
Jak nyní služba doporučuje, změňte akci Volba z vytvořit na ignorovat.
Konfigurace seznamu telefonních protokolů
Přejít na Zahrnout skript
Přidání pouze jednoho řádku webexcc.u_customername=actInfo.CustomerName
Na propUtils.
Ukázkový skript
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 = 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); vrátit 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; Tento řádek je přidán – pro jeho zachycení v protokolu aktivit webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Činnosti týkající se záznamu incidentu; 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(); } } } návrat sys_id; }, typ: '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 je CustomerName SnowField1 se také používá jako CustomerName, který je součástí ukázkového scirpt uvedeného výše "actInfo.CustomerName".
Ukázkové screenshoty
Prohlédněte si nově přidanou proměnnou CAD v tabulce aktivit WebexCC.
Vytvoření proměnné CAD pro Flow Designer
Naléhavost incidentuDopad incidentu
Aktualizace skriptu služby Service Now
Aktualizace skriptu zahrnují
-
Přejděte do navigátoru filtrů a vyhledejte
skript obsahuje
Vyberte možnost Skript obsahuje v části Uživatelské rozhraní systému.
-
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= 'telefon'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; },
Nový ukázkový kód pro incident:
UserGetSysId: function () { var opened_for; var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', opened_for); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='telefon'; inc.urgency=this.getParameter('IncUrgency'); inc.impact=this.getParameter('Impact'); inc.short_description='Hovor přijat od '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); 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; },
-
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 Uživatelské rozhraní systému.
-
Vyfiltrujte stránky uživatelského rozhraní pomocí názvu a vyhledejte
agentdesktop
. -
Změňte nastavení
Screenpop
V poli Skript.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('pole', 'telefon'); gaout.addParam('hodnota', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam('Dopad', Dopad); 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 aplikaci CRM a nedojde k žádnému novému nebo probíhajícímu incidentu, aplikace otevře nový incident
Změna kódu na ServiceNow
Přidejte nové sloupce do Aktivita WebexCC IMP
stůl
Otevřete ikonu Aktivita WebexCC IMPstůl Přidání nového sloupce – InteractionsNumber Přidání nového sloupce – Číslo incidentu
Klikněte na Aktualizovat .
Přidejte nové sloupce do Telefonní deník
stůl
Otevřete ikonu Telefonní deník
stůl
Mapa transformace aktivit WebexCC
Otevřené Mapa transformace
Z navigátoru filtrů
Klikněte na WebexCC aktivita TransformMap
Klikněte na tlačítko Aktualizovat.
Změny skriptu zahrnují
-
Přejděte do navigátoru filtrů a vyhledejte "skript obsahuje".
Vyberte Zahrnutý skript v části Uživatelské rozhraní systému.
-
Filtrovat název pomocí
propUtils
. -
Změňte metodu
setWebexcctable
.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']; smazat 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(); } návrat sys_id; },
Změny metod na stránkách uživatelského rozhraní
-
Přejděte na navigátor filtrů a vyhledejte
Stránky uživatelského rozhraní
Vyberte možnost Stránky uživatelského rozhraní v části Uživatelské rozhraní systému.
-
Vyfiltrujte stránky uživatelského rozhraní pomocí názvu a vyhledejte agentdesktop
.
-
Změňte nastavení
nowAktivity 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 platí pro verze 1.0.5 a nižší. Chcete-li provést vlastní nastavení pro novější verze 1.0.7 a vyšší, postupujte podle výše uvedených kroků.
Přizpůsobení # 1 - Přidání vlastních obchodních pravidel pro případy použití toku hovorů
Vytvoření nového záznamu incidentu pro každý hovorPro každé nové volání do konektoru WebexCC CRM v ServiceNow vytvořte nový záznam incidentu.
Hledání obchodních pravidel v navigátoru filtrů
Klikněte na možnost 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", jméno); } 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; adresa URL pro návrat; } 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 volání klienta
Zpracování incidentu CTI (Computer Telephony Integration) je označeno jako True.
Aktualizujte adresu URL screenpop pomocí pravidla vlastního CTI"cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="
sysparm_cti_rule =název , kde 'name' je název funkce , má být vyvolán pro CTI Zpracování spíše než použití výchozího skriptu.
Definujte funkci v sys_script položce označené jako volatelná klientem.
Pokud musíte vložit, aktualizovat nebo odstranit libovolné GlideRecords ve funkci, zavolejte samostatnou neklientskou volatelnou funkci k provedení aktualizací.
Chcete-li, aby byl skript volatelný klientem, je nutné zaškrtnout políčko klient-callable ve formuláři, který se zobrazí při zobrazení položky sys_script.
Zaškrtávací políčko volat klienta se ve výchozím nastavení nezobrazí. Chcete-li zobrazit, musíte upravit pole, která se zobrazují ve formuláři, pomocí ikony ozubeného kola a mechanismu rozbředlého lopaty.
Přizpůsobení # 2 - Přidání proměnné CAD do tabulky aktivit kontaktního centra Webex
PřehledTento článek podrobně popisuje proces přidání dalšího sloupce do tabulky ServiceNow - webexcc_activity který je vytvořen při instalaci Webex CC pro ServiceNow CRM Connector.
Ve výchozím nastavení obsahuje tabulka předdefinovaná 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 (proměnné CAD) a přidat tyto proměnné CAD do protokolu aktivit po volání ServiceNowa zachovat je v datech tabulky aktivit po volání.
-
Toto je pouze referenční dokumentace – a ukazuje, jak to provést pro ukázkovou proměnnou CAD nazvanou Název zákazníka, která ukládá jméno zákazníka do IVR a odesílá jej do ServiceNow.
-
Vývojáři partner+zákazník ServiceNow budou tuto konfiguraci konfigurovat a spravovat, protože se jedná o přizpůsobení existujícího konektoru.
-
Cisco poskytne pouze techniky, jak přizpůsobit a rozšířit konektor.
-
Od tohoto článku tým Cisco ověřil podporu pro přidání proměnné CAD do protokolu aktivit a tabulky aktivit pomocí níže popsaného postupu.
Upravte tabulku ve vývojářské verzi ServiceNow.
Přejděte do Kontaktního
Webex.Vyberte tabulku aktivit WebexCC.
Například CustomerName.
Vyberte Rozvržení seznamu pro aktivitu WebexCC.
Tento krok není nutný, pokud používáte aktualizační sadu XML – do propUtils je nutné přidat pouze jeden řádek "webexcc.u_customername=actInfo.CustomerName".
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; // Tento řádek je přidán - pro jeho zachycení v protokolu aktivit webexcc. u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Činnosti týkající se záznamu incidentu; 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(); } } } návrat sys_id; }, typ: 'propUtils2' });
Úprava stránky uživatelského rozhraní pomocí nového názvu skriptuVytvoření proměnné CAD v návrháři toku
Přidání proměnné CAD do rozvržení plochy
Ukázkové screenshoty
Prohlédněte si nově přidanou proměnnou CAD v tabulce aktivit WebexCC.