Conditions préalablement requises

Actuellement, cette fonction est applicable uniquement aux agents.

Avant d'intégrer Webex Contact Center à la console ServiceNow CRM, assurez-vous de disposer des éléments suivants :

Suivez l'une des deux méthodes ci-dessous :

Pour les instances de développeur, nous vous recommandons de suivre les étapes du guide des instances du développeur.

Si vous possédez une instance sous licence d'entreprise, suivez les instructions relatives aux instances sous licence d'entreprise.

Nous vous déconseillons de mélanger l'application sous licence d'entreprise avec des instances sandbox de développeur.

Les sections suivantes décrivent les étapes d'installation du connecteur ServiceNow pour les instances de développeur.

1

connectez-vous à votre compte portail développeur ServiceNow et ouvrez la console Administration .

2

Dans la zone Mon instance du menu Compte , cliquez sur Démarrer la création.

Capture d'écran du portail des développeurs ServiceNow avec le bouton "Démarrer la construction" mis en surbrillance.

3

Sur votre instance de développeur, dans le champ Filter navigator en haut à gauche de la fenêtre, accédez à Plugins.

Instance de développeur ServiceNow affichant une recherche pour le navigateur de filtre 'plugins'.

4

Recherchez le plug-in Openframe qui a le titre Openframe. Vous devrez peut-être faire défiler la liste.

Instance de développeur ServiceNow sur l'écran Applications, affichant la recherche et les résultats pour "OpenFrame".

5

Cliquez sur Installer pour installer le plug-in Openframe.

6

Dans la boîte de dialogue Activer le plug-in, cliquez sur Activer.

Instance de développeur ServiceNow montrant le plugin OpenFrame contextuel avec le bouton 'Activer' en surbrillance.

7

Une fois l'activation du plugin terminée, cliquez sur Fermer et recharger le formulaire dans la boîte de dialogue Activation du plug-in.

Instance de développeur ServiceNow montrant le chargement de l'activation du plug-in OpenFrame.

Instance de développeur ServiceNow montrant la fenêtre de réussite de l'activation du plug-in OpenFrame avec le bouton "Fermer et recharger le formulaire" en surbrillance.

8

Pour vérifier l'activation du plug-in, dans le champ Navigateur de filtre en haut à gauche de la fenêtre, accédez à OpenFrame.

9

Cliquez sur Configurations et assurez-vous que le plug-in OpenFrame apparaît dans la liste Configurations OpenFrame .

Instance de développeur ServiceNow affichant les configurations OpenFrame dans la recherche du navigateur de filtre.

1

Téléchargez le dernier fichier System Update Set XML disponible sur le dépôt github à cet emplacement : https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Nom de fichier : webexcc-servicenow-update-setV(X).xml

Capture d'écran du dépôt Github pour Webex intégrations CRM Contact Center - ServiceNow.

2

Sur votre instance ServiceNow, dans le champ Filter navigator (Navigateur de filtres) en haut à gauche de la fenêtre, accédez à System Update Sets > Update Sets to Commit (Jeux de mises à jour du système) à valider.

Instance de développeur ServiceNow affichant une recherche dans le navigateur de filtre sur l'onglet "Tous" pour "Jeu de mises à jour" et l'option "Mettre à jour les ensembles à valider" mise en surbrillance.

3

Cliquez sur Importer le jeu de mises à jour à partir de XML lien.

Instance du développeur ServiceNow sur la page de résultats des jeux de mises à jour avec "Liens associés : Importer le jeu de mises à jour à partir de XML" mise en surbrillance.

4

Cliquez sur Choisir un fichier, sélectionnez le fichier XML jeu de mises à jour système, puis cliquez sur Télécharger.

Écran d'importation de XML d'instance de développeur ServiceNow.

Le portail des développeurs ServiceNow a récupéré la liste des jeux de mises à jour.

Le jeu de mises à jour apparaît dans la liste des jeux de mise à jour récupérés et est à l'état Chargé .
5

Dans la liste Jeux de mises à jour récupérés , cliquez sur le nom de fichier du jeu de mises à jour (lien) pour ouvrir le jeu de mises à jour.

Le portail des développeurs ServiceNow a récupéré la liste des jeux de mises à jour pour un fichier mis à jour.

6

Dans le coin supérieur droit de la fenêtre, cliquez sur Aperçu du jeu de mises à jour pour rechercher des problèmes dans le jeu de mises à jour.

Le portail des développeurs ServiceNow a récupéré la liste des jeux de mise à jour pour un fichier mis à jour avec le bouton "Aperçu du jeu de mise à jour" mis en surbrillance.

7

Cliquez sur Fermer dans la boîte de dialogue Aperçu du jeu de mise à jour une fois l'aperçu terminé.

Portail des développeurs ServiceNow avec la notification de réussite de l'aperçu des mises à jour.

8

Cliquez sur Valider le jeu de mises à jour.

Le portail des développeurs ServiceNow a récupéré la liste des jeux de mises à jour pour un fichier mis à jour avec le bouton "Valider le jeu de mise à jour" en surbrillance.

9

Cliquez sur Fermer dans la boîte de dialogue Mettre à jour l'ensemble de valid. une fois la validation du jeu de mises à jour terminée.

Portail des développeurs ServiceNow avec la notification de réussite des jeux de mises à jour.

1

Dans le champ Navigateur de filtre en haut à gauche de la fenêtre, tapez sys_properties.list et appuyez sur Entrée.

Instance de développeur ServiceNow affichant une recherche dans le navigateur de filtre dans l'onglet 'Tous' pour 'sys_properties.list'

2

Dans la page Propriétés système, triez les propriétés par date de mise à jour. Vérifiez que vous pouvez voir les propriétés suivantes de Webex Contact Center :

Page des propriétés système de l'instance de développeur ServiceNow.

