Hoy en día es bien conocido el impacto de la digitalización en prácticamente todos los ámbitos, pero especialmente en la comunicación entre las empresas y los clientes. Un ejemplo de esto es la posibilidad de disponer un servicio de Contact Center alojado en la nube.

En este post vamos a ver las maneras de crear y gestionar nuestro propio Contact Center totalmente integrado en la nube de AWS gracias al servicio de Amazon Connect.

¿Qué es Amazon Connect?

Amazon Connect se trata de un servicio de Amazon Web Services (AWS) con fecha de lanzamiento en 2017 que nos permite disponer de un servicio de Contact Center basado en la nube.

AWS ha desarrollado Amazon Connect de forma que la creación y gestión del mismo sea sencilla, dinámica, y otorgue la mayor cantidad de características necesarias para un Contact Center, de tal modo que las empresas se beneficien de estas cualidades y obtengan un mayor rendimiento y calidad en la comunicación con sus clientes.

Amazon Connect es omnicanal, ya que ofrece la posibilidad de que los clientes se comuniquen con el Contact Center a través de diferentes canales: escrito (por ejemplo, chat) o mediante llamadas telefónicas con los agentes.

Consideraciones previas

Previamente a la creación del servicio de Amazon Connect, es importante conocer ciertos detalles y características a tener en cuenta.

Región de despliegue

Dado su lanzamiento relativamente reciente, Amazon Connect no está disponible en todas las regiones a día de hoy, aunque con el tiempo se van incorporando nuevas. Esto se debe tomar en consideración, ya que si pretendemos que toda nuestra infraestructura relacionada con el servicio Amazon Connect se encuentre en la misma región por algún requisito, deberemos asegurar en qué regiones es posible desplegarlo.

Por este motivo, pueden surgir preguntas como: ¿En qué región debo desplegar si mis agentes, por ejemplo, se localizan en España?

Bien, pues Amazon Connect también posee la herramienta “Amazon Connect Endpoint Test Utility” con la que podemos analizar, comprobar si nuestros servicios del Contact Center funcionarían correctamente y conocer detalladamente el rendimiento del que dispondríamos en las diferentes regiones. Esta utilidad comprueba principalmente los siguientes puntos:

Se puede acceder mediante esta URL.

Autenticación

La autenticación y gestión de los usuarios que existirán en nuestra instancia de Amazon Connect debe estar definida previamente a la creación del servicio. Esto es debido a que, en el proceso de creación de la instancia, se solicitará el método de autenticación de los mismos, y es una configuración no modificable una vez creada. Existen 3 métodos:

Al tratarse de una opción que no es posible cambiar posteriormente a la creación de Amazon Connect, si se desea modificar será necesario la recreación de la instancia y en caso de no disponer de la configuración persistida en código, perderemos toda la configuración realizada hasta entonces.

Creación de instancia Amazon Connect y recursos asociados

Una vez se han tomado las decisiones previas, se puede proceder con la creación del servicio de Amazon Connect. A la hora de crear la instancia y posteriores recursos de configuración, se puede elegir el método de despliegue entre las siguientes herramientas:

Es importante analizar la herramienta de despliegue y confirmar que esta dispone de los recursos necesarios para la funcionalidad que necesitamos, así como tener en consideración que la infraestructura deberá mantenerse como código.

Esto es especialmente importante en recursos como este en los cuales existen parámetros que, al no poder ser modificados una vez creados, la recreación de la instancia implicaría la pérdida de todas las configuraciones manuales aplicadas.

Gestión de Amazon Connect

Ahora que tenemos nuestro servicio creado, vamos a ver posibles opciones de configuración que encontramos cuando hacemos login en Amazon Connect.

Número de teléfono

Para poder comenzar a hacer uso de nuestro servicio de Contact Center, está claro que lo primero que deberemos de hacer es disponer de un número de teléfono al que los usuarios llamarán o escribirán mediante algún chat para ponerse en contacto con nuestros agentes.

Desde la consola de Amazon Connect tenemos la posibilidad de solicitar un nuevo número para nuestro servicio, en cambio, si ya disponemos de un número previo y pretendemos mantener este número, se puede realizar una portabilidad a Amazon Connect y seguiríamos utilizando este mismo número para nuestro Contact Center, sin ningún coste adicional por esta portabilidad por parte de AWS.

Routing

Horario operativo

También tenemos la posibilidad de configurar nuestro Contact Center para que disponga de un horario en el cual el servicio se encuentra disponible y operativo. Si no se aplica ninguna configuración personalizada, se tomará como un servicio 24/7 y todas las peticiones hacia nuestro Contact Center serán enviadas durante todas las horas del día.

