Integrace Webex Contact Center se službou ServiceNow (verze 1 – starší verze)
Předpoklady
V současné době je tato funkce použitelná pouze pro agenty.
Před integrací Webex Contact Center s konzolou ServiceNow CRM se ujistěte, že máte následující:
-
Přístup k Webex Contact Center.
-
Přístup správce k Centru řízení na adrese https://admin.webex.com a portálu pro správu Webex Contact Center. Adresy URL portálu pro správu 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 Zásady zabezpečení obsahu:
-
*.service-now.com
Další informace o definování seznamu povolených položek naleznete v článku Nastavení zabezpečení pro Webex Contact Center.
-
-
Úč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 https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
ServiceNow Update Set (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 Contact Center Integrace 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 XML sady aktualizací systému, 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 XML sady aktualizací systému 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í Webex Contact Center vlastnosti: |
3 |
Kliknutím na tlačítko agentdesktop_url otevřete stránku agentdesktop_url vlastností systému. |
4 |
Do pole Hodnota zadejte adresu URL Webex Contact Center Desktop podle oblasti operace.
|
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, nezapomeňte nahrát soubor JSON vlastního rozvržení plochy ServiceNow na portál pro správu Webex Contact Center. Další informace naleznete v tématu Nastavení rozvržení plochy ServiceNow na Webex Contact Center. |
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 pro správu Webex Contact Center. |
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 Webex Contact Center Desktop 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 úložiště 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 Contact Center: |
3 |
Kliknutím na tlačítko agentdesktop_url otevřete stránku agentdesktop_url vlastností systému. |
4 |
Do pole Hodnota zadejte adresu URL Webex Contact Center Desktop podle oblasti operace.
|
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 Contact Center, ze seznamu Dostupné na Vybrané. |
9 |
Než se pokusíte použít telefon OpenFrame, nezapomeňte nahrát soubor JSON vlastního rozvržení plochy ServiceNow na portál pro správu Webex Contact Center. Další informace naleznete v tématu Nastavení rozvržení plochy ServiceNow na Webex Contact Center. |
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 pro správu Webex Contact Center. |
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 Webex Contact Center Desktop 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 Webex Contact Center Desktop v konzole ServiceNow. |
4 |
V poli Navigátor filtru přejděte do Operace služby. |
Podporujeme přihlášení do Agent Desktop pomocí WebRTC pouze pro konektory Salesforce (SFDC) a Microsoft Dynamics (MS Dynamics).
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 najdete 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 tom, jak používat Desktop, najdete v Agent Tab 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í na ServiceNow spravovat sám. Konfigurace je specifická pro ServiceNow a ne Webex Contact Center software 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.
Cisco poskytuje pouze ukázkovou 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í
Pro licencované podnikové instance nainstalujte nejnovější aplikaci Webex Contact Center z obchodu ServiceNow.
Pokud chcete nastavit widget akce pro instance vývojáře, 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 Webex CC pro ServiceNow CRM Connector.
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 volání ServiceNow POST a také je zachovat v datech tabulky aktivit volání POST.
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 uvnitř 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.
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é techniky:
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.
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 CRM a neexistuje žádný nový nebo probíhající incident, aplikace otevře nový incident.
Změňte kód na ServiceNow
Přidat nové sloupce do Aktivita IMP WebexCC
tabulka
Otevřete Aktivita IMP WebexCCtabulka
Klikněte na tlačítko Aktualizovat .
Přidat nové sloupce do Záznam telefonního hovoru
tabulka
Otevřete Záznam telefonních hovorů
tabulka
Mapa transformace aktivit WebexCC
Otevřené Transformační mapu
Z navigátoru filtrů
Klikněte na TransformMap aktivit WebexCC
Klikněte na tlačítko Aktualizovat.
Změny skriptu zahrnují
-
Přejděte do navigátoru filtrů a vyhledejte „skript obsahuje“.
V části Systémové uživatelské rozhraní>vyberte Skript obsahuje .
-
Filtrovat Název pomocí
propUtils
. -
Změňte metodu
setWebexcctable
.Nový vzorový 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()) { //Aktivity v záznamu incidentu; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsys=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','Uzavřeno Dokončeno'); inte.work_notes='Aktualizovat stav na uzavřeno.'; 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("telefon", 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(); } vrátit systémové_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 Stránky uživatelského rozhraní možnost v části Systémové uživatelské rozhraní.
-
Filtrovat stránky uživatelského rozhraní pomocí Jméno a hledat
agentdesktop
. -
Změňte
nowAktivity a screenpop
Funkce ve skriptu.Aktuální funkce:
funkce 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 pro incident:
funkce 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()); Pokud (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žší. Pro úpravy 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řit 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.
Vyhledat obchodní pravidla v navigátoru filtrů
Klikněte na možnost Nový.
Ukázkový kód pro referenci:
funkce 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("číslo_zaměstnance",eid); } if (userID == null && jméno != null && jméno != '') { userID = UserGetSysId("jméno", jméno); } pokud (userID == null && telefon != null && telefon != '') { userID = UserGetSysId("telefon", telefon); } pokud (userID != null) { pokud (fQuery.length > 0) fQuery += "^"; fQuery += "caller_id=" + userID; } pokud (url == null) { url = "incident.do?sys_id=-1"; pokud (fQuery != null) url += "&sysparm_query=" + fQuery; } odpověď = url; vrátit url; } funkce UserGetSysId(pole, hodnota) { var user = new GlideRecord("sys_user"); user.addQuery(pole, hodnota); user.query(); pokud (user.next()) vrátí user.sys_id; else vrátí null; }
Ukázková konfigurace obchodního pravidla
Povolit volání klienta
Zpracování incidentu integrace počítačové telefonie (CTI) je označeno jako True .
Aktualizujte adresu URL vyskakovacího okna pomocí vlastního pravidla CTI „ cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone=“
Parametr *sysparm_cti_rule=name*, kde ' name*, je název funkce, která má být vyvolána pro zpracování CTI, nikoli pro použití výchozího skriptu.
Definujte funkci v položce sys_script označené jako volatelné klientem.
Pokud musíte Insert aktualizovat nebo odstranit jakékoli záznamy GlideRecords ve funkci, zavolejte samostatnou funkci, která není volatelná klientem, aby provedla aktualizace.
Chcete-li, aby byl skript volatelný z klienta, musíte zaškrtnout políčko „volatelné z klienta“ ve formuláři, který se zobrazí při zobrazení položky sys_script.
Zaškrtávací políčko volatelné klientem se ve výchozím nastavení nezobrazuje. Pro zobrazení je nutné upravit pole, která se zobrazují ve formuláři, pomocí ikony ozubeného kola a mechanismu rozbředlého koše.
Úpravy č. 2 – Přidání proměnné CAD do tabulky aktivit Webex Contact Center
PřehledTento článek podrobně popisuje proces přidání dalšího sloupce do tabulky ServiceNow – webexcc_activity, který se vytvoří při instalaci Webex CC pro ServiceNow CRM Connector.
Ve výchozím nastavení tabulka obsahuje předpřipravená systémová pole a hodnoty.
V návrháři WebexCC Flow můžete potenciálně vytvořit další proměnné specifické pro danou firmu (proměnné CAD) a přidat tyto proměnné CAD do protokolu aktivit volání ServiceNow POST a uložit je do dat tabulky aktivit volání POST .
-
Toto je pouze referenční dokumentace – a ukazuje, jak to provést pro vzorovou CAD proměnnou s názvem Jméno zákazníka, která ukládá jméno zákazníka do IVR a odesílá jej do ServiceNow.
-
Vývojáři ServiceNow pro partnery a zákazníky budou tuto konfiguraci konfigurovat a spravovat, protože se jedná o přizpůsobení stávajícího konektoru.
-
Cisco poskytne pouze techniky, jak konektor přizpůsobit a rozšířit.
-
V době vydání 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é techniky.
Upravte tabulku ve vývojářské verzi ServiceNow.
Přejděte do sekce **Studio** Webex Contact Center.
Vyberte tabulku Aktivita WebexCC .
Například JménoZákazníka.
Vyberte Rozvržení seznamu pro Aktivitu WebexCC.
Tento krok není vyžadován, pokud používáte aktualizační sadu XML – do souboru propUtils stačí přidat pouze jeden řádek „webexcc.u_customername=actInfo.CustomerName“.

Ukázkový skript
Viz řádek s textem: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 zachycení v protokolu aktivit webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.Insert(); // Aktivity v záznamu incidentu; 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('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í s novým názvem skriptu
Vytvoření CAD proměnné v nástroji Flow Designer
Přidání proměnné CAD do rozvržení plochy
Snímky obrazovky z dema
Zobrazte nově přidanou proměnnou CAD v tabulce aktivit WebexCC.