3

Cliquez sur agentdesktop_url pour ouvrir la page agentdesktop_url des propriétés système.

4

Dans le champ Valeur , saisissez l'URL du centre de contacts Webex Desktop en fonction de la région d'opérations.

Informations sur les propriétés système de l'instance de développeur ServiceNow pour agentdesktop_url.

5

Cliquez sur Mettre à jour pour enregistrer les modifications.

6

(Facultatif) Pour modifier le nom de la table Activity, modifiez les propriétés de webexccactivitytable selon vos besoins.

Dans la page Propriétés système, cliquez sur webexccactivitytable.

Modifiez le champ Valeur selon vos besoins.

Détails des propriétés système de l'instance de développeur ServiceNow pour webexactivitytable.

7

(Facultatif) Ajoutez des groupes d'utilisateurs des manières suivantes :

  1. Dans le champ Navigateur de filtre en haut à gauche de la fenêtre, accédez à Groupes sous Sécurité du système.

    ServiceNow developer instance filter navigator search for ‘Groups’ under ‘System Security’
  2. Créez un nouveau groupe d'utilisateurs ou utilisez un groupe existant.

    Page du groupe d'instances de développeurs ServiceNow pour WebexccAgentsGroup.

  3. Cliquez sur Modifier.

  4. Recherchez sn_openframe_user sous Collection et déplacez-le vers votre groupe d'utilisateurs.

    La page des membres du groupe d'instances de développeurs ServiceNow affiche une recherche pour une collection.

    Page Modifier les membres du groupe d'instances de développeurs ServiceNow affichant une collection déplacée dans la liste des rôles.

  5. Cliquez sur Enregistrer.

  6. Ajoutez l'utilisateur en tant que membre du groupe.

    Page de groupe d'instances de développeur ServiceNow avec rôles d'utilisateur attribués.

1

Dans le champ Filter navigator , accédez à OpenFrame > Configurations.

ServiceNow developer instance filtre le navigateur avec 'openframe' dans le champ de recherche et 'Configurations' sous 'OpenFrame' mis en surbrillance dans les résultats.

2

Cliquez sur Nouveau.

Page Configurations OpenFrame de l'instance de développeur ServiceNow avec "Nouveau" en surbrillance.

3

Entrez les propriétés suivantes pour l'URL :

  • Nom : Webex Contact Center Desktop

  • Titre : Centre de contact Webex

  • Largeur : 550 (recommandé)

  • Hauteur : 600 (recommandé)

4