Asimismo, es posible incorporar estos horarios en la personalización de los flows (que explicaremos más adelante) para que en caso de que se reciba una petición fuera de horario, se devuelva un mensaje indicando que el servicio no se encuentra operativo y que intente contactar dentro del horario disponible.

Queues

Todos los usuarios que llaman o mandan un mensaje al Contact Center, son añadidos a la queue (cola de espera). Si en ese momento no hay ningún agente disponible, permanecerá en espera hasta que un agente se libere. El orden de atención que existe en la cola funciona con un algoritmo FIFO (First in, First Out), por orden de llegada a la misma, atendiendo primero a los que llevan más tiempo de espera.

Cuando creamos una nueva instancia de Amazon Connect, al igual que con otros recursos, el propio servicio ya trae una queue creada por defecto llamada BasicQueue con una configuración básica y funcional para poder comenzar a utilizar nuestro Contact Center de la manera más rápida posible.

También, podemos crear nuevas queues con configuraciones personalizadas como añadiendo horario operativo o un número límite de usuarios que pueden existir en la misma.

Prompts

Los prompts son los audios o mensajes de texto que los usuarios pueden llegar a recibir en una situación concreta de la llamada al Contact Center. Su principal objetivo es hacer que las llamadas sean más agradables para los usuarios en momentos donde se encuentran en cola, a la espera de que se libere un agente, o en mitad de la conversación, por ejemplo, si se debe transferir la llamada a otro agente que finalmente resolverá la petición.

Amazon Connect dispone de varios audios por defecto que podemos emplear en nuestros flows, pero además, nos ofrece las siguientes posibilidades:

Flows

Se podría considerar la parte más importante dentro de Amazon Connect, ya que es donde se va a definir la experiencia del usuario al completo.

Los flows son la lógica de las vías que van a seguir nuestros usuarios desde que establecen comunicación con nuestro Contact Center hasta que finalizan, es donde se define qué mensaje de bienvenida podemos dar a los usuarios, solicitar a los mismos qué tipo de petición poseen, y en función a su respuesta, redirigir la petición a una queue perteneciente a un departamento concreto, etc.

En este punto, el límite a la hora de definir cómo va a ser la experiencia del usuario está en nuestra imaginación, dado que con la gran cantidad de herramientas que ofrece Amazon Connect, más los servicios de AWS con los que es posible realizar integraciones, como pueden ser Amazon Lex, Amazon S3, Amazon Polly, Lambda…

Nos permiten una formidable cantidad de opciones a la hora personalizar la experiencia de nuestros usuarios.

A continuación se muestra un ejemplo gráfico de uno de los flows que viene creado por defecto, donde se realiza la comprobación del horario operativo, también hay varios prompts con textos a enviar al usuario en ciertas situaciones, se añade al usuario en unas de las queues, etc.

Ejemplo gráfico de unos de los flow

Todos estos bloques que componen el flow son totalmente personalizables y se pueden modificar en cualquier momento, por ejemplo: podemos modificar qué mensaje dar al usuario cuando el Contact Center no está en horario operativo, qué acciones realizar cuando la queue está completa, y controlar dónde llevar al usuario en cada momento en función de la situación.

En los flows también tenemos la posibilidad de añadir una parte muy importante que consiste en grabar las conversaciones, con el objetivo de mejorar la calidad del servicio, resolver problemas que puedan surgir y el cumplir con normas y requerimientos legales.

Estas conversaciones se pueden almacenar en el servicio de Amazon S3, donde es posible almacenar tanto conversaciones escritas como llamadas telefónicas, y más adelante, poder consultarlas en caso necesario.

Además, al almacenar estas conversaciones en Amazon S3, estas se encuentran encriptadas gracias al servicio de KMS, que emplea claves para encriptar todo el contenido que se encuentra en nuestro bucket S3.

Por otra parte, ¿cómo podemos gestionar la creación de estos flows? Los flows de Amazon Connect son exportables e importables. Cuando creamos un flow, tenemos la opción de exportar el mismo en un fichero que luego podemos importar en la misma instancia de Amazon Connect, o en una diferente.

Esto nos permite trabajar de una manera mucho más eficiente, teniendo nuestro flow almacenado en un lugar seguro y, a la hora de realizar cualquier cambio, pudiendo importar el mismo y añadir las modificaciones que deseemos.

Usuarios

Otra parte importante es la gestión de usuarios, ya que aquí es donde definiremos todos los usuarios que accederán a nuestro Contact Center y qué roles desempeñarán cada uno.
De igual modo que se ha comentado anteriormente, Amazon Connect nos permite realizar la gestión de usuarios mediante diferentes métodos, gestionar los usuarios asociando un Directorio de AWS Directory Service, mediante algún IdP que dispongamos (como podría tratarse de AWS Single Sign-On) o generar los usuarios directamente en Amazon Connect.

