Cómo usar el componente "Último agente" de wolkvox Studio
Table of Contents
Introducción
El componente “Último agente” de wolkvox Studio permite identificar al último agente que atendió a un cliente, consultando su historial de interacciones en diferentes canales, como llamadas de voz, chats y correo electrónico.
Este componente recupera información sobre el agente que realizó la última atención, el tiempo transcurrido desde esa interacción, el canal utilizado y el skill (cola de agentes) asociado. Estos datos pueden utilizarse para construir flujos que prioricen la continuidad de la atención con el mismo agente.
Por ejemplo, si un cliente vuelve a comunicarse después de haber conversado con un agente, el flujo puede identificar quién lo atendió anteriormente e intentar asignarle la nueva interacción, siempre que se encuentre disponible y cumpla las condiciones de asignación del skill.
El componente no realiza directamente la transferencia ni asigna automáticamente al agente anterior. Su función es consultar y almacenar la información de la última atención en variables que pueden utilizarse posteriormente en otros componentes del flujo.
El componente se encuentra en el grupo “Estadísticas” de wolkvox Studio y está disponible en routing points de tipo Voice Flow, Chat Flow, Interaction Flow y Agentic Engine.
¿Para qué sirve el componente “Último agente”?
Este componente permite implementar diferentes estrategias de atención y enrutamiento:
- Continuidad de atención: intentar que un cliente sea atendido nuevamente por el agente con el que tuvo su última interacción.
- Enrutamiento personalizado: utilizar el identificador del último agente como referencia para dirigir una llamada, chat o interacción.
- Continuidad entre canales: identificar al agente que atendió previamente al cliente, incluso cuando la interacción anterior ocurrió por un canal diferente al actual.
- Reducción de transferencias innecesarias: favorecer que el cliente continúe su gestión con un agente que ya conoce su solicitud.
- Optimización de la experiencia del cliente: reducir la necesidad de repetir información cuando el agente anterior está disponible para retomar la atención.
- Consulta del historial reciente: identificar el canal, el tiempo transcurrido y el skill asociado a la atención anterior para utilizarlos en las decisiones del flujo.
Configuración
Para utilizar el componente “Último agente” en un flujo de wolkvox Studio, sigue estos pasos:
- Ingresa a wolkvox Studio desde wolkvox Manager y abre el routing point en el que deseas implementar la funcionalidad. En el panel izquierdo de componentes, selecciona el grupo “Estadísticas”.
- Identifica el componente “Último agente” y arrástralo hasta el lienzo de diseño del flujo.
- Conecta el componente con los demás elementos del flujo según el proceso de atención que deseas configurar.
- Haz doble clic izquierdo sobre el componente para abrir su panel de configuración. En el panel encontrarás cuatro campos que contienen las variables utilizadas para almacenar la información de la última atención del cliente.

