Requisitos previos

Actualmente, esta función sólo se aplica a agentes.

Antes de integrar Webex Contact Center con la consola de CRM de ServiceNow, asegúrese de tener lo siguiente:

  • Acceso al Webex Contact Center.

  • Acceso de administrador al Centro de control en https://admin.webex.com y al Portal de administración Webex Contact Center. Las direcciones URL del Portal de administración son específicas de su región.

  • Un agente con acceso al escritorio. La dirección URL del escritorio es específica de su región.

  • Acceso del agente al siguiente dominio que se agrega a la lista de permitidos de la directiva de seguridad de contenido:

    • *.service-now.com

    Para obtener más información sobre cómo definir la lista de permitidos, consulte el artículo Configuración de seguridad para Webex Contact Center.

  • Una cuenta del portal para desarrolladores de ServiceNow. Para crear una cuenta, ve al portal para desarrolladores de ServiceNow en https://developer.servicenow.com/dev.do y haz clic en Registrarse y comenzar a construir.

  • Acceso a los siguientes archivos en https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:

    • Conjunto de actualizaciones de ServiceNow (XML)

    • Diseño de escritorio del centro de contacto de ServiceNow (JSON)

  • Las ediciones de ServiceNow que Webex Contact Center admite son Vancouver, Utah, Tokya, Washington y Xanadu. Para obtener más información, consulta Webex Contact Center Integración con ServiceNow.

Siga uno de los dos métodos a continuación:

Para las instancias de desarrollador, recomendamos seguir los pasos de la guía de instancias para desarrolladores.

Si posee una instancia con licencia empresarial, siga las directrices para las instancias con licencia empresarial.

No se recomienda mezclar la aplicación con licencia empresarial con instancias de espacio aislado para desarrolladores.

En las secciones siguientes se describen los pasos para instalar el conector ServiceNow para instancias de desarrollador.

1

Inicia sesión en tu cuenta del portal para desarrolladores de ServiceNow y abre la consola de administración .

2

En el área Mi instancia del menú Cuenta , haga clic en Iniciar compilación.

Captura de pantalla del portal para desarrolladores de ServiceNow con el botón 'Comenzar a construir' resaltado.

3

En su instancia de desarrollador, desde el campo Navegador de filtros en la parte superior izquierda de la ventana, navegue hasta Complementos.

Instancia de desarrollador de ServiceNow que muestra una búsqueda de navegador de filtros 'plugins'.

4

Busque el complemento Openframe que tiene el título Openframe. Es posible que deba desplazarse por la lista.

Instancia de desarrollador de ServiceNow en la pantalla Aplicaciones, que muestra la búsqueda y los resultados de 'OpenFrame'.

5

Haga clic en Instalar para instalar el complemento Openframe.

6

En el cuadro de diálogo Activar complemento , haga clic en Activar.

Instancia de desarrollador de ServiceNow que muestra la ventana emergente del complemento OpenFrame con el botón 'Activar' resaltado.

7

Cuando se complete la activación del complemento, haga clic en Cerrar y volver a cargar el formulario en el cuadro de diálogo Activación del complemento.

Instancia de desarrollador de ServiceNow que muestra la carga de activación del complemento OpenFrame.

Instancia de desarrollador de ServiceNow que muestra la ventana de éxito de activación del complemento OpenFrame con el botón 'Cerrar y volver a cargar formulario' resaltado.

8

Para verificar la activación del plugin, desde el campo Navegador de filtros en la parte superior izquierda de la ventana, navegue hasta OpenFrame.

9

Haga clic en Configuraciones y asegúrese de que el complemento OpenFrame aparezca en la lista Configuraciones de OpenFrame.

Instancia de desarrollador de ServiceNow que muestra las configuraciones de OpenFrame en la búsqueda del navegador de filtros.

1

Descargue el último archivo XML del conjunto de actualizaciones del sistema disponible en el repositorio de github en esta ubicación : https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Nombre del archivo: webexcc-servicenow-update-setV(X).XML

Captura de pantalla del repositorio de Github para integraciones Webex Contact Center CRM - ServiceNow.

2

En la instancia de ServiceNow, en el campo Navegador de filtros en la parte superior izquierda de la ventana, vaya a Conjuntos de actualizaciones del sistema> Conjuntos de actualizaciones para confirmar.

Instancia de desarrollador de ServiceNow que muestra una búsqueda en el navegador de filtros en la opción 'Todos' Tab para 'Conjunto de actualizaciones' y 'Actualizar conjuntos para confirmar' resaltada.

3

Haga clic en el enlace Importar conjunto de actualizaciones desde XML .

Instancia de desarrollador de ServiceNow en la página de resultados de conjuntos de actualizaciones con 'Enlaces relacionados: Importar conjunto de actualizaciones desde XML' resaltado.

4

Haga clic en Elegir archivo, seleccione el archivo XML del conjunto de actualizaciones del sistema y, a continuación, haga clic en Cargar.

Pantalla XML de importación de instancias de desarrollador de ServiceNow.

Lista de conjuntos de actualizaciones recuperados del portal para desarrolladores de ServiceNow.

El conjunto de actualizaciones aparece en la lista Conjuntos de actualizaciones recuperados y está en estado Cargado .
5

En la lista Conjuntos de actualizaciones recuperados , haga clic en el nombre de archivo del conjunto de actualizaciones (vínculo) para abrir el conjunto de actualizaciones.

El portal para desarrolladores de ServiceNow recuperó la lista de conjuntos de actualizaciones para un archivo actualizado.

6

En la parte superior derecha de la ventana, haga clic en Vista previa del conjunto de actualizaciones para comprobar si hay problemas en el conjunto de actualizaciones.