Una vez se tienen varios usuarios creados, contamos con una herramienta ya incorporada que ofrece la posibilidad de exportar en un fichero CSV estos usuarios, de manera que si perdemos la configuración de los usuarios por algún motivo, se podrían volver importar a todos en un momento.

Nota: si se van a guardar estas listas de usuarios, habrá que tratarlo en algún sistema de almacenamiento encriptado y que cumpla con normativas, como por ejemplo el RGPD.

Security profiles

A cada uno de los usuarios que creamos, deberemos asignarle el rol que desempeñará, ya que puede tratarse de un agente, de un administrador, etc.

Amazon Connect trae varios roles creados por defecto:

No obstante, se pueden crear perfiles de seguridad personalizados con las condiciones que deseemos. A la hora de la creación de un perfil, deberemos asignar los permisos correspondientes a las acciones que podrá ejecutar el mismo.

Dentro de Amazon Connect, existen algunos recursos a los que es posible añadir una serie de tags que nos permiten un mayor control, organización, aplicar filtros de búsqueda, etc. Bien, pues a nivel de permisos también es posible otorgar y controlar permisos en función a los tags que poseen los diferentes recursos, lo cual nos permite otra alternativa en la gestión de seguridad.

Routing profiles

Gracias al uso de Routing profiles podemos asignar a cada agente un perfil más detallado y concreto en función del área en que se especialice. De la misma manera, cuando creamos un Routing profile, asignaremos las queues a las que atenderán estos agentes.

Al final es la manera de asociar estos agentes que pertenecen a un área concreta con una queue, de forma que en nuestro flow, cuando por ejemplo la petición de un usuario, por su tipología, debería ir concretamente al equipo de Ventas, se le enviará a una queue que llevará asociado un grupo de agentes pertenecientes a este equipo que atenderán la petición.

Análisis y reportes

Amazon Connect ofrece una serie de datos y métricas que se pueden estudiar con el objetivo de analizar el rendimiento de nuestro Contact Center. A su vez, también se pueden generar reportes de estos datos relacionados con los recursos del servicio que hemos mencionado, detalles sobre queues, agentes, etc.

Por lo tanto, a continuación, se van a describir una serie de puntos donde se van a explicar y mostrar las capacidades que posee este servicio a la hora de la generación de documentos informativos.

Real-time metrics

Estas métricas representan ciertas estadísticas en tiempo real, o casi real (ya que actualiza la información cada 15 segundos). Dentro de estas métricas, podemos encontrar tres recursos de los que se pueden obtener datos: Queues, Agents y Routing Profiles.

En la siguiente imagen podemos apreciar datos de los tres recursos:

Datos de los tres recursos

Además, dentro de cada recurso, podemos contemplar información más detallada. Si clicamos en los tres puntos y clicamos en “View agents” o “View queues”:

Información por recurso view agents-view queues

Y de igual manera, es posible guardar la información como un “Report”, compartirla e incluso descargarla como CSV:

Recurso report

En estos reportes, existe un gran número de campos de donde podemos obtener datos.

Para comprender qué significa cada campo, encontramos su definición en la siguiente documentación oficial de AWS.

Historical metrics

En este apartado podemos observar diversas métricas de tiempos pasados sobre los tres recursos que hemos hablado anteriormente:

Métricas de tiempos pasados.

Si por ejemplo accedemos a las métricas de los agentes, nos aparecerán bastantes estadísticas pertenecientes a cada agente que tenemos configurado:

Métricas de agentes

Como se puede ver en la imagen anterior, en el “Time Range” está configurado por defecto a 1 semana, sin embargo, este valor se puede cambiar si clicamos en el engranaje que aparece a la derecha, donde podemos personalizar el reporte a generar:

Una vez dentro, es posible filtrar por:

Intervalo de tiempo
Organizar la salida mediante agrupaciones
Aplicar filtros para búsquedas más concretas
Métricas que deseamos mostrar

Una vez se tenga realizado el reporte, se pueden realizar las acciones mencionadas anteriormente (guardar, descargar como CSV, compartir) y, en este caso, además se puede realizar un Schedule, que permite planificar la generación de un informe cada cierto tiempo:

Informe de Schedule

Sobre el apartado de Historical metrics, se pueden consultar todas sus opciones posibles en la siguiente documentación.

Contact Search

Contact Search nos da la posibilidad de observar el contenido de los chats producidos en un determinado momento.