À droite du champ URL , cliquez sur le bouton Verrouiller et ajoutez agentdesktop.do comme URL. (Effectuez cette étape pour pointer la configuration vers la page de l'interface utilisateur)

Instance de développeur ServiceNow OpenFrame Configurations – Page Nouvel enregistrement avec l'icône de verrou en surbrillance.

5

(Facultatif) Sélectionnez les groupes d'utilisateurs/agents à attribuer à la configuration.

Configurations OpenFrame de l'instance de développeur ServiceNow – Sélection du groupe d'utilisateurs New Record.

6

Cliquez sur Soumettre. L'URL apparaît sous forme de lien.

Instance de développeur ServiceNow Configurations OpenFrame – Page Nouvel enregistrement affichant le lien URL qui apparaît après la soumission des sélections de groupe d'utilisateurs.

7

Avant d'essayer d'utiliser le téléphone OpenFrame, assurez-vous de télécharger le fichier JSON d'aménagement du bureau personnalisé ServiceNow sur le portail Webex Contact Center Management. Pour plus d'informations, consultez Configuration de la disposition du bureau ServiceNow sur Webex Contact Center.

1

Téléchargez la présentation du bureau pour ServiceNow à partir de https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Écran Github pour Webex Intégrations CRM Contact Center - Configurations de bureau - ServiceNow.

2

Mettez à jour les propriétés dans le fichier d'aménagement du bureau, si nécessaire.

3

Accédez au portail de gestion de Webex Contact Center.

4

Dans la barre de navigation Management Portal, choisissez Mise à disposition > Présentation du bureau.

Webex page Mise à disposition de Contact Center Management Portal avec l'affichage du poste de travail en surbrillance dans le volet de navigation de gauche.

5

Cliquez sur Nouvelle disposition et entrez les détails de la disposition du bureau.

6

Téléchargez le fichier JSON ServiceNow Desktop Layout.

7

Cliquez sur Enregistrer pour enregistrer la configuration.

Vous pouvez désormais démarrer Webex Contact Center Desktop dans la console ServiceNow.

8

Dans le champ Navigateur de filtre, accédez à Espace de travail des opérations de service.

La page d'accueil ServiceNow avec Webex Contact Center Agent Desktop intégrée à ServiceNow.

Les sections suivantes décrivent les étapes d'installation du connecteur ServiceNow pour les instances d'entreprise sous licence.

1

connectez-vous à votre compte portail développeur ServiceNow et ouvrez la console Administration .

2

Dans la zone Mon instance du menu Compte , cliquez sur Démarrer la création.

Capture d'écran du portail des développeurs ServiceNow avec le bouton "Démarrer la construction" mis en surbrillance.

3

Sur votre instance de développeur, dans le champ Filter navigator en haut à gauche de la fenêtre, accédez à Plugins.

Instance de développeur ServiceNow affichant une recherche pour le navigateur de filtre 'plugins'.

4

Recherchez le plug-in Openframe qui a le titre Openframe. Vous devrez peut-être faire défiler la liste.

Instance de développeur ServiceNow sur l'écran Applications, affichant la recherche et les résultats pour "OpenFrame".

5

Cliquez sur Installer pour installer le plug-in Openframe.

6

Dans la boîte de dialogue Activer le plug-in, cliquez sur Activer.

Instance de développeur ServiceNow montrant le plugin OpenFrame contextuel avec le bouton 'Activer' en surbrillance.

7

Une fois l'activation du plugin terminée, cliquez sur Fermer et recharger le formulaire dans la boîte de dialogue Activation du plug-in.

Instance de développeur ServiceNow montrant le chargement de l'activation du plug-in OpenFrame.

Instance de développeur ServiceNow montrant la fenêtre de réussite de l'activation du plug-in OpenFrame avec le bouton "Fermer et recharger le formulaire" en surbrillance.

8

Pour vérifier l'activation du plug-in, dans le champ Navigateur de filtre en haut à gauche de la fenêtre, accédez à OpenFrame.

9

Cliquez sur Configurations et assurez-vous que le plug-in OpenFrame apparaît dans la liste Configurations OpenFrame .

Instance de développeur ServiceNow affichant les configurations OpenFrame dans la recherche du navigateur de filtre.

1

Dans le champ Navigateur de filtre en haut à gauche de la fenêtre, saisissez sys_properties.list.

Instance de développeur ServiceNow affichant une recherche dans le navigateur de filtre dans l'onglet 'Tous' pour 'sys_properties.list'

2

Dans la page Propriétés système, triez les propriétés par date de mise à jour. Vérifiez que vous pouvez voir les propriétés suivantes de Webex Contact Center :

Résultats de la page des propriétés système de l'instance de développeur ServiceNow.

3

Cliquez sur agentdesktop_url pour ouvrir la page agentdesktop_url des propriétés système.

4

Dans le champ Valeur , saisissez l'URL du centre de contacts Webex Desktop en fonction de la région d'opérations.

Page de détails des propriétés système de l'instance de développeur ServiceNow pour agentdesktop_url.

5

Cliquez sur Mettre à jour pour enregistrer les modifications.

6

(Facultatif) Pour modifier le nom de la table Activité, modifiez les propriétés de x_caci_webexcc.webexccactivitytable selon vos besoins.

  1. Dans la page Propriétés système, cliquez sur x_caci_webexcc.webexccactivitytable.

    Résultats de la page des propriétés système de l'instance de développeur ServiceNow pour x_caci_webexcc.webexccactivitytable.

  2. Modifiez le champ Valeur selon vos besoins.

    Page de propriétés système de l'instance de développeur ServiceNow pour x_caci_webexcc.webexccactivitytable.

7

(Facultatif) Ajoutez des groupes d'utilisateurs des manières suivantes :

  1. Dans le champ Navigateur de filtre en haut à gauche de la fenêtre, accédez à Groupes sous Sécurité du système.

    Résultats du navigateur de filtre d'instance de développeur ServiceNow pour "Groupes".

    Page du groupe d'instances de développeur SeviceNow pour webexccagentsgroup.

  2. Cliquez sur Modifier et ajoutez les rôles suivants :

    • sn_openframe_user

    • x_caci_webexcc.agent

    • agent_workspace_user

    • x_caci_webexcc.utilisateur_webexcc_imp_activity_

    • x_caci_webexcc.webex_contact_center

    Page de groupe d'instances de développeur SeviceNow pour webexccagentsgroup avec rouleaux ajoutés.

1

Dans le champ Filter navigator , accédez à OpenFrame > Configurations.

ServiceNow developer instance filtre le navigateur avec 'openframe' dans le champ de recherche et 'Configurations' sous 'OpenFrame' mis en surbrillance dans les résultats.

2

Cliquez sur Nouveau.

Page Configurations OpenFrame de l'instance de développeur ServiceNow avec "Nouveau" en surbrillance.

3

Entrez les propriétés suivantes pour l'URL :

  • Nom : Webex Contact Center Desktop

  • Titre : Centre de contact Webex

  • Largeur : 550 (recommandé)

  • Hauteur : 600 (recommandé)

4

À droite du champ URL , cliquez sur le bouton Verrouiller et ajoutez x_caci_webexcc_agentdesktop.do comme URL. (Effectuez cette étape pour pointer la configuration vers la page de l'interface utilisateur)

Instance de développeur ServiceNow OpenFrame Configurations – Page Nouvel enregistrement avec l'icône de verrou en surbrillance.

5

(Facultatif) Sélectionnez les groupes d'utilisateurs/agents à attribuer à la configuration.

Configurations OpenFrame de l'instance de développeur ServiceNow – Sélection du groupe d'utilisateurs New Record.

6

Cliquez sur Soumettre. L'URL apparaît sous forme de lien.

Configurations OpenFrame de l'instance de développeur ServiceNow – Nouvel enregistrement avec URL ajoutée.

7

Dans le champ Navigateur de filtre, accédez à Espace de travail des opérations de service.

La page d'accueil ServiceNow avec Webex Contact Center Agent Desktop intégrée à ServiceNow.

8

(Facultatif) Dans la liste Groupe d'utilisateurs, déplacez les groupes d'utilisateurs qui peuvent accéder au Webex Contact Center Desktop de Disponible vers Sélectionné.

9

Avant d'essayer d'utiliser le téléphone OpenFrame, assurez-vous de télécharger le fichier JSON d'aménagement du bureau personnalisé ServiceNow sur le portail Webex Contact Center Management. Pour plus d'informations, consultez Configuration de la disposition du bureau ServiceNow sur Webex Contact Center.

1

Téléchargez la présentation du bureau pour ServiceNow à partir de https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Écran Github pour Webex Intégrations CRM Contact Center - Configurations de bureau - ServiceNow.

2

Mettez à jour les propriétés dans le fichier d'aménagement du bureau, si nécessaire.

3

Accédez au portail de gestion de Webex Contact Center.

4

Dans la barre de navigation Management Portal, choisissez Mise à disposition > Présentation du bureau.

Webex page Mise à disposition de Contact Center Management Portal avec l'affichage du poste de travail en surbrillance dans le volet de navigation de gauche.

5

Cliquez sur Nouvelle disposition et entrez les détails de la disposition du bureau.

6

Téléchargez le fichier JSON ServiceNow Desktop Layout.

7

Cliquez sur Enregistrer pour enregistrer la configuration.

Vous pouvez désormais démarrer Webex Contact Center Desktop dans la console ServiceNow.

8

Dans le champ Navigateur de filtre, accédez à Espace de travail des opérations de service.

La page d'accueil ServiceNow avec Webex Contact Center Agent Desktop intégrée à ServiceNow.

1

Dans le champ du navigateur de filtres, accédez à Incidents> open Incident.

2

Cliquez avec le bouton droit sur le champ appelant et cliquez sur Configurer le dictionnaire.

Fenêtre Incidents de l'instance de développeur ServiceNow avec l'option Configurer le répertoire en surbrillance.

3

Add comma separated Attributes "ref_contributions=show_phone,.

Fenêtre d'incident d'appel d'instance de développeur ServiceNow pour une entrée de répertoire.

Vous pouvez désormais commencer à utiliser Webex Contact Center Desktop dans la console ServiceNow.

4

Dans le champ Navigateur de filtre, accédez à Espace de travail des opérations de service.

La page d'accueil ServiceNow avec Webex Contact Center Agent Desktop intégrée à ServiceNow.

Nous prenons en charge la connexion à Agent Desktop à l'aide de WebRTC for Salesforce (SFDC) et des connecteurs Microsoft Dynamics (MS Dynamics) uniquement.

Agent Desktop dans la console ServiceNow

Avant de passer des appels externes, assurez-vous de :

  • Créez le point d'entrée de numérotation externe et mettez en place une stratégie de point d'entrée de numérotation externe.

  • Activez la numérotation externe ANI pour le profil d'agent.

  • Définissez l'espace de numérotation externe sur un mappage de numéro d'appel à point d'entrée.

Pour plus d'informations, reportez-vous au chapitre Provisioning du guide d'installation et d'administration Cisco Webex Contact Center.

Dans le champ Navigateur de filtre, accédez à Espace de travail des opérations de service.

La page d'accueil ServiceNow avec Webex Contact Center Agent Desktop intégrée à ServiceNow.

Pour plus d'informations sur l'utilisation de Desktop, consultez l'onglet Agent de l'aide de Webex Contact Center.

Vue d’ensemble

Cet article couvre plusieurs façons de personnaliser vos règles d'entreprise pour le connecteur ServiceNow CRM. Il détaille comment vous pouvez personnaliser les cas d'utilisation en fonction des règles métier spécifiques à ServiceNow.

Le client doit gérer lui-même ces cas d'utilisation sur ServiceNow. La configuration est spécifique à ServiceNow et non Webex logiciel ou expertise Contact Center.

Il s'agit d'une documentation de référence pour faciliter la modification des règles métier. Les développeurs ServiceNow créeront et géreront les règles métier et fourniront un support.

Cisco ne fournit que des exemples de documentation.

Les sections suivantes fournissent des détails sur la configuration, l'activation et la gestion du widget Actions pour les instances de développeur et d'entreprise.

Valider le jeu de mises à jour pour le widget Actions

Pour les instances d'entreprise sous licence, installez la dernière application Webex Contact Center à partir de la boutique ServiceNow.

Pour configurer le widget Actions pour les instances de développeur, téléchargez le dernier fichier System Update Set XML disponible sur le dépôt github à cet emplacement : https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Le nom de fichier est webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Pour valider le jeu de mises à jour pour le widget Actions, reportez-vous aux étapes 2 à 9 dans Valider le jeu de mises àjour.

Widget Activer les actions

Utilisez la propriété isWidgetDisplayEnabled pour activer le widget Actions. Vous ne devez pas modifier la valeur de cette propriété dans la section sans tête de la mise en page de bureau personnalisée. La propriété est toujours définie sur false dans la section sans tête de la disposition de bureau personnalisée. Vous devez mettre à jour la valeur de la propriété uniquement dans la section de panneau de la disposition de bureau personnalisée.

Une fois que vous avez activé le widget Actions dans la présentation personnalisée du bureau, vous pouvez effectuer les actions suivantes :

  • Gestion des enregistrements d'activité : cliquez sur Afficher/Modifier le rapport d'activité pour afficher la liste des rapports d'activité associés à l'appelant.
  • Associer des objets CRM : cliquez sur Associer aux enregistrements d'activité pour ajouter à l'enregistrement d'activité des objets CRM tels que le type d'appel (entrant ou sortant), l'objet d'appel, les notes d'appel, etc.
  • Gérer les incidents : cliquez sur Créer un incident. Un nouvel incident est créé lorsque les détails de l'appelant sont prérenseignés. Vous pouvez apporter les mises à jour requises à l'incident. Vous pouvez choisir de modifier le type d'enregistrement d'un incident à un incident, un module RH, etc., en fonction de vos besoins. Pour modifier le type d'enregistrement, modifiez la valeur de la propriété typeOfRecord dans la configuration du widget Actions. Par exemple :
    { "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" } } ] }
  • Ajouter des notes d'appel en direct : vous pouvez capturer des informations supplémentaires sur l'appel dans la zone de texte et post-appel de l'appel. Vous pouvez voir ces notes ajoutées sous forme de notes d'appel dans le rapport d'activité.