Variables del componente
El componente utiliza las siguientes variables:
| Campo | Variable predeterminada | Descripción |
|---|---|---|
| Último Agente | $id_last_agent |
Almacena el identificador del último agente que atendió al cliente. Puede utilizarse como agente preferido en una transferencia. Si no se encuentra una atención anterior, la variable queda vacía. |
| Minutos de la última interacción | $minuts_last_call |
Almacena los minutos correspondientes a la antigüedad de la interacción identificada. Para llamadas y chats se utilizan minutos transcurridos reales. En correos electrónicos se aplica un ajuste de 300 minutos, por lo que el resultado puede ser negativo. |
| Last Channel | $channel_last_call |
Identifica el canal de la última atención seleccionada. Puede contener valores como voice, email, whatsapp u otro canal registrado. |
| Skill Última Llamada | $skill_last_call |
Almacena el identificador del skill asociado a la atención anterior. Si la última atención identificada corresponde a un correo electrónico enviado, esta variable puede quedar vacía. |
Estas variables permiten consultar la información recuperada por el componente y utilizarla en otros elementos de wolkvox Studio.
Importante: la variable $skill_last_call es informativa y no modifica automáticamente el skill al que se dirigirá la nueva interacción. El destino debe establecerse mediante los componentes de transferencia correspondientes.
- Verifica los nombres de las variables que utilizarás posteriormente en el flujo.
- Haz clic en el botón “Guardar” para conservar la configuración del componente.
- Configura los componentes siguientes del flujo para utilizar las variables obtenidas. Por ejemplo, puedes evaluar si existe un agente anterior y utilizar su identificador en una transferencia.
- Guarda y compila el flujo para aplicar los cambios realizados.
¿Cómo funciona el componente “Último agente”?
Cuando un cliente ingresa a un flujo que contiene este componente, wolkvox realiza una búsqueda para identificar su última atención y obtener los datos del agente relacionado.
Para realizar la búsqueda, el sistema utiliza la información disponible para identificar al cliente, como su identificador, número telefónico o remitente de la interacción.
En el caso de WhatsApp, la búsqueda por teléfono utiliza los últimos siete dígitos del número. Para interacciones de correo electrónico, se utiliza el remitente de la sesión.
El funcionamiento general comprende las siguientes etapas:
- Ingreso del cliente: el cliente inicia una nueva comunicación por un canal habilitado.
- Consulta de historial: el componente busca las atenciones anteriores relacionadas con el cliente en las fuentes disponibles.
- Identificación de la última atención: compara los registros encontrados para determinar cuál corresponde a la interacción más reciente según sus reglas de búsqueda.
- Almacenamiento de información: guarda el identificador del agente, los minutos, el canal y el skill en las variables configuradas.
- Continuación del flujo: los siguientes componentes pueden utilizar estas variables para decidir cómo dirigir la atención.
- Asignación: si se configura una transferencia con agente preferido, el enrutador comprueba si dicho agente está en condiciones de recibir la interacción.
Nota: si el cliente escribe en un chat que todavía permanece abierto con un agente, la nueva respuesta continúa en esa conversación. En este caso, no se ejecuta nuevamente el flujo de entrada para buscar al último agente.
¿Qué interacciones consulta y cómo identifica la más reciente?
El componente puede comparar información de diferentes canales:
| Canal | Información consultada | Consideraciones |
|---|---|---|
| Voz | Llamadas que fueron contestadas por un agente. | Se utilizan los minutos reales transcurridos desde la atención. |
| Correo electrónico | Interacciones de correo registradas y, cuando corresponde al canal email, correos enviados por agentes. | Para comparar su antigüedad se aplica una resta de 300 minutos. Esto puede hacer que un correo tenga preferencia frente a una interacción de otro canal. |
| Chat | Conversaciones que ya fueron cerradas. | Se utiliza el tiempo real transcurrido desde el cierre del chat. |
El componente selecciona la interacción con el menor valor de minutos calculado. Si dos registros presentan el mismo valor, se aplica el siguiente orden de prioridad:
- Voz.
- Correo electrónico.
- Chat.
Importante sobre los correos electrónicos: el ajuste de 300 minutos significa que un correo puede considerarse, para efectos de comparación, cinco horas más reciente que una llamada o un chat ocurridos a la misma hora.
Por ejemplo, si un correo fue enviado hace dos horas, la variable $minuts_last_call puede presentar aproximadamente -180, debido a la resta de 300 minutos. Este resultado forma parte de la lógica de comparación y no significa que la interacción haya ocurrido en el futuro.
Consideraciones sobre el período de consulta
Aunque el componente se utiliza para identificar atenciones recientes y contempla búsquedas de 24 horas, el período efectivo depende del tipo de flujo y de la fuente de información consultada.
- En flujos de voz: las llamadas se consultan en los registros del día y los chats considerados se limitan a las últimas 24 horas.
- En flujos de chat e interacciones: la consulta puede recuperar el registro más reciente de determinadas fuentes aunque tenga una antigüedad superior a 24 horas.
Por esta razón, si necesitas establecer una condición estricta de antigüedad para devolver la atención al mismo agente, debes contemplar estas diferencias al diseñar y validar tu flujo.
¿Cómo utilizar el último agente para transferir una interacción?
Una vez que el componente recupera la información, puedes utilizar la variable $id_last_agent para intentar dirigir la nueva atención al agente anterior.
Para ello, es necesario configurar un componente de transferencia después de “Último agente”, indicando el skill de destino y utilizando el identificador obtenido como agente preferido cuando el tipo de transferencia lo permita.
El proceso funciona de la siguiente manera:
- El componente “Último agente” obtiene el identificador del agente que atendió previamente al cliente.
- El flujo continúa hasta el componente de transferencia configurado.
- La transferencia utiliza
$id_last_agentcomo referencia del agente preferido. - El enrutador verifica que el agente pertenezca al skill correspondiente y cumpla las condiciones para recibir la nueva atención.
- Si el agente cumple las condiciones, se le asigna la interacción.
- Si el agente no está disponible o no cumple los requisitos, el sistema puede asignar la interacción a otro agente disponible del mismo skill.
Importante: identificar al último agente no garantiza que la nueva interacción sea asignada a esa misma persona. La asignación depende de la disponibilidad, pertenencia al skill, capacidad de atención y reglas de distribución configuradas.
Asignación en Chat Flow
En los flujos de chat, el agente identificado puede utilizarse como preferido en la transferencia hacia un skill.
Para que el agente anterior reciba el nuevo chat, se evalúan condiciones como:
- Que el agente se encuentre en estado Ready o Talk, según las condiciones admitidas por el enrutador.
- Que pertenezca al skill configurado y cumpla las condiciones de estado dentro de este.
- Que tenga capacidad disponible para recibir un chat adicional, de acuerdo con el máximo de chats activos permitido.
- Que las reglas de prioridad de la cola permitan realizar la asignación.
Si el agente preferido no cumple las condiciones, el enrutador continúa con los demás agentes del skill, considerando su nivel y el tiempo que llevan sin recibir una conversación.
Si ningún agente está disponible, el chat permanece en cola hasta que pueda asignarse. Si la sesión deja de existir mientras espera, puede registrarse como abandonada.
Asignación en Interaction Flow
En los flujos de interacciones, como los utilizados para gestionar correos electrónicos o comentarios de post en redes sociales, también es posible utilizar al último agente como preferido para la asignación.
El enrutador comprueba que el agente:
- Se encuentre en estado Ready o Talk, de acuerdo con las condiciones admitidas para interacciones.
- Pertenezca al skill de destino y esté habilitado para recibir interacciones.
- Tenga capacidad disponible según el máximo de interacciones simultáneas permitido.
Cuando se cumplen estas condiciones, la interacción se asigna al agente y aparece en su bandeja de atención.
Si el agente preferido no está disponible, el enrutador busca otro agente del skill que cumpla las condiciones de distribución.
Si ninguno puede recibirla, la interacción permanece en espera hasta una nueva evaluación del enrutador.
Asignación en Voice Flow
En los flujos de voz, el identificador del último agente debe utilizarse explícitamente en la configuración de transferencia del IVR para intentar devolver la llamada al mismo asesor.
Ten en cuenta: el distribuidor de llamadas no utiliza automáticamente la variable $id_last_agent por el simple hecho de que exista en el flujo.
Si el IVR transfiere la llamada únicamente a un skill, la distribución se realizará según las reglas de esa cola, sin garantizar preferencia por el último agente.
Por lo tanto, para implementar continuidad de atención en voz, es necesario utilizar el identificador del agente anterior en el destino o mecanismo de transferencia correspondiente.
¿Qué ocurre si el cliente no tiene una atención anterior?
Cuando el componente no encuentra registros de una atención anterior asociada al cliente, la variable $id_last_agent queda vacía.
En este caso, el flujo puede continuar con una transferencia normal al skill configurado, sin especificar un agente preferido.
La interacción será asignada de acuerdo con las reglas habituales de distribución y disponibilidad de agentes de ese skill.
Para controlar este escenario, puedes utilizar componentes de evaluación de condiciones, como “Si Entonces” o “Case”, y determinar si la variable contiene un identificador antes de intentar una transferencia personalizada.
Ejemplos de uso del componente “Último agente”
Ejemplo 1. Continuidad de atención en WhatsApp
Un cliente se comunica por WhatsApp a las 9:00 a. m. y es atendido por la agente Ana, quien posteriormente cierra la conversación.
A las 11:00 a. m., el mismo cliente vuelve a escribir.
- La nueva conversación ingresa al flujo de chat.
- El componente “Último agente” identifica que Ana atendió al cliente anteriormente.
- La variable
$id_last_agentalmacena el identificador de Ana. - La variable
$channel_last_callidentifica el canalwhatsapp. - La variable
$minuts_last_callregistra aproximadamente 120 minutos. - El flujo transfiere el chat al skill Soporte, indicando a Ana como agente preferido.
Resultado: si Ana está disponible, pertenece al skill Soporte y tiene capacidad para recibir el chat, la conversación se le asigna. De lo contrario, puede recibirla otro agente disponible del mismo skill.
Ejemplo 2. Identificación del agente anterior entre diferentes canales
Un cliente fue atendido por Sofía mediante una llamada telefónica hace 30 minutos. Anteriormente, Diego había cerrado una conversación de chat con el mismo cliente hace cuatro horas.
Cuando el cliente vuelve a comunicarse por WhatsApp, el componente compara las atenciones anteriores.
Como la llamada atendida por Sofía es más reciente que el chat cerrado por Diego, el componente recupera el identificador de Sofía como último agente.
Resultado: el flujo puede utilizar el identificador de Sofía como agente preferido en la transferencia del nuevo chat. Para recibirlo, Sofía debe cumplir las condiciones de asignación del skill al que se está transfiriendo la conversación.
Este ejemplo demuestra que el último agente identificado no necesariamente corresponde al mismo canal por el cual el cliente está iniciando la nueva comunicación.
Ejemplo 3. Cliente que vuelve a llamar
Un cliente llama nuevamente a la empresa después de haber sido atendido por Pedro, un agente del área de Ventas, hace 40 minutos.
- La llamada ingresa al IVR configurado en wolkvox Studio.
- El componente “Último agente” consulta el historial del cliente.
- Identifica a Pedro como el último agente.
- Almacena su identificador en
$id_last_agent, el canalvoicey el skill asociado a la atención anterior. - El flujo utiliza el identificador de Pedro en el mecanismo de transferencia configurado.
Resultado: si la transferencia utiliza correctamente el identificador recuperado y Pedro cumple las condiciones de atención, puede recibir nuevamente la llamada. Si se transfiere únicamente al skill Ventas, la llamada se distribuye conforme a las reglas normales de esa cola.
Ejemplo 4. Continuidad en una interacción de correo electrónico
Carlos envía un correo electrónico a un cliente para realizar seguimiento a una solicitud.
Dos horas después, el cliente responde ese correo.
- La nueva interacción ingresa por el canal de correo electrónico.
- El componente consulta la información relacionada con las atenciones anteriores y los correos enviados.
- Identifica que Carlos fue el agente relacionado con la última atención.
- La variable
$id_last_agentalmacena el identificador de Carlos. - La variable
$channel_last_callregistraemail. - El flujo puede transferir la interacción a un skill utilizando a Carlos como agente preferido.
Resultado: si Carlos pertenece al skill configurado y tiene disponibilidad para recibir interacciones, el correo se asigna a su bandeja. Si no cumple las condiciones, puede recibirlo otro agente disponible.
En este escenario, la variable $skill_last_call puede quedar vacía si la atención recuperada corresponde a un correo enviado. Esto no impide que el flujo utilice el skill configurado en la transferencia.
Consideraciones importantes
- El componente consulta información, pero no asigna directamente la atención: para dirigir la interacción al agente anterior debes utilizar posteriormente un componente de transferencia.
- El último agente puede pertenecer a un canal diferente: el componente compara información de las fuentes disponibles, por lo que el agente identificado puede haber atendido previamente una llamada, un chat o una interacción de correo electrónico.
- La disponibilidad es indispensable: aunque el componente identifique correctamente al agente anterior, este debe cumplir las condiciones del skill para recibir una nueva atención.
-
El skill anterior no cambia automáticamente el destino: la variable
$skill_last_callpermite conocer el skill de la última atención, pero el flujo debe definir expresamente a qué skill transferir. - Los chats que permanecen abiertos mantienen su asignación: si el cliente continúa escribiendo en una conversación activa, los mensajes siguen llegando al agente que la está atendiendo, sin ejecutar nuevamente la búsqueda del último agente.
-
Los correos electrónicos utilizan una regla particular de antigüedad: el ajuste de 300 minutos puede generar valores negativos en
$minuts_last_cally modificar cuál interacción se considera más reciente. - La antigüedad del historial puede variar: no todas las fuentes de información utilizan exactamente el mismo período de búsqueda, por lo que es importante validar el comportamiento cuando se necesiten reglas estrictas de tiempo.
- Si no se encuentra un agente anterior: puedes configurar una transferencia convencional al skill correspondiente.
- Compatibilidad con wolkvox Studio web: la ejecución de la consulta está contemplada para Interaction Flow. En Chat Flow y Voice Flow, la implementación del compilador web puede avanzar al siguiente componente sin recuperar la información, dejando las variables vacías. Verifica el comportamiento en la versión de Studio que utilices antes de poner en producción un flujo que dependa de estas variables.
En resumen, el componente “Último agente” permite identificar quién atendió previamente al cliente y poner esa información a disposición del flujo. Cuando se combina con una transferencia correctamente configurada y las reglas de asignación del skill, facilita la implementación de estrategias de continuidad de atención sin impedir que otro agente disponible gestione la interacción cuando sea necesario.