Al acceder, podemos filtrar por la fecha que queramos y nos aparecerán los chats concluidos en ese periodo de tiempo. Podremos observar todos los mensajes de las conversaciones llevadas a cabo, o incluso descargarnos la conversación en un fichero con formato JSON:

Búsqueda de contenido

Login/Logout report

En este reporte se puede observar qué días y horas los agentes se conectan y desconectan del chat. También se puede filtrar por un tiempo determinado:

Informe de chats

Saved Reports

Por último, tenemos este apartado donde podremos recuperar todos los informes que hemos generado en cada uno de los apartados que se han explicado anteriormente en este documento.

Visión de informes

Panel del Agente

En este apartado veremos un resumen de cómo es la experiencia del agente y qué es lo que se vería desde su lado.

En primer lugar, los agentes deberán hacer login en el Panel de agentes llamado Contact Control Panel que se trata de una parte dentro Amazon Connect.

Una vez acceden con su usuario, la vista que tendrán es la siguiente:

Contact Control Panel

En este panel es donde recibirán todas las peticiones de los usuarios, ya sean llamadas o chats. Para ello, un detalle importante es el estado del agente, los cuales son Available, Break y Offline, se encuentran arriba a la izquierda y se puede modificar por parte del agente en cualquier momento.

En caso de que el agente se encuentre en Available, estará disponible y se le tendrá en cuenta para recibir peticiones de los usuarios, en cambio, si se encuentra en Break u Offline, no se le asignará ninguna petición:

Estado del agente

Cuando el agente se encuentra disponible y recibe una petición, le aparecerá una ventana indicando que hay una petición entrante:

Ventana petición entrante

El agente acepta la petición y comienza la conversación entre el usuario y el propio agente, y desde la perspectiva del agente el chat se verá la siguiente forma:

La comunicación entre ambos permanecerá hasta que se complete la petición y el agente finalice el chat.

comunicación chat

Caso de uso

Personalmente, he conocido y podido indagar en el servicio de Amazon Connect ,gracias a la oportunidad que me brindó Paradigma de trabajar en un proyecto junto a Sergio David Morel Centurión, el cual consistía en desarrollar una PoC (Proof of Concept) para que ciertos usuarios pudiesen comunicarse con el Contact Center a través de un chat de WhatsApp, y así evaluar su funcionamiento y rendimiento de Amazon Connect.

La siguiente arquitectura no se encuentra al completo, ya que únicamente se va a centrar en el servicio de Amazon Connect y se van a mostrar los recursos relacionados directamente con el mismo.

El flujo del chat ocurre de la siguiente manera:

Flujo del chat
  1. Por un lado, los agentes hacen login en el Panel de Agentes a través de su usuario en AWS Single Sign-On y están disponibles para atender peticiones.
  2. Los usuarios mandan un mensaje de WhatsApp al número correspondiente.
  3. La petición se procesa en una plataforma localizada y gestionada por el cliente.
  4. Se manda la petición al entorno de AWS, primeramente al servicio de API Gateway.
  5. API Gateway pasa la petición a un Application Load Balancer.
  6. Llega al servicio de ECS (en modo Fargate), que es donde se encuentra la aplicación que manda la petición del usuario de WhatsApp a Amazon Connect.
  7. La petición es recibida por Amazon Connect y comienza toda la lógica de flows para determinar qué acciones tomar con el usuario.
  8. Un agente disponible atiende la petición y establece la comunicación con el usuario.
  9. Una vez finalizada la llamada, el agente se desconecta del chat y toda la conversación queda almacenada en un bucket de Amazon S3.
  10. Si otro usuario o el mismo usuario manda un nuevo mensaje, comenzará de nuevo todo el proceso.

Conclusión

Este servicio dispone de bastantes funcionalidades útiles para el uso habitual de un Contact Center. Además, se trata de un servicio que se encuentra en constante desarrollo, ya que actualmente se están generando nuevas releases con nuevas funciones y mejoras, al ritmo aproximado de una release por mes.

De igual modo, además de todo el trabajo que se está llevando a cabo para disponer de un servicio más completo todavía, es un producto que aporta mejoras y eficiencia a la atención al cliente de cualquier empresa y que cualquier compañía podría implementar con un bajo impacto y mínima adaptación.

Asimismo, si las pruebas son válidas para la compañía y desean integrarlo en un entorno productivo, esto se puede realizar de forma rápida y eficiente debido a la escalabilidad propia que nos ofrecen los servicios Cloud-native.

Cuéntanos qué te parece.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.

Suscríbete

Estamos comprometidos.

Tecnología, personas e impacto positivo.