El portal para desarrolladores de ServiceNow recuperó la lista de conjuntos de actualizaciones para un archivo actualizado con el botón 'Vista previa del conjunto de actualizaciones' resaltado.

7

Haga clic en Cerrar en el cuadro de diálogo Actualizar conjunto de vista previa una vez completada la vista previa.

Portal para desarrolladores de ServiceNow con la notificación de éxito de vista previa del conjunto de actualizaciones.

8

Haga clic en Confirmar conjunto de actualización.

El portal para desarrolladores de ServiceNow recuperó la lista de conjuntos de actualizaciones para un archivo actualizado con el botón 'Confirmar conjunto de actualización' resaltado.

9

Haga clic en Cerrar en el cuadro de diálogo Confirmar conjunto de actualizaciones una vez que se haya completado la confirmación del conjunto de actualizaciones.

Portal para desarrolladores de ServiceNow con la notificación de confirmación correcta del conjunto de actualizaciones.

1

En el campo Navegador de filtros en la parte superior izquierda de la ventana, escriba sys_properties.list y presione enter.

Instancia de desarrollador de ServiceNow que muestra una búsqueda en el navegador de filtros en el Tab 'Todos' para 'sys_properties.list'

2

En la página Propiedades del sistema, ordene las propiedades por fecha de actualización. Asegúrese de que puede ver las siguientes propiedades Webex Contact Center:

Página de propiedades del sistema de instancia de desarrollador de ServiceNow.

3

Haga clic en agentdesktop_url para abrir la página agentdesktop_url propiedades del sistema.

4

En el campo Valor , ingrese la URL para el escritorio Webex Contact Center según la región de operación.

Detalles de la propiedad del sistema de instancia de desarrollador de ServiceNow para agentdesktop_url.

5

Haga clic en Actualizar para guardar los cambios.

6

(Opcional) Para cambiar el nombre de la tabla de actividades, edite las propiedades de webexccactivitytable según sea necesario.

En la página Propiedades del sistema, haga clic en webexccactivitytable.

Cambie el campo Valor según sea necesario.

Detalles de la propiedad del sistema de instancia de desarrollador de ServiceNow para webexactivitytable.

7

(Opcional) Agregue grupos de usuarios de las siguientes maneras:

  1. En el campo Navegador de filtros en la parte superior izquierda de la ventana, navegue a Grupos en Seguridad del sistema.

    ServiceNow developer instance filter navigator search for ‘Groups’ under ‘System Security’
  2. Cree un nuevo grupo de usuarios o utilice uno existente.

    Página de grupo de instancias de desarrollador de ServiceNow para WebexccAgentsGroup.

  3. Haga clic en Edit (Editar).

  4. Busque sn_openframe_user en Recopilación y muévala a su grupo de usuarios.

    Página de miembros de edición del grupo de instancias de desarrollador de ServiceNow que muestra una búsqueda de una colección.

    Página de miembros de edición del grupo de instancias de desarrollador de ServiceNow que muestra una colección movida a la lista de roles.

  5. Haga clic en Guardar.

  6. Agregue el usuario como miembro del grupo.

    Página de grupo de instancias de desarrollador de ServiceNow con roles de usuario asignados.

1

En el campo Navegador de filtros, vaya a OpenFrame > Configurations .

La instancia de desarrollador de ServiceNow filtra el navegador con 'openframe' en el campo de búsqueda y 'Configuraciones' en 'OpenFrame' resaltado en los resultados.

2

Haga clic en New (Nuevo).

Página de configuraciones de OpenFrame de instancia de desarrollador de ServiceNow con 'Nuevo' resaltado.

3

Introduzca las siguientes propiedades para la dirección URL:

  • Nombre: Webex Contact Center Desktop

  • Título: Webex Contact Center

  • Anchura: 550 (recomendado)

  • Altura: 600 (recomendado)

4

A la derecha del campo URL , haga clic en el botón Bloquear y agregue agentdesktop.do como URL. (Realice este paso para apuntar la configuración a la página de interfaz de usuario)

Instancias de desarrollador de ServiceNow Configuraciones de OpenFrame: página Nuevo registro con el icono de candado resaltado.

5

(Opcional) Seleccione los grupos de usuarios/agentes a los que desea asignar la configuración.

Instancia de desarrollador de ServiceNow Configuraciones de OpenFrame: selección de grupo de usuarios de nuevo registro.

6

Haga clic en Submit (Enviar). La URL aparece como un vínculo.

Instancias de desarrollador de ServiceNow Configuraciones de OpenFrame: página Nuevo registro que muestra el enlace URL que aparece después de enviar las selecciones del grupo de usuarios.

7

Antes de intentar usar el teléfono OpenFrame, asegúrese de cargar el archivo JSON de diseño de escritorio personalizado de ServiceNow en el portal de administración Webex Contact Center. Para obtener más información, consulta Configurar el diseño de escritorio de ServiceNow en Webex Contact Center.

1

Descarga el diseño de escritorio para ServiceNow desde https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Pantalla de Github para integraciones Webex Contact Center CRM - Diseños de escritorio - ServiceNow.

2

Actualice las propiedades del archivo de diseño de escritorio, si es necesario.

3

Vaya al Portal de administración Webex Contact Center.

4

En la barra de navegación del Portal de administración, elija Provisioning > Desktop Layout.

Webex Contact Center Página de aprovisionamiento del Portal de administración con Diseño de escritorio resaltado en el panel de navegación izquierdo.

5

Haga clic en Nuevo diseño e introduzca los detalles del diseño de escritorio.

6

Sube el archivo JSON de ServiceNow Desktop Layout.

7

Haga clic en Guardar para guardar la configuración.

Ahora puede iniciar el escritorio Webex Contact Center dentro de la consola de ServiceNow.

8

En el campo Navegador de filtros, vaya a Área de trabajo de operaciones deservicio.