Changement de code sur ServiceNow

Le script inclut les modifications
  1. Accédez au navigateur de filtre et recherchez Le script inclut.

    Sélectionnez le script inclus dans l'interface utilisateur système.

  2. Filtrez le nom et recherchez propUtils.

  3. Modifier la méthode UserGetSysId Dans le script.

    Actuel :

    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 ; },

    Nouvel exemple de code pour l'incident :

    UserGetSysId : function () { var opened_for ; //Modifications liées aux incidents 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='Appel reçu de '+ this.getParameter('value') ; sysidlist.incsysid=inc.insert() ; } } var grInt = new GlideRecordSecure('interaction') ; grInt.initialize() ; grInt.assigned_to= gs.getUserID() ; grInt.type= 'téléphone' ; grInt.opened_for= opened_for ; var sysid=grInt.insert() ; sysidlist.sysid=sysid ; return JSON.stringify(sysidlist) ; },

Changement de méthode sur les pages d'interface utilisateur
  1. Accédez au navigateur de filtre et recherchez la page UI.

    Sélectionnez Pages d'interface utilisateur sous Interface utilisateur système.

  2. Filtrez le nom et recherchez Agentdesktop (bureau) d'agent.

  3. Modifiez screenpop dans le script client.

    Fonction actuelle :

    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('champ', 'téléphone') ; gaout.addParam('value', callerani) ; gaout.getXMLWait() ; var sysid = gaout.getAnswer() ; openFrameAPI.openServiceNowForm({ entity : 'interaction', query : 'sys_id='+sysid }) ;

    Exemple de code pour l'incident :

    fonction screen pop 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' }) ; } }

Si les informations relatives à l'appelant existent dans CRM et qu'un nouvel incident a déjà été déclenché avec ce contact, l'application ouvre l'incident en cours

Si les informations sur l'appelant n'existent pas dans CRM, l'application ouvre un nouvel incident

Si les informations sur l'appelant existent dans CRM, l'application ouvre un nouvel incident avec des détails préremplis

Vue d’ensemble

Ce cas d'utilisation détaille le processus d'ajout d'une colonne supplémentaire à la table ServiceNow - webexcc_imp_activity et créer sn_openframe_phone_log lors de l'installation de Webex CC pour ServiceNow CRM Connector.

Par défaut, le tableau contient certains champs et valeurs système prêts à l'emploi.

Vous pouvez créer davantage de variables spécifiques à l'entreprise (variables CAO) dans le concepteur de flux WebexCC et ajouter les variables CAO dans le journal d'activité post-appel ServiceNow, ainsi que les conserver dans les données de la table d'activité post-appel.

Il s'agit d'une documentation de référence uniquement - et montre comment procéder pour un exemple de variable CAD appelée Nom du client qui stocke le nom du client dans le IVR et le publie sur ServiceNow.

Il est prévu que les développeurs partenaire+client ServiceNow configurent et gèrent cette configuration car il s'agit d'une personnalisation du connecteur existant.

Cisco ne fournit que des techniques de personnalisation et d'extension du connecteur.

Depuis cet article, l'équipe Cisco a validé la prise en charge de l'ajout de variables CAD au journal d'activité et au tableau d'activité en utilisant la technique décrite ci-dessous :

Ajouter une colonne à l'activité IMP WebexCC

  1. Modifiez le tableau dans la version développeur de ServiceNow.

    Table d'activité IMP de l'instance de développeur ServiceNow WebexCC.

  2. Accédez au navigateur de filtre et recherchez studio.

    Navigateur de filtre d'instance de développeur ServiceNow dans l'onglet Tous avec "studio" entré dans le filtre.

    Sélection Webex Contact Center

    Application Studio pour ServiceNow avec la fenêtre Sélectionner une application ouverte.

    ou

    Application Studio pour ServiceNow avec la fenêtre Sélectionner une application ouverte et "Sélectionner l'application du Windows Store à personnaliser".

    Application Studio pour ServiceNow avec la fenêtre "Sélectionner l'application Store à personnaliser" ouverte et "Webex Contact Center" sélectionnée.

    Application Studio pour ServiceNow avec Webex détails du fichier d'application Contact Center.

  3. Cochez la case Activité IMP WebexCC table

    Tableau d'activité IMP de l'application Studio pour ServiceNow WebexCC.

  4. Ajouter une nouvelle colonne, par exemple, NomClient

    Exemple de nouvelle colonne de table d'activité IMP de l'application Studio pour ServiceNow WebexCC.

    Application Studio pour ServiceNow WebexCC IMP Activity, nouvel exemple de colonne avec ajout d'une nouvelle colonne.

Ajouter une colonne au journal du téléphone

  1. Modifiez le tableau du journal du téléphone.

    L'instance de développeur ServiceNow recherche une table de journal de téléphone.

    Table du journal du téléphone de l'instance de développeur ServiceNow.

  2. Ajouter une nouvelle colonne, par exemple, NomClient.

    Exemples de nouvelle colonne de table du journal de téléphone d'instance de développeur ServiceNow.

    Tableau du journal du téléphone de l'instance de développeur ServiceNow Exemple de colonne avec nouvelle colonne ajoutée.

Carte de transformation de l'activité WebexCC

Carte de transformation d'activité de l'application Studio pour ServiceNow WebexCC.

Ajouter une nouvelle colonne, par exemple, NomClient Cartographie des champs.

Application Studio pour ServiceNow WebexCC Activity Transform Mappage nouvel exemple de colonne pour le mappage de champs CustomerName.

Application Studio pour ServiceNow WebexCC Activity Transform Mappage nouvel exemple de colonne avec CustomeName sélectionné dans le champ Target.

Personnalisation des colonnes de la liste

Application Studio pour ServiceNow WebexCC Activity Transform Map avec fenêtre contextuelle en colonnes de liste personnalisées. L'option d'action de choix est mise en surbrillance dans la colonne Sélectionné.

Comme Service Now le recommande, modifiez l'action Choix de créer à ignorer.

Carte de transformation d'activité de l'application Studio pour ServiceNow WebexCC avec la colonne d'action Choix, affichant la liste déroulante pour choisir "Ignorer" ou "Créer".

Carte de transformation d'activité de l'application Studio pour ServiceNow WebexCC avec la colonne d'action Choix et "ignorer" en surbrillance pour le champ source du nom du client.

Configurer la liste des journaux du téléphone

Application Studio pour ServiceNow configurer la liste des journaux du téléphone avec CustomerName en surbrillance dans la colonne Sélectionné.

Aller à Script include

Ajouter une seule ligne webexcc.u_customername=actInfo.NomClient à propUtils.

Navigateur de filtre d'instance de développeur ServiceNow recherche pour "script inclut".

Page Script inclut l'instance de développeur ServiceNow.

Exemple de script

Consultez la ligne : webexcc.u_customername=actInfo.CustomerName ; avec un commentaire à l'appui.

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= 'téléphone' ; grInt.opened_for= opened_for ; var sysid=grInt.insert() ; renvoyer 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 ; cette ligne est ajoutée - pour la capturer dans le journal d'activité webexcc.u_customername=actInfo.CustomerName ; sys_id=webexcc.insert() ; Activités consignées dans le dossier de l'incident ; 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() ; } } } retour sys_id ; }, type : 'propUtils' }) ;

