Integrujte Webex Contact Center se službou ServiceNow (verze 1 – starší verze)
Předpoklady
Konektor CRM funguje na základě verze widgetu zadané ve formátu JSON rozložení plochy. Je nesmírně důležité zajistit, aby verze widgetu v rozvržení plochy byla aktualizována. Od listopadu 2025 je nejnovější verze widgetu 5.0.0 (V5).
Očekává se, že správci zajistí, aby všechna rozložení plochy pro tento konektor CRM používala tuto verzi widgetu. Pokud rozložení není aktualizováno tak, aby používalo nejnovější verzi, funkce již nebudou podporovány a mohou přestat fungovat správně.
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 řídicímu centru 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 s 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 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 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 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).
- V současné době je tato funkce použitelná pouze pro agenty.
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 tom, jak používat Desktop, najdete v Agent Tab v Webex Contact Center nápovědě.
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ářů, 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ánkuuž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 = Třída.create(); propUtils.prototype = Object.extendsObject(globální. 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 = nový 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(); Aktivity v 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(); } } } vrátit sys_id; }, typ: 'propUtils' });
Vytvoření proměnné CAD v nástroji Flow designer

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 showen výše "actInfo.CustomerName".

Ukázkové screenshoty
Prohlédněte si nově přidanou proměnnou CAD v tabulce Aktivita WebexCC.



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

Aktualizace skriptu Service Now
Aktualizace skriptu zahrnují
-
Přejděte do navigátoru filtru a vyhledejte
skript obsahujeVyberte možnost Skript obsahuje v části Uživatelské rozhraní systému.

-
Vyfiltrujte název pomocí
propUtils.
-
Změna metody
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 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='phone'; 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ánkyuž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 skriptu.
Současná 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('hodnota', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid }); }Ukázkový kód pro incident:
funkce screen pop 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', dotaz: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', dotaz: '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





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 programem Computer Telephony Integration (CTI) je označeno jako pravdivé.

Aktualizujte adresu URL obrazovky pomocí vlastního pravidla CTI"cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="

sysparm_cti_rule = name, kde 'name' je název funkce , má být vyvolán pro CTI Processing , nikoli pomocí výchozího skriptu.
Definujte funkci v sys_script položce označené jako volatelná klientem.
Pokud musíte Insert, 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 Webex Contact Center
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 volání ServiceNowPOST a zachovat je 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.
-
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é techniky.
Upravte tabulku ve vývojářské verzi ServiceNow.

Přejděte do Studia .



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 skriptu
Vytvoř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.












