Página Home de ServiceNow con Webex Contact Center Agent Desktop integrada con ServiceNow.

En las secciones siguientes se describen los pasos para instalar el conector ServiceNow para instancias empresariales con licencia.

1

Inicia sesión en tu cuenta del portal para desarrolladores de ServiceNow y abre la consola de administración .

2

En el área Mi instancia del menú Cuenta , haga clic en Iniciar compilación.

Captura de pantalla del portal para desarrolladores de ServiceNow con el botón 'Comenzar a construir' resaltado.

3

En su instancia de desarrollador, desde el campo Navegador de filtros en la parte superior izquierda de la ventana, navegue hasta Complementos.

Instancia de desarrollador de ServiceNow que muestra una búsqueda de navegador de filtros 'plugins'.

4

Busque el complemento Openframe que tiene el título Openframe. Es posible que deba desplazarse por la lista.

Instancia de desarrollador de ServiceNow en la pantalla Aplicaciones, que muestra la búsqueda y los resultados de 'OpenFrame'.

5

Haga clic en Instalar para instalar el complemento Openframe.

6

En el cuadro de diálogo Activar complemento , haga clic en Activar.

Instancia de desarrollador de ServiceNow que muestra la ventana emergente del complemento OpenFrame con el botón 'Activar' resaltado.

7

Cuando se complete la activación del complemento, haga clic en Cerrar y volver a cargar el formulario en el cuadro de diálogo Activación del complemento.

Instancia de desarrollador de ServiceNow que muestra la carga de activación del complemento OpenFrame.

Instancia de desarrollador de ServiceNow que muestra la ventana de éxito de activación del complemento OpenFrame con el botón 'Cerrar y volver a cargar formulario' resaltado.

8

Para verificar la activación del plugin, desde el campo Navegador de filtros en la parte superior izquierda de la ventana, navegue hasta OpenFrame.

9

Haga clic en Configuraciones y asegúrese de que el complemento OpenFrame aparezca en la lista Configuraciones de OpenFrame.

Instancia de desarrollador de ServiceNow que muestra las configuraciones de OpenFrame en la búsqueda del navegador de filtros.

1

En el campo Navegador de filtros en la parte superior izquierda de la ventana, ingrese sys_properties.list.

Instancia de desarrollador de ServiceNow que muestra una búsqueda en el navegador de filtros en el Tab 'Todos' para 'sys_properties.list'

2

En la página Propiedades del sistema, ordene las propiedades por fecha de actualización. Asegúrese de que puede ver las siguientes propiedades Webex Contact Center:

Resultados de la página de propiedades del sistema de instancia de desarrollador de ServiceNow.

3

Haga clic en agentdesktop_url para abrir la página agentdesktop_url propiedades del sistema.

4

En el campo Valor , ingrese la URL para el escritorio Webex Contact Center según la región de operación.

Página de detalles de la propiedad del sistema de instancia de desarrollador de ServiceNow para agentdesktop_url.

5

Haga clic en Actualizar para guardar los cambios.

6

(Opcional) Para cambiar el nombre de la tabla de actividades, edite las propiedades x_caci_webexcc.webexccactivitytable según sea necesario.

  1. En la página Propiedades del sistema, haga clic en x_caci_webexcc.webexccactivitytable.

    Resultados de la página de propiedades del sistema de instancia de desarrollador de ServiceNow para x_caci_webexcc.webexccactivitytable.

  2. Cambie el campo Valor según sea necesario.

    Página de propiedad del sistema de instancia de desarrollador de ServiceNow para x_caci_webexcc.webexccactivitytable.

7

(Opcional) Agregue grupos de usuarios de las siguientes maneras:

  1. En el campo Navegador de filtros en la parte superior izquierda de la ventana, navegue a Grupos en Seguridad del sistema.

    Resultados del navegador de filtro de instancias de desarrollador de ServiceNow para 'Grupos'.

    Página de grupo de instancias de desarrollador de SeviceNow para webexccagentsgroup.

  2. Haga clic en Editar y agregue los siguientes roles:

    • sn_openframe_user

    • x_caci_webexcc.agente

    • agent_workspace_user

    • x_caci_webexcc.webexcc_imp_activity_user

    • x_caci_webexcc.webex_contact_center

    Página de grupo de instancias de desarrollador de SeviceNow para webexccagentsgroup con rolls agregados.

1

En el campo Navegador de filtros, vaya a OpenFrame > Configurations .

La instancia de desarrollador de ServiceNow filtra el navegador con 'openframe' en el campo de búsqueda y 'Configuraciones' en 'OpenFrame' resaltado en los resultados.

2

Haga clic en New (Nuevo).

Página de configuraciones de OpenFrame de instancia de desarrollador de ServiceNow con 'Nuevo' resaltado.

3

Introduzca las siguientes propiedades para la dirección URL:

  • Nombre: Webex Contact Center Desktop

  • Título: Webex Contact Center

  • Anchura: 550 (recomendado)

  • Altura: 600 (recomendado)

4

A la derecha del campo URL , haga clic en el botón Bloquear y agregue x_caci_webexcc_agentdesktop.do como URL. (Realice este paso para apuntar la configuración a la página de interfaz de usuario)

Instancias de desarrollador de ServiceNow Configuraciones de OpenFrame: página Nuevo registro con el icono de candado resaltado.

5

(Opcional) Seleccione los grupos de usuarios/agentes a los que desea asignar la configuración.

Instancia de desarrollador de ServiceNow Configuraciones de OpenFrame: selección de grupo de usuarios de nuevo registro.

6

Haga clic en Submit (Enviar). La URL aparece como un vínculo.

Instancias de desarrollador de ServiceNow Configuraciones de OpenFrame: nuevo registro con URL agregada.

7