Créer une variable CAO dans le concepteur de flux

Webex concepteur de flux variable Cisco Contact Center avec menu contextuel Ajouter une variable de flux pour NomClient.

Ajouter la variable CAD à la présentation du bureau

Exemple

"CadName1 : SnowField1,CadName2 : SnowField2" CadName1 est CustomerName SnowField1 est également utilisé comme CustomerName qui fait partie de l'exemple de scirpt ci-dessus "actInfo.CustomerName".

Exemple de code source pour ajouter la variable CAD à la présentation du bureau.

Captures d'écran de la démo

Affichez la variable CAD nouvellement ajoutée dans la table d'activité WebexCC.

Exemple ServiceNow de variable CAO récemment ajoutée dans la table WebexCC Activity avec indication "Nom du client" dans la fenêtre contextuelle Cisco WebexCC.

Exemple ServiceNow de la variable CAO nouvellement ajoutée dans la table WebexCC Activity, affichant "CustomerName" dans la section commentaires sous "Activity" et "System Administrator".

Exemple d'instance de développeur ServiceNow de la variable CAO nouvellement ajoutée dans la table WebexCC Activity, affichant la colonne "CustomerName".

Création d'une variable CAD pour Flow Designer

Urgence en cas d'incident

Webex concepteur de flux du centre de contacts crée une variable CAO écran affichant la fenêtre contextuelle Modifier la variable de flux pour une variable de flux d'urgence d'incident.

