You are viewing the Spanish (Mexico) site, but your language preference is set to English. Switch to English site →

Menu

Agregar datos adicionales a TaskRouter

Insight ya cuenta con una integración básica con los datos de tareas subyacentes, pero puedes optar por proporcionar datos adicionales a través de TaskRouter para mejorar los informes de Flex Insights.

Al cambiar tu implementación de Flex Insights, siempre debes usar una cuenta de Twilio independiente para realizar pruebas. Después de confirmar que el comportamiento sea el esperado, puedes implementar los cambios en tu cuenta de producción. Recomendamos encarecidamente realizar pruebas exhaustivas en entornos que no sean de producción debido al impacto que los datos inesperados pueden tener en los informes.

Flex Insights mantiene los datos de entrada en su forma literal como una copia de seguridad. Para responder cualquier solicitud de corrección o modificación de los datos agregados mediante programación es necesaria la participación de los equipos de ingeniería de Twilio. Dichas solicitudes se priorizan caso por caso. Las solicitudes se pueden rechazar en función del esfuerzo estimado para implementarlas y del impacto que tengan.

Mejorar los datos de conversación

Flex Insights extrae los datos directamente de los atributos de TaskRouter. Estos atributos extraídos funcionan sin que sea necesaria ninguna implementación adicional por tu parte. Sin embargo, puedes proporcionar información adicional a Insights o anular los valores predeterminados extraídos de TaskRouter.

Insights extrae atributos de los siguientes eventos:

  • reservation.created
  • reservation.rejected
  • reservation.timeout
  • reservation.canceled
  • reservation.rescinded
  • reservation.completed

El cambio de los atributos de la tarea durante el ciclo de vida de la tarea no afectará los datos de Flex Insights. Los atributos de tarea que se establecen cuando se completa o cancela la tarea se pasan a Flex Insights. Las actualizaciones posteriores de los atributos de tareas afectan a los atributos y medidas de Flex Insights.

Los enlaces multimedia (enlaces a grabaciones, por ejemplo) se pueden actualizar dos minutos después de que se haya completado la tarea. Después de dos minutos, la tarea se elimina en TaskRouter y ya no es posible actualizar los enlaces multimedia. Obtén más información sobre cómo agregar atributos de tarea mediante la API de TaskRouter.

Tareas completadas y canceladas de Twilio

Al cancelar o completar una tarea a través de la API TaskRouter de Twilio, puedes indicar la razón por la que la tarea se completó o canceló. Esto te permite segmentar y filtrar las conversaciones por sus resultados y las razones por las que se canceló o completó una conversación. Obtén más información sobre cómo actualizar y cerrar tareas.

Agregar enlaces a grabaciones

Puedes agregar automáticamente enlaces a grabaciones de llamadas a los atributos de una tarea. Esto permite a los usuarios escuchar llamadas en el reproductor de Insights y permite a Twilio realizar análisis de voz en esas grabaciones.

Para habilitar la adición automática de una URL de grabación en los atributos de tarea, dirígete a Twilio Console > Flex > Settings (Consola de Twilio > Flex > Configuración >) y activa la opción Call Recording (Grabación de llamadas).

Call Recordings Setting

Si decides grabar llamadas de voz o videollamadas, deberás cumplir ciertas leyes y normativas, incluidas las relativas a la obtención del consentimiento para grabar (como la Ley de Invasión de la Privacidad de California y leyes similares en otras jurisdicciones). Puedes encontrar información adicional sobre las implicaciones legales de la grabación de llamadas aquí.

La opción de grabación de llamadas de la consola de Twilio utiliza el recurso de creación de una grabación de la API REST de Twilio en la actividad en segundo plano. Graba la tarea o conferencia completa.

Si deseas grabar solo una parte de la llamada, utiliza la lógica personalizada para la grabación. Para esto es necesario actualizar el mismo punto final de la API. Recomendamos desactivar la opción Call Recording (Grabación de llamadas) en la consola de Twilio. En este caso, para adjuntar una grabación a una tarea, debes agregar el objeto conversations al atributo de tarea. A continuación, asigna una clave segment_link al objeto conversations con un valor que contenga la URL de la grabación relacionada.