En el campo Navegador de filtros, vaya a Área de trabajo de operaciones deservicio.

Página Home de ServiceNow con Webex Contact Center Agent Desktop integrada con ServiceNow.

8

(Opcional) En la lista Grupo de usuarios, mueva los grupos de usuarios que pueden acceder al escritorio Webex Contact Center de Disponible a Seleccionado.

9

Antes de intentar usar el teléfono OpenFrame, asegúrese de cargar el archivo JSON de diseño de escritorio personalizado de ServiceNow en el portal de administración Webex Contact Center. Para obtener más información, consulte Configurar el diseño de escritorio de ServiceNow en Webex Contact Center.

1

Descarga el diseño de escritorio para ServiceNow desde https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Pantalla de Github para integraciones Webex Contact Center CRM - Diseños de escritorio - ServiceNow.

2

Actualice las propiedades del archivo de diseño de escritorio, si es necesario.

3

Vaya al Portal de administración Webex Contact Center.

4

En la barra de navegación del Portal de administración, elija Provisioning > Desktop Layout.

Webex Contact Center Página de aprovisionamiento del Portal de administración con Diseño de escritorio resaltado en el panel de navegación izquierdo.

5

Haga clic en Nuevo diseño e introduzca los detalles del diseño de escritorio.

6

Sube el archivo JSON de ServiceNow Desktop Layout.

7

Haga clic en Guardar para guardar la configuración.

Ahora puedes iniciar el escritorio Webex Contact Center dentro de la consola de ServiceNow.

8

En el campo Navegador de filtros, vaya a Área de trabajo de operaciones deservicio.

Página Home de ServiceNow con Webex Contact Center Agent Desktop integrada con ServiceNow.

1

En el campo Navegador de filtros, vaya a Incidentes > Incidente abierto.

2

Haga clic con el botón secundario en el campo Llamante y haga clic en Configurar diccionario.

Ventana Incidentes de instancia de desarrollador de ServiceNow con la opción Configurar directorio resaltada.

3

Agregue atributos separados por comas"ref_contributions=show_phone,.

Ventana de incidente de llamada de instancia de desarrollador de ServiceNow para una entrada de directorio.

Ahora puedes empezar a usar el escritorio Webex Contact Center dentro de la consola de ServiceNow.

4

En el campo Navegador de filtros, vaya a Área de trabajo de operaciones deservicio.

Página Home de ServiceNow con Webex Contact Center Agent Desktop integrada con ServiceNow.

Admitimos el inicio de sesión en Agent Desktop usando WebRTC solo para conectores de Salesforce (SFDC) y Microsoft Dynamics (MS Dynamics).

Agent Desktop en la consola de ServiceNow

Antes de realizar llamadas de marcado externo, asegúrese de hacer lo siguiente:

  • Cree el punto de entrada de marcado externo y configure una estrategia de punto de entrada de marcado externo.

  • Habilite ANI de marcado externo para el perfil de agente.

  • Establezca la ANI de marcado externo en una asignación de número de marcado a punto de entrada.

Para obtener más información, consulte el capítulo Aprovisionamiento de la Guía de configuración y administración del Cisco Webex Contact Center.

En el campo Navegador de filtros, vaya a Área de trabajo de operaciones deservicio.

Página Home de ServiceNow con Webex Contact Center Agent Desktop integrada con ServiceNow.

Para obtener información sobre cómo usar Desktop, consulte el Tab del agente en la ayuda del Webex Contact Center.

Descripción general

En este artículo se describen varias formas de personalizar las reglas empresariales para el conector de ServiceNow CRM. Detalla cómo puedes personalizar los casos de uso en función de las reglas empresariales específicas de ServiceNow.

El cliente debe autogestionar estos casos de uso en ServiceNow. La configuración es específica de ServiceNow y no Webex Contact Center software o experiencia.

Esta es una documentación de referencia para ayudar a la modificación de las reglas de negocio. Los desarrolladores de ServiceNow crearán y administrarán las reglas de negocio y proporcionarán soporte.

Cisco solo proporciona documentación de muestra.

En las secciones siguientes se proporciona información detallada sobre cómo configurar, habilitar y administrar el widget Acciones para instancias empresariales y de desarrollador.

Confirmar el conjunto de actualizaciones para el widget de acciones

Para las instancias empresariales con licencia, instale la última aplicación Webex Contact Center desde la tienda ServiceNow.

Para configurar el widget Acciones para las instancias del desarrollador, descargue el último archivo XML del conjunto de actualizaciones del sistema disponible en el repositorio de github en esta ubicación: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. El nombre del archivo es webexcc-servicenow-update-setv7-1-ActionsWidget.XML. Para confirmar el conjunto de actualizaciones para el widget Acciones, consulte los pasos 2 a 9 en Confirmar el conjunto de actualización.

Activar widget Acciones

Utilice la propiedad isWidgetDisplayEnabled para habilitar el widget Acciones. No debe modificar el valor de esta propiedad en la sección sin periféricos del diseño de escritorio personalizado. La propiedad siempre se establece en false en la sección sin periféricos del diseño de escritorio personalizado. Debe actualizar el valor de la propiedad solo en la sección de panel del diseño de escritorio personalizado.

Una vez que habilite el widget Acciones en el diseño de escritorio personalizado, puede realizar las siguientes acciones:

  • Administrar registros de actividad: haga clic en Ver/Editar registro de actividad para ver la lista de registros de actividad asociados con la persona que llama.
  • Asociar objetos de CRM: haga clic en Asociar a registros de actividad para agregar objetos de CRM como tipo de llamada (entrante o saliente), objeto de llamada, notas de llamada, etc. al registro de actividad.
  • Gestionar incidentes: haga clic en Crear incidente. Se crea un nuevo incidente con los detalles de la persona que llama rellenados previamente. Puede realizar las actualizaciones necesarias para el incidente. Puede optar por modificar el tipo de registro de incidente a caso, módulo de recursos humanos, etc. en función de sus requisitos. Para cambiar el tipo de registro, modifique el valor de la propiedad typeOfRecord en la configuración del widget Acciones. Por ejemplo:
    { "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" } } ] }
  • Agregar notas de llamadas en vivo: puede capturar información adicional sobre la llamada en el área de texto y finalizar la llamada. Puede ver estas notas agregadas como notas de llamada en el registro de actividad.