Impact de l'incident

Webex concepteur de flux du centre de contacts crée une variable CAO écran affichant la fenêtre contextuelle Modifier la variable de flux pour une variable de flux d'urgence d'incident.

Mise à jour du script Service Now

Les mises à jour du script incluent

  1. Accédez au navigateur de filtres et recherchez les inclusions de script

    Sélectionnez l'option Inclut le script sous Interface utilisateur système.

    Navigateur de filtre d'instance de développeur ServiceNow recherche pour 'script includes'

  2. Filtrez le nom avec propUtils.

    Script d'instance de développeur ServiceNow Inclut un filtre de noms par 'propUtils'

  3. Modifier la méthode UserGetSysId Dans le champ Script .

    ServiceNow developer instance Script Includes – page de détails propUtils.

    Script actuel :

    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 ; },

    Nouvel exemple de code pour l'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='téléphone' ; inc.urgency=this.getParameter('IncUrgency') ; inc.impact=this.getParameter('Impact') ; inc.short_description='Appel reçu de '+ this.getParameter('value') ; sysidlist.incsysid=inc.insert() ; } } var grInt = new GlideRecordSecure('interaction') ; grInt.initialize() ; grInt.assigned_to= gs.getUserID() ; grInt.type= 'téléphone' ; grInt.opened_for= opened_for ; var sysid=grInt.insert() ; sysidlist.sysid=sysid ; return JSON.stringify(sysidlist) ;//sysid ; },

Changement de méthode sur les pages d'interface utilisateur
  1. Accédez au navigateur de filtre et recherchez les pages de l'interface utilisateur.

    Sélectionnez l'option Pages de l'interface utilisateur sous Interface utilisateur système.

    Recherche du navigateur de filtre d'instance de développeur ServiceNow pour 'Ui page'

  2. Filtrez les pages de l'interface utilisateur avec Nom et recherchez agentdesktop.

    Filtre de nom des pages d'interface utilisateur de l'instance de développeur ServiceNow pour rechercher 'agentdesktop'

  3. Modifiez screenpop Dans le champ de script.

    Page de l'interface utilisateur de l'instance de développeur ServiceNow – page de détails agentdesktop.

    Fonction actuelle :

    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 }) ; }

    Exemple de code pour l'incident :

    screen pop, fonction 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('champ', 'téléphone') ; gaout.addParam('value', callerani) ; gaout.addParam('IncUrgence', IncUrgence) ; gaout.addParam('Impact', Impact) ; gaout.getXMLWait() ; var sysid = gaout.getAnswer() ; var sysObj = JSON.parse(gaout.getAnswer()) ; if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity : 'incident', query : 'sys_id='+sysObj.incsysid, 'interaction_sys_id' : sysObj.sysid }) ; }else{ openFrameAPI.openServiceNowForm({ entity : 'incident', query : 'sys_id=-1', 'interaction_sys_id' : sysObj.sysid }) ; } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)) ; }

Si les informations relatives à l'appelant existent dans CRM et qu'il n'y a pas d'incident nouveau ou en cours, l'application ouvre un nouvel incident

Exemple ServiceNow d'incident.

Exemple ServiceNow d'interaction.

Modifier le code sur ServiceNow

Ajouter de nouvelles colonnes Activité IMP WebexCC table

