Diálogo
Nombre del elemento: Diálogo (Dialog)
Categoría: Base Action
Canales a los que aplica: WhatsApp, Facebook Messenger, Microsoft Teams, Skype, Slack, X Direct, X Mentions, Facebook Mentions, Line, Telegram, Widget, Instagram Message, Canales de voz, Apple Business, LinkedIn, Genesys Cloud Audio Connector, GenesysCloudWidget.
Descripción: Funcionalidad de cuadro de diálogo configurable con nombre personalizable. Permite incluir múltiples variantes de texto dentro de una misma caja, gestionar condiciones lógicas para su activación y habilitar la presentación aleatoria de mensajes.
Funcionalidad: Automatiza la presentación de diálogos salientes desde el flujo de Lynn. Los mensajes pueden configurarse a partir de expresiones o variables del flujo. Es posible definir precondiciones lógicas para la activación de los diálogos, lo cual es ideal para personalizar la interacción según el canal de origen (Chat o Voz). La opción de presentación aleatoria permite alternar entre diversos mensajes, aportando mayor dinamismo, personalidad y un tono más humano a la interacción. Admite el uso de emojis.
Configuración de diálogo de tipo texto
En la pestaña Texto, la interfaz incluye un selector de modo de interpretación que permite definir cómo el sistema procesará el contenido ingresado en el cuadro principal.
Plano: Define que el contenido será tratado como texto literal. Bajo esta modalidad, el sistema no interpretará variables, por lo que el mensaje se mostrará exactamente como fue escrito en el cuadro de texto.
Expresión: Es la opción recomendada para la estructuración general del flujo. Permite la inclusión de entidades, variables provenientes del flujo o del canal, utilizando sintaxis en formato JavaScript (JS). Esto es ideal para generar mensajes dinámicos, personalizados y condicionales.
Tipo de elemento Regla de sintaxis Ejemplo de entrada Resultado esperado Texto Literal Debe incluirse entre comillas simples (') 'Buenos días' Buenos días Variable / Entidad Se escribe el nombre exacto de la variable existente en el sistema CLIENT_NAMELuis Daniel Expresión Compuesta Se utiliza el operador de concatenación (+) 'Buenos días ' + CLIENT_NAMEBuenos días, Luis Daniel HTML: Para interacciones a través del Web Chat de Lynn, es posible enriquecer el contenido utilizando etiquetas HTML. Esta capacidad permite estructurar mensajes complejos, insertar hipervínculos, campos de entrada (input boxes) y referencias a imágenes dinámicas.
Funcionalidad exclusiva para el canal Widget Chat.
Regla de uso: El código HTML debe ingresarse dentro de la caja de texto. Al renderizarse en el chat, el usuario verá el elemento estructurado en lugar del código fuente.
Ejemplo:
<p\> Si necesitas cotizar, puedes hacerlo pinchando \<a href=mailto:contacto@contoso.com target='_blank'\> AQUI\</a\>\</p\>Resultado:

Expresión HTML: Para casos donde se requiere combinar una entidad de Lynn con una estructura visual avanzada en el Widget Chat de Lynn, es posible utilizar una Expresión HTML. Esta opción permite integrar variables del flujo directamente dentro de etiquetas HTML.
Funcionalidad exclusiva para el canal Widget Chat.
Note
Al igual que en las expresiones de texto, se utiliza el operador de concatenación (+) para unir las etiquetas HTML (como texto literal entre comillas) con las variables o entidades definidas en el sistema.
Ejemplo: Precarga entidad:
CLIENT_NAME--> Luis Daniel'<p>' + 'Hola ' + CLIENT_NAME + ' si necesitas cotizar, puedes hacerlo pinchando <a href="mailto:contacto@contoso.com" target="_blank">AQUÍ</a></p>'Resultado:

URL Iframe: Para casos donde se requiera visualizar contenido interactivo o externo directamente dentro de la ventana de chat, se dispone de la opción URL Iframe. Esta funcionalidad permite embeber contenido de sitios web externos.
Funcionalidad exclusiva para el canal Widget Chat.
Tiene como propósito mostrar elementos como mapas, calendarios, visores de documentos o formularios externos sin que el usuario deba abandonar la interfaz del chat.
Ejemplo:
<iframe src="https://www.google.com/maps/embed?..." width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy"></iframe>Dialogo resultado:

Configuración de diálogo de tipo SSML
Esta sección permite configurar el comportamiento de la síntesis de voz (Text-to-Speech) mediante etiquetas estándar de la industria.
Configuración: Requiere que el canal de voz esté integrado con Lynn Voice Gateway (LVG).
Modos de implementación:
Mediante etiquetas SSML: Permite un control granular sobre la voz (velocidad, volumen, tono y selección de voz neuronal).
Mediante texto simple: Si no se requiere personalización avanzada, el sistema interpreta el texto directamente.
Ejemplo SSML:
\<speak version=1.0 xmlns=http://www.w3.org/2001/10/synthesis xmlns:mstts=https://www.w3.org/2001/mstts xml:lang=es-MX\> \<voice name=es-MX-DaliaNeural\> \<prosody rate=9% volume=-5.00% pitch=0%\> Hola ' + USER_NAME + ', te llamo de Contorso.S.A, te quiero entregar un mensaje importante.\</prosody\> \</voice\>\</speak\>Ejemplo expresión de texto:
'Hola ' + USER_NAME + ', te llamo de Contorso.S.A, te quiero entregar un mensaje importante.'Reproducción resultante:
El sistema reproduce el mensaje aplicando las propiedades de audio configuradas (voz específica, ritmo y volumen).
Voz Hola Luis Daniel, te llamo de Contorso.S.A, te quiero entregar un mensaje importante.
Interpretación como ASR: Este parámetro define si la acción de diálogo debe detener el flujo para capturar y procesar la entrada de voz del usuario (ASR - Automatic Speech Recognition).
- Entrada esperada: Admite una expresión o variable booleana.
- Comportamiento según el valor:
- Verdadero (True): El flujo se pausa después de reproducir el mensaje, quedando a la espera de la respuesta del usuario. Esta respuesta es procesada por el motor cognitivo de Lynn para identificar la intención del usuario y dirigir el flujo automáticamente.
- Falso (False): El flujo ignora la espera de entrada y continúa inmediatamente a la siguiente acción una vez finalizada la reproducción del diálogo.
Configuración de diálogo de tipo Audio
Esta sección permite gestionar la reproducción de archivos de audio pregrabados en lugar de utilizar síntesis de voz (TTS). Es ideal para mensajes institucionales, anuncios grabados por locutores o elementos de audio dinámicos.
Interrumpir audio:
- Sí: Permite que el usuario interrumpa la reproducción del audio (barge-in) si este emite una respuesta, lo cual es útil para agilizar la interacción.
- No: El audio se reproducirá completo hasta finalizar, ignorando cualquier entrada del usuario durante su curso.
Gestión de contenido:
- Botón (+ Audio): Permite cargar o seleccionar archivos de audio desde la biblioteca del sistema. Ver Administración de audios
- Botón (+ Entidad): Permite incluir variables o entidades como parte de la secuencia de audio. Esto es útil para reproducir mensajes dinámicos (ej. un audio de bienvenida + una entidad que contenga el nombre del cliente).
- Ordenamiento: Utiliza el icono de flechas (↕) para organizar la secuencia de los elementos agregados.
- Eliminación: Cada elemento cuenta con un icono de basurero para removerlo de la lista.
Condición
Esta pestaña define las reglas lógicas que determinan si un diálogo específico debe ejecutarse o ser omitido. El diálogo solo se mostrará si la expresión lógica configurada retorna un valor verdadero.
- Lógica de ejecución: Admite expresiones basadas en variables, entidades o identificadores del canal. Es la herramienta principal para ofrecer experiencias personalizadas según el contexto del usuario.
| Escenario | Condición | Resultado |
|---|---|---|
| Diálogo 1 | ChannelId == '1' |
"Bienvenido a nuestro canal de WhatsApp" |
| Diálogo 2 | ChannelId != '1' |
"Bienvenido a nuestro otro canal de chat" |
- Comportamiento:
Si la interacción proviene de WhatsApp (
ChannelId == '1'), el sistema ejecutará exclusivamente el Diálogo 1.Si la interacción proviene de cualquier otro canal, se ejecutará el Diálogo 2.
Important
Para garantizar la estabilidad del flujo, es fundamental verificar lo siguiente:
- Existencia de entidades: Asegúrese siempre de que las entidades utilizadas en la expresión existan en el momento de la consulta.
- Gestión de errores: Si el sistema intenta evaluar una entidad inexistente, se interpretará como un error, lo que provocará automáticamente un desborde de error (error fallback), interrumpiendo el flujo normal.
Funciones avanzadas
Gestión y Organización de Diálogos
La interfaz permite una gestión eficiente de los mensajes dentro de una misma acción, optimizando tanto el rendimiento del bot como la legibilidad del flujo.
- Botón de agregación (+): Añade un nuevo bloque de diálogo a la lista.
- Orden de ejecución: Los diálogos se reproducen en orden descendente según su posición en la lista. Cada diálogo se presenta como una burbuja de chat independiente y su ejecución está sujeta a las condiciones configuradas en su propia pestaña.
- Mejora de rendimiento: Agrupar varios diálogos en una única acción, en lugar de crear acciones individuales, reduce la latencia en la ejecución del flujo y es considerada una buena práctica para mantener los flujos organizados y eficientes.
- Botón de organización (↕): Permite reordenar la secuencia de los diálogos mediante una operación de arrastrar y soltar (drag & drop), facilitando el ajuste del flujo conversacional sin necesidad de recrear los elementos.
Funcionalidad de Diálogo Aleatorio
Al activar la casilla Es aleatorio, el sistema seleccionará al azar uno de los diálogos configurados dentro de la acción para presentarlo al usuario.
- Impacto en la experiencia: El uso de pseudo-aleatoriedad aporta dinamismo y una sensación más humana a la interacción, evitando la repetición monótona de mensajes.
- Recomendación de diseño (Libretos de correspondencia): Para mantener la coherencia comunicativa, se sugiere diseñar libretos donde todos los diálogos aleatorios dentro de una misma acción sean semánticamente compatibles. Esto asegura que, independientemente del mensaje que el sistema elija al azar, el hilo conductor de la conversación se mantenga natural y coherente.