Cambio de código en ServiceNow

El script incluye cambios
  1. Vaya al navegador de filtros y busque El guión incluye.

    Seleccione la opción Inclusión de script en la Interfaz de usuario del sistema.

  2. Filtrar el Nombre y buscar por propUtils.

  3. Cambiar el método UsuarioGetSysId En el Script.

    Actual:

    UserGetSysId: función () { var abierto_para; var usuario = new GlideRecord("usuario_del_sistema"); usuario.addQuery(this.getParameter('campo'),this.getParameter('valor')); usuario.query(); if (usuario.next()) abierto_para=usuario.sys_id; var grInt = new GlideRecord('interacción'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'teléfono'; grInt.opened_for= abierto_para; var sysid=grInt.Insert(); return sysid; },

    Nuevo código de muestra para el incidente:

    UserGetSysId: function () { var opens_for; //Cambios relacionados con el incidente var sysidlist = {}; var usuario = new GlideRecordSecure("sys_user"); usuario.addQuery(this.getParameter('campo'),this.getParameter('valor')); usuario.query(); if(usuario.next()) { opens_for=usuario.sys_id;//devolver usuario.sys_id; var inc = new GlideRecordSecure('incidente'); inc.addQuery('id_de_llamada', opens_for); inc.addQuery('estado','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id=abierto_para; inc.contact_type='teléfono'; inc.short_description='Llamada recibida de '+ this.getParameter('valor'); sysidlist.incsysid=inc.Insert(); } } var grInt = new GlideRecordSecure('interacción'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'teléfono'; grInt.opened_for= abierto_para; var sysid=grInt.Insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist); },

Cambio de método en las páginas de la interfaz de usuario
  1. Vaya al navegador de filtros y busque Página de interfaz de usuario.

    Seleccione Páginas de interfaz de usuario en Interfaz de usuario del sistema.

  2. Filtrar el Nombre y buscar por Agente de escritorio.

  3. Cambiar el Pantalla emergente Función en el script del cliente.

    Función actual:

    // función de pantalla emergente screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('campo', 'teléfono'); gaout.addParam('valor', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entidad: 'interacción', consulta: 'sys_id='+sysid });

    Código de muestra para el incidente:

    // función de pantalla emergente 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(); // Para cambios relacionados con incidentes var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entidad: 'incidente', consulta: 'sys_id='+sysObj.incsysid, 'interacción_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entidad: 'incidente', consulta: 'sys_id=-1', 'interacción_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }

Si la información de la persona que llama existe en CRM y ya hay un nuevo incidente abierto con este contacto, la aplicación abre el incidente en curso.

Si la información de la persona que llama no existe en CRM, la aplicación abre un nuevo incidente

Si la información de la persona que llama existe en CRM, la aplicación abre un nuevo incidente con detalles precargados

Descripción general

Este caso de uso detalla el proceso para agregar una columna adicional a la tabla ServiceNow (webexcc_imp_activity) y crear sn_openframe_phone_log tras la instalación del conector CC Webex para ServiceNow CRM.

De forma predeterminada, la tabla contiene ciertos campos y valores del sistema predeterminados.

Puede crear más variables específicas del negocio (variables CAD) dentro del diseñador de flujo de WebexCC y agregar las variables CAD dentro del registro de actividad de llamadas POST de ServiceNow, así como también conservarlas en los datos de la tabla de actividad de llamadas POST.

Esta es solo una documentación de referencia y muestra cómo hacer esto para una variable CAD de muestra llamada Nombre del cliente que almacena el nombre del cliente dentro de IVR y lo publica en ServiceNow.

Se espera que los desarrolladores de ServiceNow del socio+cliente configuren y administren esta configuración, ya que es una personalización del conector existente.

Cisco solo proporciona las técnicas sobre cómo personalizar y ampliar el conector.

A partir de este artículo, el equipo Cisco ha validado la compatibilidad con la adición de la variable CAD al Registro de actividades y la Tabla de actividades utilizando la técnica que se describe a continuación:

Agregar columna a la actividad de IMP de WebexCC

  1. Edite la tabla en la versión para desarrolladores de ServiceNow.

    Tabla de actividades IMP de la instancia de desarrollador de ServiceNow de WebexCC.

  2. Vaya al navegador de filtros y busque estudio.

    Navegador de filtros de instancias de desarrollador de ServiceNow en todos los Tab con 'studio' ingresado en el filtro.

    Seleccionar Webex Contact Center

    Aplicación de estudio para ServiceNow con la ventana Seleccionar aplicación abierta.

    o

    Aplicación de estudio para ServiceNow con la ventana Seleccionar aplicación abierta y 'Seleccionar aplicación de tienda para personalizar' seleccionado.

    Aplicación de estudio para ServiceNow con la ventana 'Seleccionar aplicación de tienda para personalizar' abierta y 'Webex Contact Center' seleccionado.

    Aplicación de estudio para ServiceNow con detalles del archivo de aplicación Webex Contact Center.

  3. Seleccione el Actividad de IMP de WebexCC mesa

    Aplicación de estudio para la tabla de actividades IMP de ServiceNow WebexCC.

  4. Agregue una nueva columna, por ejemplo, Nombre del cliente

    Ejemplo de nueva columna en la tabla de actividad de IMP de la aplicación de estudio para ServiceNow WebexCC.

    Ejemplo de nueva columna de la tabla de actividad de ServiceNow WebexCC IMP con nueva columna agregada.

Agregar columna al registro telefónico

  1. Editar la tabla de registro telefónico.

    La instancia del desarrollador de ServiceNow busca una tabla de registro telefónico.

    Tabla de registro telefónico de la instancia del desarrollador de ServiceNow.

  2. Agregue una nueva columna, por ejemplo, Nombre del cliente.

    Ejemplos de nuevas columnas de la tabla de registro telefónico de la instancia del desarrollador de ServiceNow.

    Ejemplo de nueva columna de la tabla de registro telefónico de la instancia del desarrollador de ServiceNow con nueva columna agregada.

Mapa de transformación de actividades de WebexCC

Aplicación de estudio para el mapa de transformación de actividades de ServiceNow WebexCC.

Agregue una nueva columna, por ejemplo, Nombre del cliente Mapeo de campo.

Ejemplo de nueva columna del mapa de transformación de actividad de ServiceNow WebexCC para la asignación del campo CustomerName.

Ejemplo de nueva columna del Mapa de transformación de actividad de ServiceNow WebexCC con CustomeName seleccionado en el campo Destino.

Personalizar columnas de lista

Aplicación de estudio para ServiceNow WebexCC Activity Transform Map con ventana emergente en columnas de lista personalizadas. La opción de acción elegida se resalta en la columna Seleccionado.

Como recomienda Service Now, cambie la acción de Elección de crear a ignorar.

Aplicación de estudio para el mapa de transformación de actividad de ServiceNow WebexCC con la columna de acción Elección, que muestra el menú desplegable para elegir "ignorar" o "crear".

Aplicación de estudio para el mapa de transformación de actividad de ServiceNow WebexCC con la columna de acción Elección y la opción "ignorar" resaltada para el campo de origen del nombre del cliente.

Configurar la lista de registros telefónicos

Aplicación de estudio para ServiceNow que configura la lista de registros telefónicos con CustomerName resaltado en la columna Seleccionado.

Ir a Script Incluir

Añade sólo una línea webexcc.u_customername=actInfo.NombreDelCliente Para propUtils.

Busque 'script incluye' en el navegador de filtros de instancias de desarrollador de ServiceNow.

La instancia de desarrollador de ServiceNow incluye la página Script.

Guión de muestra

Ver la linea: webexcc.u_customername=actInfo.NombreDelCliente; con un comentario de apoyo.

var propUtils = Clase.crear(); 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;//devuelve user.sys_id; else // devuelve nulo; var grInt = new GlideRecord('interacción'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'teléfono'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); return sysid; }, setWebexcctable: function () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable')); webexcc.addQuery("callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { webexcc.ani = actInfo.ani; webexcc.dnis =actInfo.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds; webexcc.ringingtime =actInfo.ringingtime; webexcc.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; Esta línea se agrega - para capturarla en el registro de actividad webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.Insert(); Actividades en el registro de incidentes; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery("teléfono", this.getParameter('ani')); suser.consulta(); 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(); } } } devolver sys_id; }, escriba: 'propUtils' });

Creación de una variable CAD en el diseñador de flujo

Webex Contact Center Diseñador de flujo variable CAD con ventana emergente Agregar variable de flujo para CustomerName.

Agregue la variable CAD al diseño de escritorio

Ejemplo

"CadName1:SnowField1,CadName2:SnowField2" CadName1 es CustomerName, SnowField1 también se usa como CustomerName, que forma parte de la muestra de scirpt que se muestra arriba de "actInfo.CustomerName".

Ejemplo de código fuente para agregar la variable CAD al diseño de escritorio.

Capturas de pantalla de demostración

Vea la variable CAD recién agregada en la tabla Actividad de WebexCC.

Ejemplo de ServiceNow de la variable CAD recién agregada en la tabla Actividad de WebexCC, que muestra "Nombre del cliente" en la ventana emergente Cisco WebexCC.

Ejemplo de ServiceNow de la variable CAD recién agregada en la tabla de actividad de WebexCC, que muestra 'CustomerName' en la sección de comentarios en 'Actividad' y 'Administrador del sistema'.

Ejemplo de instancia de desarrollador de ServiceNow de la variable CAD recién agregada en la tabla de actividad de WebexCC, que muestra la columna 'CustomerName'.

Creación de una variable CAD para Flow Designer

Urgencia del incidente

Webex Contact Center diseñador de flujo crea la pantalla de creación de variables CAD que muestra la ventana emergente de edición de variable de flujo para una variable de flujo de urgencia incidente.

Impacto del incidente

Webex Contact Center diseñador de flujo crea la pantalla de creación de variables CAD que muestra la ventana emergente de edición de variable de flujo para una variable de flujo de urgencia incidente.

Actualización del script de Service Now

Las actualizaciones del script incluyen

  1. Vaya al navegador de filtros y busque inclusiones de script

    Seleccione la opción Script Includes en la interfaz de usuario del sistema.

    Búsqueda del navegador de filtros de instancias de desarrollador de ServiceNow para "script includes"

  2. Filtre el nombre con propUtils.

    Script de instancia de desarrollador de ServiceNow Incluye filtro de nombre por 'propUtils'

  3. Cambiar el método UserGetSysId En el campo Script .

    Script Includes de la instancia de desarrollador de ServiceNow: página de detalles de propUtils.

    Guión actual:

    UserGetSysId: function () { var opened_for; var usuario = 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= 'teléfono'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); return sysid; },

    Nuevo código de muestra para el incidente:

    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='teléfono'; inc.urgency=this.getParameter('IncUrgency'); inc.impact=this.getParameter('Impacto'); inc.short_description='Llamada recibida de '+ this.getParameter('valor'); sysidlist.incsysid=inc.Insert(); } } var grInt = new GlideRecordSecure('interacción'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'teléfono'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); sysidlist.sysid=sysid; return JSON.stringify(sysidlist);//sysid; },