Ouvrez Activité IMP WebexCC table

Transformation de l'activité WebexCC de l'instance de développeur ServiceNow.

Page de détails WebexCC Activity TransformMap de l'instance de développeur ServiceNow.

Ajouter une nouvelle colonne - InteractionsNumber

Nouvelle colonne WebexCC Activity TransformMap de l'instance de développeur ServiceNow, InteractionNumber.

Page de détails WebexCC Activity TransformMap de l'instance de développeur ServiceNow affichant la nouvelle colonne 'interactionnumber' ajoutée.

Ajouter une nouvelle colonne - IncidentNumber

Page de détails WebexCC Activity TransformMap de l'instance de développeur ServiceNow montrant l'ajout d'une nouvelle colonne "incidentnumber".

Cliquez sur Mettre à jour.

Page de détails WebexCC Activity TransformMap de l'instance de développeur ServiceNow montrant la modification de la longueur maximale de la colonne IncidentNumber.

Instance de développeur ServiceNow Page de détails WebexCC Activity TransformMap montrant la nouvelle colonne 'incidentnumber' ajoutée.

Ajouter de nouvelles colonnes Journal du téléphone table

Ouvrez Journal du téléphone table

Tableau du journal du téléphone de l'instance de développeur ServiceNow.

Ajouter une nouvelle colonne - InteractionsNumber

Entrée d'annuaire de l'instance de développeur ServiceNow – Page Nouvel enregistrement affichant une nouvelle colonne pour InteractionsNumber.

Table du journal du téléphone de l'instance de développeur ServiceNow avec colonne InteractionsNumber ajoutée.

Ajouter une nouvelle colonne - IncidentNumber

Entrée de répertoire de l'instance de développeur ServiceNow – Page Nouvel enregistrement affichant une nouvelle colonne pour IncidentNumber.

Tableau du journal des téléphones de l'instance ServiceNow Developer avec la colonne IncidentNumber ajoutée.

Carte de transformation de l'activité WebexCC

Ouverte Transformer la carte à partir du navigateur de filtres

Navigateur de filtre d'instance de développeur ServiceNow pour 'transformer la carte'

Instance de développeur ServiceNow Table Transform Maps montrant WebexCC Activity TransformMap dans les résultats.

Cliquez sur Carte de transformation de l'activité WebexCC

Transformation de l'activité WebexCC de l'instance de développeur ServiceNow.

Ajouter nouveau - pour la correspondance des numéros d'interaction

Transformation de l'activité WebexCC de l'instance de développeur ServiceNow avec "InteractionNumber" entré dans le champ "Target"

Transformation de l'activité WebexCC de l'instance de développeur ServiceNow avec 'InteractionNumber' ajouté.

Ajouter nouveau - pour la carte des numéros d'incident

Transformation de l'activité WebexCC de l'instance de développeur ServiceNow avec "IncidentNumber" entré dans le "champ cible"

Cliquez sur Mettre à jour.

Transformation de l'activité WebexCC de l'instance de développeur ServiceNow avec 'IncidentNumber' ajouté.

Modifications apportées aux fonctionnalités de script

  1. Allez dans le navigateur de filtre et recherchez "script includes".

    Sélectionnez le script inclus dans l'interface utilisateur système.

    Navigateur de filtre d'instance de développeur ServiceNow avec recherche pour 'script includes'

  2. Filtrez le nom avec propUtils.

    Script inclut l'instance de développeur ServiceNow avec filtre Nom appliqué à la recherche et 'propUtils' entré dans le champ de recherche.

  3. Modifier la méthode setWebexcctable.

    Le script inclut l'instance de développeur ServiceNow - page propUtils

    Nouvel exemple de code pour l'incident :

    setWebexcctable : function () { var sys_id=0 ; var actInfo = JSON.parse(this.getParameter('actInfo')) ; var webexcc = new GlideRecordSecure(gs.getProperty('webexccactivitytable')) ; webexcc.addQuery("u_callobject", actInfo.CallObject) ; webexcc.query() ; if( !webexcc.next()) { //Activités sur l'enregistrement d'incident ; //var actInfoString =this.getParameter('actInfo') ; var incsysid=actInfo.incident_sys_id ; var interactionsysid=actInfo.interaction_sys_id ; var incnum=" » ; var intenum=" » ; supprimer actInfo['interaction_sys_id'] ; supprimer 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('état','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.DuréeAppelDansSecondes ; 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() ; } retourner sys_id ; },

Modifications de méthode sur les pages d'interface utilisateur

  1. Accédez au navigateur de filtre et recherchez Pages de l'interface utilisateur

    Sélectionnez l'option Pages de l'interface utilisateur sous Interface utilisateur système.

    Navigateur de filtre d'instance de développeur ServiceNow avec recherche pour 'Ui page'

  2. Filtrez les pages de l'interface utilisateur avec Nom et recherchez agentdesktop .

    Pages de l'interface utilisateur de l'instance de développeur ServiceNow avec filtre Nom appliqué à la recherche.

  3. Modifiez maintenantActivités et screenpop Dans le script.

    Page UI de l'instance de développeur ServiceNow – agentdesktop.

    Fonction actuelle :

    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) ; }

    Exemple de code pour l'incident :

    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)) ; } 

Résultats après la mise à jour

Page Journaux de téléphone de l'instance de développeur ServiceNow.

Les personnalisations suivantes s'appliquent aux versions 1.0.5 et antérieures. Pour les personnalisations pour les versions plus récentes 1.0.7 et ultérieures, suivez les étapes ci-dessus.

Personnalisation #1 - Ajouter des règles métier personnalisées pour les cas d'utilisation de flux d'appels

Créer un nouvel enregistrement d'incident pour chaque appel