"conversations": {
    "segment_link": "https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Recordings/REXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}

Puedes enviar segment_link después de completar una tarea a través de una actualización de tareas una vez que Twilio proporcione el enlace a la grabación. Sin embargo, existe un límite de dos minutos después de la finalización de la tarea.

El enlace a la grabación de audio debe ser de acceso público o incluir la información de autorización en la URL del enlace, ya sea en la ruta o en la consulta de la URL.

Vincular tareas a una conversación

En Insights, una conversación abarca la gestión de un cliente.

La conversación se divide en segmentos de diferentes tipos, por ejemplo, 'Conversation' o 'Queue' (consulta el artículo sobre la estructura de la conversación para obtener más información). Cuando cambia el agente, canal de comunicación o cola, comienza un nuevo segmento. Esto suele ocurrir cuando los agentes transfieren clientes a otros departamentos o agentes.

Una conversación puede constar de varios segmentos y, por lo tanto, es común que contenga varias tareas de TaskRouter.

Para vincular tareas a una sola conversación, agrega el objeto conversations a los atributos de la tarea. A continuación, coloca la propiedad conversation_id en el objeto conversations con el mismo valor para todas las tareas relacionadas con la conversación. Recomendamos utilizar el SID de la primera tarea como conversation_id. No es necesario establecer conversation_id en la primera tarea.

"conversations": {
    "conversation_id": "WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}

Puedes proporcionar detalles adicionales sobre conversaciones individuales usando la propiedad task_attributes de Twilio. Los atributos de tarea personalizados te ayudan a crear una imagen más completa de lo que ocurre en el contact center.

Agregar atributos y medidas personalizados

Puedes configurar hasta diez medidas de conversación personalizadas (valores numéricos) y hasta diez atributos de conversación personalizados (valores de texto) para mantener los datos de los campos personalizados junto a las conversaciones. En el siguiente ejemplo de código, se muestran atributos de tarea que se pueden agregar a las tareas mediante la API TaskRouter de Twilio. Los atributos de tarea desconocidos se omiten de forma silenciosa.

Recomendamos utilizar etiquetas para los atributos personalizados numerados si almacenas identificadores o valores de cardinalidad alta similares en los atributos personalizados. Los valores de cardinalidad alta son valores que muy a menudo son únicos en una conversación, cliente o agente determinado.

Todos los atributos personalizados son opcionales. Cuantos más detalles proporciones, más detalles brindarás para los análisis.

{
  "conversations" : {
    "segment_link" : "https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Recordings/REXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "abandoned" : "No",
    "abandoned_phase" : null,
    "activity" : "On a Break",
    "campaign" : "Pension Insurance 2",
    "case" : "Retention #24567",
    "channel" : "Call",
    "content" : "bonus retention",
    "conversation_id" : "WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "conversation_attribute_1" : "Attribute Value 1",
    "conversation_attribute_2" : "Attribute Value 2",
    "conversation_attribute_3" : "Attribute Value 3",
    "conversation_attribute_4" : "Attribute Value 4",
    "conversation_attribute_5" : "Attribute Value 5",
    "conversation_attribute_6" : "Attribute Value 6",
    "conversation_attribute_7" : "Attribute Value 7",
    "conversation_attribute_8" : "Attribute Value 8",
    "conversation_attribute_9" : "Attribute Value 9",
    "conversation_attribute_10" : "Attribute Value 10",
    "conversation_attribute_1" : "Label 1",
    "conversation_label_2" : "Label 2",
    "conversation_label_3" : "Label 3",
    "conversation_label_4" : "Label 4",
    "conversation_label_5" : "Label 5",
    "conversation_label_6" : "Label 6",
    "conversation_label_7" : "Label 7",
    "conversation_label_8" : "Label 8",
    "conversation_label_9" : "Label 9",
    "conversation_label_10" : "Label 10",
    "destination": "External Queue",
    "direction" : "Outbound",
    "external_contact" : "+18001234567",
    "followed_by" : "External Transfer",
    "handling_department_id" : "1",
    "handling_department_name" : "Department 1",
    "handling_department_name_in_hierarchy" : "Company ▸ Department 1",
    "handling_team_id" : "2",
    "handling_team_name" : "Sales 2",
    "handling_team_name_in_hierarchy" : "London ▸ Sales ▸ Sales 2",
    "hang_up_by" : "Customer",
    "in_business_hours" : "Yes",
    "initiated_by" : "Customer",
    "initiative" : "Leader in Insurance",
    "ivr_path" : "1 ▸ 2",
    "language" : "English",
    "order" : 1,
    "outcome" : "Retention - Success",
    "preceded_by" : "Warm Transfer",
    "productive" : null,
    "queue" : "Outbound Dialer - England",
    "service_level" : "OK",
    "source": "Waiting Room",
    "virtual" : "No",
    "workflow" : "Outbound UK",
    "activity_time" : null,
    "average_response_time": 13,
    "conversation_measure_1" : 101,
    "conversation_measure_2" : 102,
    "conversation_measure_3" : 103,
    "conversation_measure_4" : 104,
    "conversation_measure_5" : 105,
    "conversation_measure_6" : 106,
    "conversation_measure_7" : 107,
    "conversation_measure_8" : 108,
    "conversation_measure_9" : 109,
    "conversation_measure_10" : 110,
    "first_response_time": 30,
    "focus_time": 20,
    "hold_time" : 0,
    "ivr_time" : 0
  },

  "customers" : {
    "name" : "John Doe",
    "customer_link" : null,
    "customer_attribute_1" : "Attribute Value 1",
    "conversation_attribute_2" : "Attribute Value 2",
    "customer_attribute_3" : "Attribute Value 3",
    "customer_label_1" : "Label 1",
    "customer_label_2" : "Label 2",
    "customer_label_3" : "Label 3",
    "acquisition_date" : null,
    "category" : "VIP",
    "customer_manager" : "Financial Partners Corp.",
    "email" : "john.doe@gmail.com",
    "gender" : "Male",
    "geo_location":"-22.5743922;17.0790688",
    "market_segment" : "Pensioners",
    "organization" : "Prosperity Inc.",
    "phone" : "+44xxxxxxxxx",
    "year_of_birth" : "1947",
    "zip" : "ZC000000",
    "acquisition_cost" : 150,
    "business_value" : 7500
  }
}

Para obtener más información sobre los atributos de tareas individuales, consulta nuestra documentación sobre conversaciones y conjuntos de datos de clientes.

Al pasar valores de atributos de conversión a través de los atributos de tarea, evita utilizar valores de cardinalidad alta. Los valores de cardinalidad alta son valores diferentes para cada conversación o para casi cada cliente. Normalmente, los identificadores son atributos de cardinalidad alta. El uso de estos valores de atributo puede enlentecer las cargas en los informes históricos. Esto podría impedirte cargar datos cada 15 minutos o, incluso, requerir una retención de datos más corta.

Los valores de atributo pueden tener un máximo de 128 caracteres. En el caso de los valores superiores a 128 caracteres, solo se cargan los primeros 128 caracteres en los informes históricos.

Todas las fechas y horas deben estar en el rango del año 1901 al 2049 (ambos inclusive).

Si no se proporciona un team_id, se utiliza el SID de la cola como identificador único. El atributo team_id es obligatorio para mostrar team_name.

El atributo department_id es obligatorio para mostrar department_name.

Mejorar los datos del agente

Puedes proporcionar detalles adicionales sobre los datos del agente mediante atributos de trabajador personalizables. Estos datos mejoran el conjunto de datos de los agentes en el modelo de datos.

Ten en cuenta que el término Worker (trabajador) de TaskRouter se convierte en un atributo de agente más descriptivo en Insights. Para obtener más información acerca de la asignación de puntos de datos, revisa Datos de TaskRouter en Flex Insights o consulta el Diccionario de Insights.

En el siguiente ejemplo de código, se muestra cómo rellenar los atributos Worker (trabajador) mediante la consola o API de Twilio. Los atributos desconocidos del agente se omiten de forma silenciosa. Puedes utilizar tus propios atributos junto con los que admite Insights.

{
	"agent_id": "Custom Agent ID 123",
	"agent_attribute_1": "Attribute 1",
	"agent_attribute_2": "Attribute 2",
	"agent_attribute_3": "Attribute 3",
	"agent_label_1": "Label 1",
	"agent_label_2": "Label 2",
	"agent_label_3": "Label 3",
	"full_name": "Mary Smith",
	"department_id": "1",
	"department_name": "Sales",
	"department_name_in_hierarchy": "London ▸ Sales",
	"email": "mary.smith@company.com",
	"location": "London",
	"manager": "Adam Shepherd",
	"phone": "+15555555555",
	"role": "Agent - Level 2",
	"state": "Active",
	"team_id": "2",
	"team_name": "Sales 2",
	"team_name_in_hierarchy": "London ▸ Sales ▸ Sales 2"
}

Opción 1: Configura los agentes a través de la API de TaskRouter

Puedes utilizar la API de Twilio TaskRouter para establecer atributos de trabajador mediante el envío de una solicitud POST por todos los trabajadores que desees mejorar con dichos datos. Este es el método recomendado, ya que se puede automatizar e integrar correctamente en el resto de tus sistemas.

POST /v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}

Opción 2: Configura los agentes a través de la consola de Twilio

Puedes configurar los detalles del agente de forma manual a través de la consola de Twilio.

No se recomienda utilizar este método en una implementación de producción. La actualización manual de cientos e incluso miles de agentes es propensa a errores. Este método es útil para evaluar con rapidez si los atributos de trabajador funcionan correctamente.

Para editar los atributos de trabajador, realiza las siguientes acciones:

  • Navega hasta los espacios de trabajo de la consola de Twilio.
    your-workspace.png
  • Haz clic en el espacio de trabajo que incluye los agentes que deseas configurar.
  • Haz clic en Workers (Trabajadores) en la barra de navegación izquierda.
    workers-nav.png
  • Haz clic en el agente cuyos atributos deseas actualizar.
    worker.png
  • Edita los atributos con las propiedades que desees proporcionar.
    update-worker.png
  • Haz clic en Save (Guardar).

¡Felicitaciones! En breve se mostrarán más detalles sobre tus agentes en Flex Insights. Ten en cuenta que debes esperar hasta que el siguiente conjunto de datos se cargue en Insights (una vez por hora de forma predeterminada).

Mejorar los datos del cliente

En el caso de los clientes que crean flujos de trabajo que cumplen con la Ley HIPAA, Twilio suprimirá cualquier atributo de TaskRouter que pueda contener PII (según la definición del campo Attribute [Atributo]) para que no se incluya en los informes históricos de Flex Insights. Para obtener más información sobre la Ley HIPAA en Flex Insights, consulta nuestra documentación detallada.

Flex Insights hace referencia a cada conversación con un cliente con un número de teléfono u otra información de contacto. Puedes establecer atributos de tarea adicionales para proporcionar detalles sobre el cliente.

Puedes utilizar datos adicionales del cliente para segmentar y filtrar por datos demográficos en Flex Insights:

"customers" : {
    "name" : "John Doe",
    "customer_link" : "https://crm.company.com/customer/123",
    "customer_attribute_1": "Attribute 1",
    "customer_attribute_2": "Attribute 2",
    "customer_attribute_3": "Attribute 3",
    "customer_label_1": "Label 1",
    "customer_label_2": "Label 2",
    "customer_label_3": "Label 3",
    "category" : "VIP",
    "customer_manager" : "Financial Partners Corp.",
    "email" : "john.doe@gmail.com",
    "external_id": "YourIdToLinkCustomers",
    "gender" : "Male",
    "market_segment" : "Pensioners",
    "organization" : "Prosperity Inc.",
    "phone" : "+44xxxxxxxxx",
    "year_of_birth" : "1947",
    "zip" : "ZC000000",
    "acquisition_cost" : 150,
    "business_value" : 7500
  }

Vincular las comunicaciones comunes a un único cliente

La vinculación de todas las comunicaciones relacionadas con el mismo cliente te permite utilizar métricas para segmentar informes por clientes y ver los recorridos de estos a través de los canales en los informes históricos.

Flex Insights vincula las conversaciones en función de los atributos de tarea. Flex Insights utiliza los siguientes atributos para vincular las conversaciones, en orden de prioridad:

  • Atributo del cliente customers.external_id
  • Atributo del cliente customers.phone
  • Atributo del cliente customers.email
  • Atributos de tarea predeterminados de TaskRouter from y to (según la dirección)
  • Atributo de conversación conversations.conversation_id: se utiliza como alternativa de respaldo. Esto lleva a crear un nuevo cliente por cada conversación.

Insights utiliza estas propiedades para generar un ID de cliente, lo que ofrece cierta flexibilidad en la forma de vincular las comunicaciones a un único cliente.

Vincular comunicaciones con un ID externo

El atributo external_id del cliente representa un ID tal y como se define en la lógica de tu propia aplicación. Es la forma más limpia de vincular todas las conversaciones relacionadas con un único cliente en una sola unidad, ya que representa la definición única de la organización de la identidad del cliente. Todas las conversaciones (y, por tanto, los segmentos) que tengan el mismo valor en el atributo external_id se vincularán al mismo cliente en el conjunto de datos Customers. También puedes utilizar el atributo external_id para conectar conversaciones de clientes a través de diferentes canales (p. ej., conectar SMS, chat, correo electrónico y conversaciones de voz mediante un ID externo).

Debes proporcionar un atributo external_id antes de que se complete el primer segmento para poder utilizarlo con el fin de conectar todas las conversaciones. De lo contrario, Flex Insights utilizará el valor del siguiente atributo de tarea disponible para generar el ID del cliente.

Vincular conversaciones que carecen de un ID externo

En algunos casos, puede que la conversación no tenga un ID externo. Por ejemplo:

  • Las conversaciones creadas antes de que Flex Insights introdujera la compatibilidad con external_id
  • Las conversaciones en las que no pudiste proporcionar un external_id antes de que se completara el primer segmento

Para conectar nuevas conversaciones a estas conversaciones existentes que carecen de una propiedad external_id, establece un external_id en uno de los siguientes elementos:

  • Un número de teléfono
  • Una dirección de correo electrónico
  • Un conversation_id de una conversación que no tiene establecido un external_id.

Flex Insights utilizará este valor para generar un ID de cliente que coincida con las conversaciones anteriores.

Por ejemplo, supongamos que un agente había estado anteriormente en una llamada telefónica con un cliente que tenía el número de teléfono +1-555-123-4567. No había ningún parámetro external_id, por lo que Insights utilizó el número de teléfono del cliente como valor de respaldo alternativo para generar el ID del cliente. Una conversación posterior se lleva a cabo por correo electrónico y conoces el número de teléfono del cliente, por lo que proporcionas el siguiente external_id en los atributos de la tarea:

"customers" : {
    "external_id": "+15551234567"
}

Insight utilizará el external_id para generar el ID del cliente que, por supuesto, coincide con el ID del cliente de la llamada telefónica. Dado que los ID de cliente coinciden, Flex Insights vinculará las conversaciones.

Próximos pasos

Calificar esta página:

¿Necesitas ayuda?

Todos la necesitamos a veces; la programación es difícil. Obtén ayuda ahora de nuestro equipo de soporte, o recurre a la sabiduría de la multitud visitando Stack Overflow Collective de Twilio o navegando por la etiqueta de Twilio en Stack Overflow.

Gracias por tus comentarios.

Selecciona los motivos de tus comentarios. La información adicional que nos brindas nos ayuda a mejorar nuestra documentación:

Enviando tus comentarios…
🎉 Gracias por tus comentarios.
Se produjo un error. Inténtalo de nuevo.

Gracias por tus comentarios.

thanks-feedback-gif