Un cambio de método en las páginas de la interfaz de usuario
  1. Vaya al navegador de filtros y busque páginas de interfaz de usuario.

    Seleccione la opción Páginas de interfaz de usuario en Interfaz de usuario del sistema.

    Búsqueda del navegador de filtros de instancias de desarrollador de ServiceNow para "Página de interfaz de usuario"

  2. Filtre las páginas de la interfaz de usuario con nombre y busque agentdesktop.

    Filtro de nombre de páginas de interfaz de usuario de instancia de desarrollador de ServiceNow para buscar 'agentdesktop'

  3. Cambie el Pantalla emergente En el campo de script.

    Página de la interfaz de usuario de la instancia de desarrollador de ServiceNow: página de detalles de agentdesktop.

    Función actual:

    función de ventana emergente screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('campo', 'teléfono'); gaout.addParam('valor', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entidad: 'interacción', consulta: 'sys_id='+sysid }); }

    Ejemplo de código para el incidente:

    función de pantalla emergente 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('campo', 'teléfono'); gaout.addParam('valor', callerani); gaout.addParam('IncUrgencia', IncUrgencia); gaout.addParam('Impacto', Impacto); 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 la información del autor de la llamada existe en CRM y no hay ningún incidente nuevo o en curso, la aplicación abre un nuevo incidente