Pour chaque nouvel appel dans le connecteur WebexCC CRM dans ServiceNow, créez un nouvel enregistrement d'incident.

  1. Rechercher des règles métier dans le navigateur de filtre

    ServiceNow developer instance Business Rules page header.
  2. Cliquez sur Nouveau.

    ServiceNow developer instance Business Rule – New Record.

    Exemple de code pour référence :

    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", nom) ; } if (userID == null && phone != null && phone != '') { userID = UserGetSysId("téléphone", télé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 ; URL de retour ; } 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 ; }

    Exemple de configuration de la règle métier

    ServiceNow developer instance Business Rule – CTI Processing For Incident page as a sample configuration of the business rule.
  3. Activer le client appelable

    ServiceNow developer instance Business Rules page with the Personalized List Columns popup screen showing ‘Client callable’ in the ‘Selected’ column.

    Le traitement CTI Computer Telephony Integration (Computer Telephony Integration) des incidents est marqué comme Vrai.

    ServiceNow developer instance Business Rules page showing the Client callable column with options to select ‘true’ or ‘false’
  4. Mettez à jour l'URL screenpop avec la règle de CTI personnalisée «  cti.do ?sysparm_cti_rule=createIncident&sysparm_caller_phone= »

    System Property page for screenpop_url showing update to the custom CTI rule in the ‘Value’ field.
Exemple

Le sysparm_cti_rule=name où 'name' est le nom d'une fonction doit être appelée pour CTI Traitement plutôt qu'utilisation du script par défaut.

Définissez la fonction dans une entrée de sys_script marquée client appelable.

Si vous devez insérer, mettre à jour ou supprimer des enregistrements glideRecords dans la fonction, appelez une fonction appelable non client distincte pour effectuer les mises à jour.

Pour rendre un script appelable par le client, vous devez cocher la case correspondante dans le formulaire qui s'affiche lorsque l'entrée de sys_script est affichée.

La case à cocher appelable par le client ne s'affiche pas par défaut. Pour les afficher, vous devez modifier les champs qui s'affichent sur le formulaire à l'aide de l'icône d'engrenage et du mécanisme de seau fondée.

Références

Personnalisation #2 - Ajouter une variable CAD dans Webex table d'activité Contact Center

Présentation

Cet article détaille le processus d'ajout d'une colonne supplémentaire au tableau ServiceNow - webexcc_activity qui est créé lors de l'installation du connecteur Webex CC pour ServiceNow CRM.

Par défaut, la table contient des champs et des valeurs système prêts à l'emploi.

Vous pouvez éventuellement créer davantage de variables spécifiques à l'entreprise (variables CAO) dans le concepteur de flux WebexCC et ajouter ces variables CAO dans le journal d'activité post-appel ServiceNow, et les conserver dans les données de la table d'activité post-appel.

  • Ceci est uniquement une documentation de référence - et montre comment procéder pour un exemple de variable CAD appelé Nom du client qui stocke le nom du client dans le IVR et le publie sur ServiceNow.

  • Les développeurs partenaire+client ServiceNow configureront et géreront cette configuration car il s'agit d'une personnalisation du connecteur existant.

  • Cisco ne fournira que les techniques de personnalisation et d'extension du connecteur.

  • Depuis cet article, l'équipe Cisco a validé la prise en charge de l'ajout de variables CAO au journal d'activité et au tableau d'activité en utilisant la technique décrite ci-dessous.

Ajouter une colonne à l'activité WebexCC
  1. Modifiez le tableau dans la version développeur de ServiceNow.

    ServiceNow developer instance Table – WebexCC Activity page.
  2. Accédez au centre de contact Studio >Webex.

    ServiceNow developer instance filter navigator search for ‘studio’  highlighting the cross launch search result for ‘App Engine Studio’

    App Engine Studio Select Application screen showing Webex Contact Center in the search results.

    App Engine Studio Webex Contact Center screen.

  3. Sélectionnez la table d'activité WebexCC.

    App Engine Studio WebexCC Activity table.
  4. Par exemple, NomClient.

    App Engine Studio WebexCC Activity table column edit example for ‘CustomerName’ column.

    App Engine Studio WebexCC Activity table screen.

  5. Sélectionnez Mise en page de liste pour l'activité WebexCC.

    App Engine Studio WebexCC Activity table list layout showing ‘CustomerName’ highlighted in the ‘Selected’ column.
Créer un script inclus

Cette étape n'est pas nécessaire si vous utilisez le jeu de mises à jour XML - Une seule ligne doit être ajoutée « webexcc.u_customername=actInfo.CustomerName » à propUtils.

ServiceNow developer instance filter navigator search for ‘script includes’

ServiceNow developer instance Script Includes page with ‘Application’ in the filter.

ServiceNow developer instance Script Includes – New Record page.

Exemple de script

Voir la ligne avec :webexcc.u_customername=actInfo.CustomerName ; avec un commentaire à l'appui.

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 ; // Cette ligne est ajoutée - pour la capturer dans le journal d'activité webexcc. u_customername=actInfo.NomClient ; sys_id=webexcc.insert() ; Activités consignées dans le dossier de l'incident ; 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() ; } } } retour sys_id ; }, type : 'propUtils2' }) ;
Modifier la page d'interface utilisateur avec un nouveau nom de scriptApp Engine Studio agentdesktop UI page with new script name.

Créer une variable CAO dans le concepteur de fluxWebex Contact Center flow designer with Add Flow Variable popup showing adding a CustomerName variable.

Ajouter la variable CAD à la présentation du bureauWebex Contact Center CAD variable to the desktop layout script with ‘CustomerName:CustomerName’ highlighted.

Captures d'écran de la démo

Affichez la variable CAD nouvellement ajoutée dans la table d'activité WebexCC.

ServiceNow developer instance showing newly added CAD variable in the WebexCC Activity table.

ServiceNow developer instance WebexCC Activities screen.