Ejemplo de ServiceNow de un incidente.

Ejemplo de interacción de ServiceNow.

Cambiar el código en ServiceNow

Agregar nuevas columnas a la carpeta Actividad IMP de WebexCC mesa

Abra el Actividad IMP de WebexCC mesa

Instancia de desarrollador de ServiceNow WebexCC Activity TransformMap.

Página de detalles de WebexCC Activity TransformMap de instancia de desarrollador de ServiceNow.

Agregar una nueva columna - InteractionsNumber

Instancia de desarrollador de ServiceNow Nueva columna de WebexCC Activity TransformMap, InteractionNumber.

Instancia de desarrollador de ServiceNow Página de detalles de WebexCC Activity TransformMap que muestra la nueva columna 'interactionnumber' agregada.

Agregar una nueva columna: IncidentNumber

Página de detalles de WebexCC Activity TransformMap de instancia de desarrollador de ServiceNow que muestra cómo agregar una nueva columna 'incidentnumber'.

Haga clic en Actualizar.

Página de detalles de WebexCC Activity TransformMap de instancia de desarrollador de ServiceNow que muestra la edición de la longitud máxima de la columna IncidentNumber.

Instancia de desarrollador de ServiceNow Página de detalles de WebexCC Activity TransformMap que muestra la nueva columna 'incidentnumber' agregada.

Agregar nuevas columnas a la carpeta Registro telefónico mesa

Abra el Registro telefónico mesa

Tabla de registro telefónico de instancia de desarrollador de ServiceNow.

Agregar una nueva columna - InteractionsNumber

Entrada de directorio de instancia de desarrollador de ServiceNow: página Nuevo registro que muestra una nueva columna para InteractionsNumber.

Tabla de registro telefónico de instancia de desarrollador de ServiceNow con la columna InteractionsNumber agregada.

Agregar una nueva columna: IncidentNumber

Entrada de directorio de instancia de desarrollador de ServiceNow: página Nuevo registro que muestra una nueva columna para IncidentNumber.

Tabla de registro telefónico de instancia de desarrollador de ServiceNow con la columna IncidentNumber agregada.

Mapa de transformación de actividad de WebexCC

Abrir Transformar mapa Desde el navegador de filtros

Búsqueda del navegador de filtros de instancias de desarrollador de ServiceNow para 'transformar mapa'

Instancia de desarrollador de ServiceNow Table Transform Maps que muestra WebexCC Activity TransformMap en los resultados.

Haga clic en TransformMap de actividad de WebexCC

Instancia de desarrollador de ServiceNow WebexCC Activity TransformMap.

Agregar nuevo - para Mapa de números de interacción

TransformMap de actividad de WebexCC de instancia de desarrollador de ServiceNow con 'InteractionNumber' introducido en el 'campo de destino'

Instancia de desarrollador de ServiceNow WebexCC Activity TransformMap con 'InteractionNumber' agregado.

Agregar nuevo - para Mapa de números de incidentes

TransformMap de actividad de WebexCC de instancia de desarrollador de ServiceNow con 'IncidentNumber' introducido en el 'campo de destino'

Haga clic en Update (Actualizar).

Instancia de desarrollador de ServiceNow WebexCC Activity TransformMap con 'IncidentNumber' agregado.

Los cambios en el script incluyen

  1. Vaya al navegador de filtros y busque "script includes".

    Seleccione Script Includes (El script incluye ) en IU del sistema.

    Navegador de filtros de instancias para desarrolladores de ServiceNow con búsqueda de 'script includes'

  2. Filtrar el nombre con propUtils.

    Instancia de desarrollador de ServiceNow Script Includes with Name filter aplicado a la búsqueda y 'propUtils' introducido en el campo de búsqueda.

  3. Cambiar el método setWebexcctable.

    Instancia de desarrollador de ServiceNow Incluye script - página propUtils

    Nuevo código de ejemplo para Incidente:

    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']; suprímase 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(); } devolver sys_id; },

Cambios de método en las páginas de interfaz de usuario

  1. Vaya al navegador de filtros y busque Páginas de interfaz de usuario

    Seleccione la opción Páginas de interfaz de usuario en IU del sistema.

    Navegador de filtro de instancias de desarrollador de ServiceNow con búsqueda de 'página Ui'

  2. Filtre las páginas de interfaz de usuario con nombre y busque agentdesktop .

    Instancia de desarrollador de ServiceNow Páginas de interfaz de usuario con filtro de nombre aplicado a la búsqueda.

  3. Cambie el nowActividades y screenpop Función en el script.

    Página de interfaz de usuario de instancia de desarrollador de ServiceNow: agentdesktop.

    Función actual:

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

    Código de ejemplo para el incidente:

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

Resultados después de la actualización

Página de registros telefónicos de la instancia de desarrollador de ServiceNow.

Las siguientes personalizaciones se aplican a las versiones 1.0.5 y anteriores. Para las personalizaciones de las versiones más recientes 1.0.7 y superiores, siga los pasos anteriores.

Personalización # 1 - Agregar reglas de negocio personalizadas para casos de uso de flujo de llamadas

Crear un nuevo registro de incidentes para cada llamada

Para cada nueva llamada al conector de WebexCC CRM en ServiceNow, cree un Nuevo registro de incidentes.

  1. Buscar reglas de negocio en el navegador de filtros

    ServiceNow developer instance Business Rules page header.
  2. Haga clic en New (Nuevo).

    ServiceNow developer instance Business Rule – New Record.

    Código de ejemplo como referencia:

    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", nombre); } 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; URL de retorno; } 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; }

    Ejemplo de configuración de la regla de negocio

    ServiceNow developer instance Business Rule – CTI Processing For Incident page as a sample configuration of the business rule.
  3. Habilitar cliente llamable

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

    El procesamiento de la integración de telefonía informática (CTI) para incidentes está marcado como Verdadero.

    ServiceNow developer instance Business Rules page showing the Client callable column with options to select ‘true’ or ‘false’
  4. Actualice la url de screenpop con la regla personalizada CTI"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.
Ejemplo

El sysparm_cti_rule=nombre donde 'nombre' es el nombre de una función debe invocarse para CTI Procesamiento en lugar de usar el script predeterminado.

Defina la función en una entrada de sys_script marcada como cliente llamable.

Si debe Insert, actualizar o eliminar cualquier GlideRecords en la función, llame a una función independiente que no sea invocable por cliente para realizar las actualizaciones.

Para que una secuencia de comandos se pueda llamar al cliente, debe activar la casilla de verificación Llamable al cliente en el formulario que aparece cuando se muestra la entrada de sys_script.

La casilla de verificación al que se puede llamar al cliente no aparece de forma predeterminada. Para ver, debe modificar los campos que se muestran en el formulario utilizando el icono de engranaje y el mecanismo de cubo de granizado.

Referencias

Personalización # 2 - Agregar variable CAD en la tabla de actividades Webex Contact Center

Descripción general

En este artículo se detalla el proceso para agregar una columna adicional a la tabla ServiceNow, webexcc_activity que se crea tras la instalación del conector de CRM Webex CC para ServiceNow.

De forma predeterminada, la tabla contiene campos y valores del sistema listos para usar.

Potencialmente, puede crear más variables específicas de la empresa (variables CAD) dentro del diseñador de flujo de WebexCC y agregar esas variables CAD dentro del registro de actividad de llamadas ServiceNowPOST y conservar esto en los datos de la tabla de actividad de llamadasPOST.

  • Esta es solo documentación de referencia, y muestra cómo hacerlo para una variable CAD de muestra llamada Nombre del cliente que almacena el nombre del cliente dentro del IVR y lo publica en ServiceNow.

  • Los desarrolladores de partner+customer ServiceNow configurarán y administrarán esta configuración, ya que es una personalización del conector existente.

  • Cisco solo proporcionará las técnicas sobre cómo personalizar y extender el conector.

  • A partir de este artículo, el equipo Cisco ha validado el soporte para la adición de variables CAD al Registro de actividad y la Tabla de actividad utilizando la técnica que se describe a continuación.

Agregar columna a la actividad de WebexCC
  1. Edita la tabla en la versión para desarrolladores de ServiceNow.

    ServiceNow developer instance Table – WebexCC Activity page.
  2. Ve al estudio > Webex Contact Center.

    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. Seleccione la tabla de actividad de WebexCC.

    App Engine Studio WebexCC Activity table.
  4. Por ejemplo, NombreDeCliente.

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

    App Engine Studio WebexCC Activity table screen.

  5. Seleccione Diseño de lista para la actividad de WebexCC.

    App Engine Studio WebexCC Activity table list layout showing ‘CustomerName’ highlighted in the ‘Selected’ column.
Crear un nuevo script incluye

Este paso no es necesario si está utilizando el conjunto de actualizaciones XML - Solo se requiere agregar una línea "webexcc.u_customername=actInfo.CustomerName" a 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.

Script de ejemplo

Vea la línea con:webexcc.u_customername=actInfo.CustomerName; con un comentario de apoyo.

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; // Esta línea se agrega - para capturarla en el registro de actividad webexcc. u_customername=actInfo.CustomerName; sys_id=webexcc.Insert(); Actividades en el registro de incidentes; 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(); } } } devolver sys_id; }, tipo: 'propUtils2' });
Editar la página de interfaz de usuario con un nuevo nombre de scriptApp Engine Studio agentdesktop UI page with new script name.

Crear una variable CAD en el diseñador de FlowWebex Contact Center flow designer with Add Flow Variable popup showing adding a CustomerName variable.

Agregar la variable CAD al diseño del escritorioWebex Contact Center CAD variable to the desktop layout script with ‘CustomerName:CustomerName’ highlighted.

Capturas de pantalla de demostración

Vea la variable CAD recién agregada en la tabla Actividad de WebexCC.

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

ServiceNow developer instance WebexCC Activities screen.