Panorama del Flow Builder
Esta sección te da una idea general de cómo usar el Flow Builder de GoChat. Conviene abrir un flow y probar en paralelo mientras lees.
IMPORTANTE: lee toda esta página antes de empezar a construir bots.
Flow, sub-flow y step
Tipos de flow
Lo primero es crear un flow. Hoy GoChat ofrece 11 tipos:

Tipos de sub-flow
Un flow se compone de sub-flows. Hay 3 tipos:
Sub Flow
| Sub Flow | Uso |
|---|---|
| sub-flow general, varía según el tipo de flow | |
| llama o dispara tareas en segundo plano | |
| procesa tareas repetitivas |
Tipos de step
Un sub-flow se compone de steps. Hay 8 tipos:
Step
| Step | Uso |
|---|---|
| Send Message: muestra información | |
| Question: hace una pregunta y espera la respuesta | |
| Action: procesa datos y tareas con integraciones, APIs, notificaciones | |
| Condition: lleva a distintos steps según condiciones | |
| Split: lleva a distintos steps según probabilidad | |
| Send Email: envía un correo completo, no una notificación corta | |
| Goto: salta a un step o a un sub-flow sin usar una línea conectora | |
| Output: define la salida de un function flow |
Nota
Lo que cambia entre los tipos de flow es la configuración del flow, el Send Message step y el Question step. Cada canal tiene sus propios límites de tipos de mensaje. Por ejemplo, en Facebook Messenger puedes mostrar una galería de productos y en SMS no.
Versión publicada y versión borrador
En GoChat cada flow tiene una versión publicada y una versión borrador.
- Versión publicada
es la que usa tu bot para hablar con los clientes. - Versión borrador
cualquier cambio en los steps se guarda solo en el borrador, así editas sin afectar al bot y pruebas antes de publicar.
De la versión publicada al borrador, 1 camino:
- haz clic en Edit Flow, arriba a la izquierda o a la derecha del flow, para entrar al borrador

Nota
Tienes que entrar al borrador antes de editar un flow.
Del borrador a la versión publicada, 3 caminos:
- haz clic en Publish para guardar tu borrador como una versión publicada nueva
- descarta los cambios y vuelve a la última versión publicada
- conserva el borrador y cambia a la versión publicada (así miras la versión publicada y, al volver a editar, tu borrador sigue ahí)

Nota
Si te saliste sin querer mientras editabas, no te preocupes: el sistema guarda todos los cambios en el borrador. Al volver, entras de nuevo al borrador y está todo como lo dejaste.
Barra de navegación, barra lateral y Flow Builder
CONSEJO: conviene crear un flow primero y abrirlo en paralelo mientras lees lo que sigue (usamos un flow de Facebook como ejemplo).
Al entrar a un flow, esto es lo que ves:

Barra de navegación
Arriba está la barra de navegación. De izquierda a derecha:
| Elemento | Uso |
|---|---|
| ”Demo Account” | el workspace actual; haz clic para volver al dashboard de GoChat |
| ”gochat.hyppo.io Support” | tipo y nombre del flow; haz clic para volver a All Bots |
| ”Main Flow” | el sub-flow actual |
| ”Preview” | previsualiza el sub-flow actual desde el Start Step |
| ”Build a bot…“ | widget con el video tutorial |
| ”Joyce” | el usuario actual; haz clic para la configuración, el soporte y cerrar sesión |
Función de vista previa
La vista previa no está disponible en todos los canales. La soportan Facebook, Telegram, WhatsApp, Line y Viber. Para el resto, busca “hablar con el bot” en la documentación.
Barra lateral
A la izquierda está la barra lateral. De arriba a abajo:
| Sección | Uso |
|---|---|
| Flow Builder | acá armas los sub-flows |
| Flows | administras todos tus sub-flows |
| Analytics | análisis de los datos del bot |
| Live Chat | bandeja con todas las conversaciones, para responder como humano |
| Bot Users | administras el perfil de los usuarios: importar, exportar, buscar o eliminar |
| Automation | administras keywords, sequences, triggers y comentarios |
| Contents | administras custom fields, tags, OTN, personas, menús de usuario y customer feedback |
| Tools | administras error logs, testers del borrador, admins del bot, widgets, múltiples idiomas y atajos, Facebook Ads e inbound webhooks |
| Broadcasts | envías y administras broadcasts |
| Settings | (algunas solo para el owner) límite de usuarios del bot, texto de saludo de Facebook, personalización del widget, ice breakers y sitios autorizados |
Nota
Las funciones de Automation, Contents, Tools y Settings cambian de canal a canal. En Settings, por lo general el owner ve todo, como el límite de usuarios, mientras que admins y miembros ven solo una parte.
Flow Builder

Además de lo que se ve en la captura, hay un par de trucos más para usar el Flow Builder:

Estadísticas del flow
Para ver las estadísticas de los mensajes enviados, entra a un nodo y haz clic en la sección Metrics.
Tienes que estar en la versión publicada del flow para ver las estadísticas de cada nodo. Como se ve en la imagen, el mensaje #15 se envió 69 veces en los últimos 30 días a 69 usuarios únicos.

Cambiar el tema
Antes de empezar, elige el tema que más te guste con Change Theme:

Elige uno y haz clic en Apply Change.

Ocultar el minimapa o los tooltips

El minimapa sirve para moverte por el espacio de trabajo. Por ejemplo, cuando haces clic y arrastras dentro del lienzo, mueves el lienzo entero y no los elementos:

Puedes ocultarlo con la opción Hide Flow Overview.
Con los tooltips ves la descripción de cada función del Flow Builder:

El tooltip trae título, descripción, imagen, enlace a un video y enlace a la documentación. Es cómodo para quien recién empieza. Si ya conoces el sistema, puedes desactivarlos con la opción Hide Flow Tooltips.
Operaciones básicas para armar flows
Editar un step:
Haz clic en un step para editarlo. El panel de edición aparece al lado de la barra lateral.

Haz clic en el nombre del step para cambiarlo. El siguiente step lo eliges abajo del panel de edición, o arrastrando un conector desde el círculo hasta el recuadro de otro step.
Conectar steps:

Crea un step nuevo o elige uno existente como siguiente. Para arrastrar conectores, mira esto:

CONSEJO: cuando eliges un step existente como siguiente, se dibuja una línea entre los dos. Demasiadas líneas ensucian el diagrama: usa un Goto step para ordenarlo. Con un Goto defines el siguiente step sin dibujar la línea.
Seleccionar varios steps (mover a un lienzo o a un sub-flow)
Ya vimos que el builder se mueve haciendo clic y arrastrando. Para seleccionar varios steps es parecido: mantén presionada la tecla Shift y arrastra para cubrir los steps que quieras.

También puedes hacer ctrl + clic uno por uno:

El step seleccionado queda con borde verde. Con varios seleccionados, haz clic en Create New Canvas para agruparlos en un lienzo, o muévelos a un sub-flow existente. Para eliminarlos, presiona la tecla suprimir después de seleccionarlos:

Eliminar en Mac
En Mac, mantén fn y presiona Delete para eliminar steps. O usa el botón Delete Selected del panel de edición.
CONSEJO: el punto verde de inicio es la entrada de un sub-flow. No se puede mover a otro sub-flow ni eliminar, aunque lo incluyas en un grupo de steps.
Copiar y pegar steps
Con uno o varios steps seleccionados, usa Ctrl + C para copiar y Ctrl + V para pegar en:
- el mismo sub-flow
- otro sub-flow del mismo bot o flow
- otro bot o flow del mismo canal (los custom fields asociados se crean solos)
- otro canal (se quitan las funciones no soportadas)
CONSEJO: solo puedes pegar UNA vez. Para pegar de nuevo, vuelve a copiar. Es a propósito, para evitar pegados masivos que hagan explotar el flow.
Eso es todo sobre el Flow Builder. Anímate a armar tu primer flow.
Steps
Send Message step
Con tu primer flow creado, ábrelo, haz clic en Edit Flow, ten el bot a mano y arranquemos.
Tomemos Facebook como ejemplo. El resto de los flows funciona parecido; lo que más cambia es el tipo de mensaje.

Unos pocos pasos para enviar tu primer mensaje:
- haz clic en el punto verde de inicio
- en el panel de edición, elige Select Next Step
- elige el step Send Message
- haz clic en ese step
- elige el tipo de mensaje de texto
- escribe tu mensaje
- haz clic en Publish

Listo. Vamos a probarlo.

Haz clic en Preview en la barra de navegación y después en Open the flow in Messenger. Si es la primera vez que hablas con el bot, haz clic en Get Started.
Función de vista previa
La vista previa no está disponible en todos los canales. La soportan Facebook, Telegram, WhatsApp, Line y Viber. Para el resto, busca “hablar con el bot” en la documentación.

Tu bot ya funciona.
Vamos con más detalle sobre el Send Message step. Estos son los tipos de mensaje comunes a todos o a varios canales:
Enviar texto o variables
GoChat se integra con Grammarly para ayudarte a pulir la redacción.

Insertar el valor de un custom field y emojis
Donde veas ”</>” puedes insertar emojis o valores de variables en el texto.

O escribe ”{{” para abrir la lista de campos:

Enviar imagen, audio, video o archivo
Hay 4 formas:

- subirlo desde tu computadora (con límite de tamaño)
Tipo de medio
Tamaño máximo de subida
- video: 10MB
- audio: 5MB
- archivo: 5MB
- otros (por ejemplo, imágenes)
- 2MB
Usar un medio desde una URL (RECOMENDADO)
Puedes buscar imágenes online y copiar su enlace directo, aunque ese enlace puede cambiar. La alternativa es subir las fotos a tu servidor o a un servicio de terceros como imgur.com y sacar de ahí el enlace directo. Enlace directo significa que apunta a la foto en sí, no a un sitio, y termina en .jpg, .png o similar. El enlace de la imagen de arriba sirve de ejemplo.
- buscar en la galería de GIFs
GoChat trae una galería de GIFs donde puedes buscar el que necesites. - desde la Library
En la Library están todas las fotos, GIFs, audios y videos que subiste antes, así no tienes que volver a subir lo mismo.
Enviar una card
La card muestra información de forma ordenada, por ejemplo los datos de un producto. Tiene 4 elementos: imagen, título, subtítulo y botón.
CONSEJO: para que una card se muestre, necesita sí o sí un título y al menos otro elemento, sea imagen, subtítulo o botón.
Enviar un “For Each”
Este tipo de mensaje también muestra cards, pero de forma automática. Con For Each no escribes cada card a mano: se muestran todos los elementos de una variable JSON. Si no sabes qué es una variable JSON, mira Action Step - JSON Operation.

- elige primero una variable JSON
- haz clic en ”</>” o escribe ”{{” en el cuadro de texto
- elige “ITEM” para tomar un elemento de muestra de esa variable
Valor en la variable JSON:

Valor en “ITEM”:

Los datos de muestra sirven para completar rápido el campo JSON Path. Por ejemplo, como se ve en la imagen, al hacer clic en la fila “price” aparece “$.price” en el JSON Path. Eso significa que estamos mostrando el precio de cada elemento. Si no aparecen datos de muestra, puedes escribir la ruta a mano con ”$.”, que representa cada elemento del JSON, seguido de la clave del valor.
Formato de los valores
Además, para porcentajes, precios, fechas y horas, GoChat trae distintos formatos. Por ejemplo, en la imagen de arriba el precio vale “5” y, al elegir el formato “F03”, el bot lo muestra como “$5”. El valor en la variable sigue siendo el número 5, así que puedes usarlo en cálculos o comparaciones sin problemas.
Claves ocultas
Además de las claves de la variable JSON, hay 3 claves ocultas que quizá necesites:

Nombre de la clave y descripción
- INDEX: la posición del elemento, empezando en 1
- KEY: el nombre de la clave del elemento
- VALUE: el valor del elemento, o sea el elemento mismo
Ejemplo de INDEX
Cuando tienes un JSON con una lista de JSON adentro, INDEX te da el número de orden de cada elemento. Agreguemos ese número antes del nombre:

Resultado de la prueba:

Ejemplo de KEY y VALUE
Cuando tienes un JSON como el de esta imagen, en vez de uno que contiene una lista de JSON:

Esto es lo que obtienes con las tres claves:


Resultado de la prueba:

Enviar un SELECT después de un “For Each”
Cuando le agregas un botón a tu For Each, ese botón aparece en cada card. Suele usarse para poner un “Comprar” o un “Seleccionar” cuando listas productos u opciones.
¿Cómo sabe el bot qué card eligió la persona?

Al elegir el siguiente step del botón, selecciona Select:

Después eliges el siguiente step como siempre, por ejemplo un Send Message para mostrar lo elegido o un Action para procesar el dato. El elemento seleccionado queda disponible en “SELECT”:

Por ejemplo, agreguemos un Send Message y busquemos el system field “SELECT”:

- haz clic en la fila “item” para obtener la ruta “$.item”, o escríbela directamente
- en el JSON path, agrega el nombre de la clave si hace falta. Acá queremos mostrar el nombre del elemento elegido, así que sumamos “.name” al final de la ruta


Al probarlo vas a ver esto:

Enviar contenido dinámico
El contenido dinámico envía una petición a una API, a tu servidor o a uno de terceros, para traer una respuesta y mostrarla. El servidor puede responder algo distinto cada vez, así que tu bot muestra contenido dinámico a tus usuarios.
Sirve cuando la lógica del bot es compleja y depende mucho de otros servidores. Por ejemplo, si tienes tu propio algoritmo de IA para analizar las consultas y calcular la respuesta, puedes mandar la pregunta en la petición, el servidor genera la respuesta y se la devuelve a GoChat para mostrarla.
Un mensaje de respuesta puede traer varios mensajes, botones y quick replies con acciones. Incluso puedes aplicar acciones simples, como agregar un tag, directamente en el JSON de la respuesta.
- Mira Action Step - External Request para saber cómo enviar una petición a una API,
- y Response Format para el formato de los mensajes.
Enviar una ubicación
Para enviar una ubicación, búscala en un mapa y haz clic derecho para copiar la latitud y la longitud:

Escribe el nombre del lugar, pega los datos y agrega una etiqueta si hace falta. La etiqueta suma información extra, como el piso o el número de oficina.

Enviar un producto de e-commerce
Mira Ecommerce para configurar y usar el sistema de e-commerce integrado.
Facebook: enviar mensaje
Facebook permite enviar textos con hasta 3 botones y 10 quick replies.
Enviar texto con botones y quick replies

La diferencia entre botón y quick reply en Facebook Messenger:
Tipo
Uso
botón
una vez enviado, queda en la conversación para presionarlo cuando sea
quick reply
parecido al botón, pero desaparece cuando se usa
Prueba agregar botones y quick replies para ver la diferencia.
Telegram: enviar mensaje
El flow de Telegram es de los más nuevos. Funciona parecido al de Facebook, salvo por algunas funciones exclusivas de Facebook. Por ahora guíate con el flow de Facebook; el tutorial de Telegram se publica pronto.
WeChat: enviar mensaje
WeChat permite enviar textos con hasta 10 botones. Los tipos de mensaje son:

Enviar un artículo

Así se ve en el chat:

Enviar un mini programa
También puedes enviar mini programas asociados a tu cuenta oficial.

WhatsApp: enviar mensaje
Tipos de mensaje en WhatsApp:

Los botones de WhatsApp funcionan distinto que los de Facebook: en Facebook se pueden presionar varias veces, en WhatsApp solo una.
SMS: enviar mensaje
El bot de SMS solo envía texto e imágenes.

Voz: enviar mensaje
Enviar texto o audio

Puedes hacer que el bot lea el texto en un idioma determinado, o grabar tu propio audio y subirlo.
En un bot de voz puedes definir un idioma por defecto en el punto verde de inicio, o configurarlo por separado en cada send message o question step.
GoChat tiene una Mini-App llamada “VoiceMaker”, que usa una API de terceros y da mejor calidad en la conversión de texto a voz. Descárgala desde la sección de integraciones. La documentación de “VoiceMaker” está en preparación.
Google My Business: enviar mensaje
Tipos de mensaje en el flow de Google My Business:

Están todos cubiertos más arriba, en los tipos comunes a todos o a varios canales. El tipo ubicación está dentro de “Rich Media”.
Question step
Configurar quick answers
Las quick answers son cómodas porque la persona hace clic en vez de escribir. Al configurarlas:

El Answer Text es lo que ve la persona, y el Answer Value es lo que se guarda en la variable.
CONSEJO: puedes configurar quick answers en todos los canales. Ahora bien, algunos las muestran como botones, como Facebook, y otros no, como SMS. En esos casos igual las configuras, pero tienes que aclarar en el mensaje cómo se responden.
¿Cómo dar la indicación y configurar las quick answers?
En el cuadro de la pregunta escribe algo como “responde 1 para el servicio A, responde 2 para el servicio B”. Después, en las quick answers, pon “1” y “2” como Answer Text para que coincidan, y “servicio A” y “servicio B” como Answer Value para guardar la elección.
Cómo se muestran las quick answers
- Facebook: aparecen como botones
- Telegram: aparecen como botones
- WhatsApp: aparecen en Select Option
- SMS: hay que dar la indicación
- Voz: hay que dar la indicación y usar una pregunta de voz o de DTMF para el teclado
- Google: aparecen como botones
¿Cómo funciona la coincidencia en las quick answers?

Cuando lo que escribe la persona contiene alguno de los Answer Text, la quick answer coincide (sin distinguir mayúsculas). Además, el orden importa, porque el bot revisa de arriba abajo y se detiene en la primera coincidencia.



Botón para saltear
Agrega un botón para saltear si la pregunta no es obligatoria. La etiqueta de ese botón también se puede editar.
No Match
No Match es muy útil porque cada tipo de respuesta tiene su formato. Un correo, por ejemplo, tiene que ser “xxx@xx.xx”. Puedes poner algo como “El correo no es válido, inténtalo de nuevo” como mensaje de reintento y saltar a otro step después de varios intentos fallidos.
Ahora bien, el formato “xxx@xx.xx” solo descarta correos mal escritos, no correos falsos. Para verificar si un correo existe de verdad, prueba una Mini-App con una herramienta de validación de terceros.
No Input
De forma parecida, No Input redirige el flow cuando vence el tiempo de respuesta. Por defecto, una pregunta vence en 1 hora. Puedes acortarlo si lo necesitas.

Pedir imagen, audio, video, archivo o grabación
Nota: necesitas variables de texto para guardar las URL de estos 5 tipos de respuesta.
Cuando alguien sube un documento, en la variable se guarda la URL que apunta a ese documento, no el documento en sí, porque los archivos pueden ser muy pesados. Después, si quieres enviarlo en un Send Message step, elige Send Media From URL y escribe ahí la variable.

Pedir que elija una opción
Este tipo de pregunta lista un conjunto acotado de quick answers y la persona solo puede elegir entre esas. Por ejemplo, para el tipo de propiedad puedes listar casa, dúplex y departamento. Si responde otra cosa, aparece el mensaje de reintento.
Pedir fecha o fecha y hora
Ten en cuenta que
Salvo Facebook Messenger y Google My Business, el resto de los canales no tiene selector de fecha. Por eso hay que aclararle a la persona: “Escribe la fecha exactamente con este formato: YYYY-MM-DD” o “YYYY-MM-DD hh:mm:ss”. Cualquier otro formato no se reconoce.
Pedir un teléfono
La validación básica de una pregunta de teléfono es:
- solo se permiten estos 11 caracteres: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 y +
- el signo ”+” solo se admite al principio
- más de 6 caracteres
Question step en un bot de voz
CONSEJO: siempre puedes poner en el cuadro de texto de un Send Message o de un Question step una URL que apunte a un archivo mp3 (que empiece con “https://” y termine en “.mp3” o “.mav”). Así el bot reproduce el audio en vez de convertir el texto a voz.
CONSEJO: puedes poner el enlace directo en el cuadro de texto o guardarlo en una variable de texto. También puedes combinar la URL del audio con texto, pero no los pegues uno al otro, porque el sistema no reconoce la URL como audio. Mira la captura de abajo.

Bot de voz: pedir voz
La entrada de voz sirve para respuestas cortas. Cuando el bot la pide, escucha lo que dice la persona y convierte la voz a texto con un puntaje de confianza entre 0 y 1. Cuanto más cerca de 1, más confiable fue el análisis.
CONSEJO: conviene agregar un Condition step para descartar las conversiones con baja confianza. Por ejemplo, si el puntaje es menor a 0,7, pedir que lo repita.
Usa Advanced Settings para mejorar la conversión:

Elige el modelo de voz y el idioma adecuados. El modo “Numbers and Commands” mejora el reconocimiento cuando la respuesta es una serie de números. Ten en cuenta que Twilio cobra por usar ese modo. Y algo importante: dale al bot algunas pistas, palabras que puedan aparecer en la respuesta, separadas por comas y sin espacios.
Bot de voz: pedir DTMF (teclado)
DTMF es la entrada por teclado: los números del 0 al 9, el * y el #. Se usa sobre todo para armar el menú principal de un bot de voz, del estilo “presiona 1 para esto, presiona 2 para aquello”.

Number of Digits es cuántos dígitos esperas. Por ejemplo, un número de tarjeta necesita 14 o 16, y un código postal 4 o 6.
Stop Key viene configurado como ”#”, pero puedes cambiarlo. Lo necesitas cuando no sabes cuántos dígitos vas a recibir. No te olvides de mencionarlo en el cuadro de la pregunta.
CONSEJO: el tiempo de espera de “No Input” es clave en las preguntas de voz. Suele configurarse en pocos segundos, mientras que en otros canales el valor por defecto es de 1 hora.
Bot de voz: pedir una grabación
Igual que al pedir imagen, audio, video o archivo, necesitas una variable de texto para guardar la URL del archivo grabado. En la configuración avanzada están opciones como Stop Key y Max Record Duration.
Puedes acceder a la grabación por su URL o entrando a la sección Recordings:

Ahí están todas las grabaciones de preguntas y de transferencias, con un botón para reproducirlas.
Bot de voz: transferir la llamada
La transferencia se parece más a una acción que a una pregunta. Como las acciones del Action step son comunes a todos los canales, las transferencias van en el Question step.

CONSEJO: el número de transferencia tiene que estar en formato E164, por ejemplo +61412345678.
Puedes grabar la conversación después de transferirla, por ejemplo para capacitación. Esa grabación también está en la sección Recordings de la barra lateral.
Cortar llamadas
Si tus clientes tienen que volver al bot después de la conversación transferida, hay 2 formas:
- que corte primero la persona que recibió la transferencia
- que tu cliente presione la tecla asterisco (hay que habilitar la opción en la configuración avanzada)
En cualquiera de los dos casos, acuérdate de avisárselo antes de transferir.
Agregar una extensión al número
Agrega una extensión al número con el símbolo numeral, por ejemplo +61412345678#wwww1234. Cada “w” espera medio segundo.
Supongamos que tengo un bot de voz para el número +61412345678 y pongo una pregunta DTMF después del punto de inicio del flow principal. La extensión “1234” se toma como respuesta a esa pregunta. Así derivas las llamadas de forma automática.
Transferir a varios números
Puedes poner varios números en el campo Transfer To Phone Number, separados SOLO por comas. Por ejemplo: +61412345678,+61412345679#wwww1234,+61412345670
El bot llama a los 3 al mismo tiempo, la transferencia queda con quien atienda primero y los demás dejan de sonar. Tu proveedor te cobra una sola llamada, porque solo una transferencia se concreta.
Bot de voz: cobrar un pago
El cobro también se parece más a una acción que a una pregunta.


Modo PCI (Twilio)
Si usas Twilio, tienes que habilitar el modo PCI en tu cuenta para poder cobrar, tanto en modo de prueba como en real.
Busca “Voice Settings” en tu cuenta:

y haz clic en Enable:

Editar los mensajes
Todos los mensajes vienen en inglés. Puedes cambiarlos, por ejemplo para pasarlos a otro idioma. Hay 4 datos que se piden para una tarjeta:
- número de tarjeta
- fecha de vencimiento
- CVV
- código postal (si lo necesitas, habilita la opción en la configuración avanzada)
Cada dato tiene 3 mensajes configurables: el de la pregunta, el de tiempo agotado y el de dato inválido.

Conector de pago
Para conseguir el Payment Connector, que es el “Unique connector ID”, tienes que entrar a tu proveedor de telefonía y al de pagos. Con Twilio y Stripe, por ejemplo, ve a twilio.com
y sigue los pasos 1 al 4 de estas dos imágenes:


Instálalo, elige un “UNIQUE NAME” y haz clic en Connect with Stripe. Ese “UNIQUE NAME” es tu “Unique connector ID”: cópialo y pégalo en GoChat.

CONSEJO: en “MODE”, elige “test” mientras pruebas el cobro y “live” cuando estés listo para aceptar pagos reales.
Monto a cobrar
Pon un número directo, como “99.99”, o una variable numérica.
Respuesta

Necesitas una variable JSON para guardar el resultado del pago. Este es un ejemplo de respuesta, con algunos datos de la tarjeta, el código de confirmación y el resultado.
Pago fallido
La situación se maneja con la opción Payment Fail. Por ejemplo, enviar “Algo salió mal” y volver al step de pago.
Token de un solo uso
Puedes cobrar en el momento o más adelante.
- Si cobras en el momento:
pon un valor mayor que 0 en el campo del monto.
- Si quieres cobrar después:
pon “0” en el monto. Así obtienes un token para cobrar más adelante.
Nota
Hay 2 tipos de token: de un solo uso y reutilizable. Con el de un solo uso cobras una vez. Con el reutilizable puedes cobrarle a esa persona varias veces.
Si pones el monto en “0” y habilitas la opción One Time Token en la configuración avanzada, obtienes un token de un solo uso. Si no la habilitas, obtienes uno reutilizable.
Según cómo combines el monto y la opción One Time Token, el resultado cambia:
Monto
One Time Token
Qué pasa
Resultado del pago
0
Habilitado
obtienes un token de un solo uso

> 0, por ejemplo 5
Habilitado
cobras $5

0
Deshabilitado
obtienes un token reutilizable

> 0, por ejemplo 5
Deshabilitado
cobras $5

O sea: cada vez que pongas un monto mayor que 0, no importa si habilitaste One Time Token o no, le cobras a tu cliente en el momento y obtienes un código de confirmación. Con Twilio, ese código empieza con “ch_”.
En cambio, un token de un solo uso empieza con “tok_” en Twilio. Y un token reutilizable es el ID del cliente, que en Stripe empieza con “cus_”.
Cómo cobrar con un token
Mira la documentación de tu proveedor de pagos. Tomemos Stripe como ejemplo, para cobrar con un token reutilizable.

En el ejemplo se envía una petición POST a Stripe con una API key de prueba, el monto, la moneda y el token reutilizable, o sea el ID del cliente.

Al presionar el botón de prueba, esta es la respuesta si sale bien:

En la respuesta ves un id que empieza con “ch_”: ese es el código de confirmación del pago. Es decir, el cobro se hizo.
Descripción
La descripción se envía junto con los datos del pago. Por ejemplo, puedes poner “Pago de $20.52 desde el número (xxx)-xxx-xxxx” para dejar registro de qué llamada generó el cobro.
Una tarjeta para probar
Si necesitas probar, usa estos datos:
Número de tarjeta: 4242 4242 4242 4242
Vencimiento (MM/AA): 12 25 (elige una fecha futura)
Código postal: 94105
Código de seguridad CVC: 333
Action step: operaciones con variables
GoChat trae varias operaciones incorporadas para modificar variables.
Hay 6 tipos de variable en GoChat:
| Tipo | Qué guarda | Ejemplo | Operaciones |
|---|---|---|---|
| Text | letras, palabras, oraciones | Hola, GoChat. | recortar, cambiar mayúsculas, codificar, decodificar |
| Number | números | 123.45 | + - x ÷, módulo, potencia, logaritmo, raíz, redondeo |
| Boolean | ”yes” o “no” | yes | asignar |
| Date | fecha | 2021-03-30 | dar formato, sumar meses, semanas o días |
| DateTime | fecha y hora | 2021-03-30 16:52:00 | dar formato, sumar meses, semanas, días, horas o minutos |
| JSON | una serie de variables | {“name”:“jack”, “age”:“10”} | cargar, obtener, actualizar, quitar, contar, sumar, promediar, ordenar, mezclar, invertir |

Haz clic en Basic Actions dentro del Action step y ahí están Set Variable Value y Clear Variable Value.
Limpiar un custom field o un JSON
Para limpiar variables de texto, número, booleano, fecha o fecha y hora, usa la acción Clear Custom Field.
Para limpiar una variable JSON, usa la operación Remove All Items dentro de JSON Operation.
input value
La operación input value asigna un valor a una variable y funciona con cualquier tipo.
CONSEJO: en variables de texto, input value sirve para concatenar varias variables. Mira la imagen para saber dónde va el valor original y dónde el valor operado.

Fórmulas matemáticas

Con esta operación puedes calcular fórmulas directamente en el Action step, en Set Variable Value, y en el Condition step, en Value.
Operaciones y funciones soportadas:
+, -, *, e, pi, PI, abs(), min(), max(), ceil(), floor(), log(), pow(), round(), sqrt(), sin(), cos(), tan()
Ten en cuenta que
Si la fórmula es inválida, el sistema devuelve 0 a las variables numéricas y vacío a las de texto.
Operaciones con variables de texto
trim text
| Descripción | Antes | Después |
|---|---|---|
| quita los espacios antes o después del texto | ” abc" | "abc” |

sub string
| Descripción | Antes | Después |
|---|---|---|
| toma una parte del texto | ”Hi, GoChat!" | "GoChat” |

Nota
El índice empieza en 0. Cuenta cada carácter, incluidos espacios y signos de puntuación.

replace string / replace string case sensitive
| Descripción | Antes | Después |
|---|---|---|
| reemplaza parte del texto | ”Hi, GoChat!" | "Hello, GoChat!” |

Nota
Si distingue mayúsculas, tienes que escribir exactamente “Hi”, no “hi”, “HI” ni “hI”.

to lower / upper case
| Tipo | Antes | Después |
|---|---|---|
| a minúsculas | ”Hi, GoChat!" | "hi, GoChat!“ |
| a mayúsculas | ”Hi, GoChat!" | "HI, GoChat!” |

generate random text
| Descripción | Antes | Después |
|---|---|---|
| genera texto al azar | ”code: XXXX-####-xxxx" | "code: UBWT-3657-lkzb” |

Sirve para generar códigos de verificación de un solo uso o números de referencia.
url encode / decode
| Tipo | Antes | Después |
|---|---|---|
| encode | ”Hi, GoChat!" | "Hi%2C%20GoChat!“ |
| decode | ”Hi%2C%20GoChat!" | "Hi, GoChat!” |
“Hi%2C%20GoChat!”
“Hi, GoChat!”

base64 encode / decode
| Descripción | Antes | Después |
|---|---|---|
| encode | ”Hi, GoChat!" | "SGksIEdvQ2hhdCE=“ |
| decode | ”SGksIEdvQ2hhdCE=" | "Hi, GoChat!” |

to URL friendly slug
| Descripción | Antes | Después |
|---|---|---|
| reemplaza los espacios por guiones y quita el resto de los signos | ”it’s a good day" | "its-a-good-day” |

get text before/after …
| Tipo | Antes | Después |
|---|---|---|
| texto antes de otro texto | name: GoChat, city: Melbourne | name |
| texto antes de la última aparición de otro texto | name: GoChat, city: Melbourne | name: GoChat, city |
| texto después de otro texto | name: GoChat, city: Melbourne | GoChat, city: Melbourne |
| texto después de la última aparición de otro texto | name: GoChat, city: Melbourne | Melbourne |

Operaciones con variables numéricas
get text length
| Descripción | Antes | Después |
|---|---|---|
| devuelve el largo del texto | 500.59 | 6 |

generate random number
| Descripción | Antes | Después |
|---|---|---|
| genera un número al azar | n/a | 56 |

add / subtract / multiply / divide / modulus / power / natural logarithm / square root
| Descripción | Antes | Después |
|---|---|---|
| según la operación elegida | 7 | 8 |

CONSEJO
En “natural logarithm”, para calcular log2(8) pon 8 en Value y 2 en Number.
round
| Descripción | Antes | Después |
|---|---|---|
| redondea | 7.8693 | 7.87 |

floor / ceil
| Tipo | Antes | Después |
|---|---|---|
| floor | 6.55 | 6 |
| ceil | 6.55 | 7 |

Operaciones con variables DateTime
from formatted text
| Descripción | Antes | Después |
|---|---|---|
| toma el valor DateTime de un texto con formato | 00:00:00 30th Aug, 2020 | 2020-08-30 00:00:00 |

add minutes / hours / days / weeks / months
| Descripción | Antes | Después |
|---|---|---|
| suma el intervalo elegido | 2021-01-01 00:00:00 | 2021-01-01 00:01:00 |

Action step: operaciones con JSON
El JSON también es un tipo de variable. Sirve para guardar y administrar una serie de variables, sean normales o JSON.
Por ejemplo, este JSON guarda los datos de un cliente:

Mira este tutorial
sobre cómo escribir una variable JSON.

La operación JSON Operation está en la lista de Basic Actions del Action step.
CONSEJO: la operación ya trae varios ejemplos incorporados. Elige una operación y usa el botón Examples para verlos.

Por ejemplo, así se inserta un elemento en una variable JSON:

Action step: eliminar un usuario del bot

Puedes eliminar usuarios del bot. Es útil para mantener bajo control el límite de tu plan. Cuando estás cerca del tope, puedes lanzar un broadcast manual antes de limpiar.
Action step: petición externa
Con las peticiones externas llamas a APIs de terceros o a tu propio servidor para pedir datos, enviarlos y demás.

En un Action step, busca External Request dentro de Advance Actions, haz clic en Add your request y empieza a configurarla:

- elige el tipo de petición: GET, POST y demás
- pega la URL o el endpoint
- ajusta las secciones URL parameters, Headers, Body o Authorization si hace falta, por ejemplo para cargar una API key
- haz clic en Test y la zona 5 muestra el código de respuesta en la sección Response
- haz clic en Response Headers para desplegar la cabecera; los datos recibidos están en azul
- elige qué parte de esos datos necesitas haciendo clic en el círculo de la izquierda
- después de hacer clic en la zona 6, acá aparece sola la ruta JSON del dato elegido. El $ representa el JSON entero
- elige en qué custom field guardarlo. Puedes crear uno nuevo escribiendo el nombre y eligiéndolo en el desplegable. Con el botón Add lo sumas a la lista de mapeo
- por último, el mapeo aparece en la zona 9. Agrega todos los que necesites y haz clic en Save
Valor de prueba
Antes de usar el botón Test, carga datos de prueba en todos los campos y variables de la configuración.
URL Params
En la captura de arriba hay un parámetro en el endpoint llamado “user_name”. Acuérdate de copiar el endpoint y de cargar un valor de prueba.
También puedes usar la sección URL Params para el mismo resultado.
Headers
Igual que con los URL Params: primero el nombre de la clave, después insertas la variable y cargas un valor de prueba.
Authorization
También puedes poner el token en la sección Authorization. Es menos propenso a errores, porque es fácil olvidarse el “Bearer ” delante del token.
Además, para Basic Auth alcanza con cargar usuario y contraseña: el sistema hace la codificación base64 por ti.
Body
Para incluir un archivo entre los parámetros, usa multipart/form-data:

x-www-form-urlencoded funciona igual que las secciones de URL Params o Headers.
En vez de listar todos los payloads en x-www-form-urlencoded, también puedes pegar el ejemplo en JSON crudo:

A la izquierda, en Body Content, pega o escribe tu JSON. Al insertar una variable, el contenido de prueba aparece al instante a la derecha, para que definas un JSON de prueba. Haz clic en Copy from body content para copiar toda la estructura del JSON. Las variables se reemplazan por {{variable_name}}. Quita el marcador y pon tus valores de prueba.
Probar
Cuando esté todo listo, haz clic en el botón Test, al lado del endpoint o en la sección de respuesta.

Además de mapear los datos como vimos, quizá quieras guardar valores de la cabecera de la respuesta. Despliega la cabecera, haz clic en un valor y la ruta JSON aparece sola.
Action step: enviar una notificación
Esta acción permite que tu bot envíe notificaciones por varios canales:
- correo
- Slack
- SMS
- llamada telefónica

Están todas en Notification, dentro del Action step.
Notificación por correo
Para enviarla, primero tienes que configurar la integración de correo. Mira cómo configurar la integración de correo.

A diferencia del step Send Email, la notificación por correo solo admite texto. Si necesitas imágenes, botones o archivos, mira el step Send Email en la página de integración de correo.
Pon la dirección del remitente en Email Profile y la del destinatario en To Email.
Notificación por Slack
De la misma forma, para enviar una notificación por Slack tienes que configurar antes esa integración. Mira cómo configurar la integración de Slack.

En la ventana que se abre:
- elige un webhook
- elige un canal por defecto o escribe otro
- elige un tipo de mensaje y agrega todos los que necesites
- por ejemplo, con el tipo Section, escribe el mensaje en la zona 4 y suma una foto o el valor de un campo si hace falta
- usa el botón Test para enviarlo de prueba y ajustar lo que corresponda
- cuando termines, haz clic en Save
Notificación por SMS
Configura un número remitente antes de enviar una notificación por SMS. Mira cómo agregar un número.

Puedes usar la operación generate random text sobre una variable de texto para armar un código de seguridad al azar y enviarlo como verificación, como se ve en las imágenes.

Elige remitente y destinatario, escribe el mensaje y listo.
Hacer una llamada telefónica
Igual que con el SMS, necesitas un número para llamar. Mira cómo agregar un número.
Además, tienes que tener un flow de voz conectado a ese número, o el bot no va a saber qué decir.

Ref payload
El ref payload sirve para pasarle un mensaje al bot de voz.
Por ejemplo, defines el payload como “support” en la acción de notificación, y en tu flow de voz:

Entra al Start Step de tu flow principal y guarda el ref payload en un custom field.
CONSEJO
Puedes pasar una variable JSON en el ref payload, pero hay que codificarla en base64 antes y decodificarla después. Mira las operaciones base64 en Set Custom Field.
Condition step
Con el Condition step llevas a la persona a distintos steps o sub-flows según las condiciones que definas.

Dentro del step, haz clic en + Add Condition Group para armar al menos un grupo de condiciones. El grupo Otherwise siempre está.
Puedes crear todos los grupos que necesites. La evaluación va de arriba hacia abajo y, apenas un grupo coincide, el sistema va al step indicado. Si no coincide ninguno, entra en juego el grupo Otherwise. Por eso conviene siempre asignarle un step, aunque parezca poco probable que se use.

Otra cosa importante es la diferencia entre All conditions y Any conditions, que está arriba a la derecha de cada grupo.
Un grupo puede tener más de una condición, y ahí importa cuál de las dos elijas.
All Condition significa que para que el grupo coincida tienen que cumplirse todas sus condiciones.

En cambio, con Any Condition alcanza con que se cumpla una.

Condiciones de tag y de sequence
En las condiciones de tag y de sequence puedes elegir in o not in en el operador, y seleccionar varios tags o sequences a la vez.
Condiciones de variables de texto
Estos son todos los operadores para condiciones de texto.
Sobre has any value e is empty, que valen para cualquier tipo de variable: al limpiar una variable, queda vacía. Entonces has any value da falso e is empty da verdadero.
Condiciones de variables numéricas
Estos son todos los operadores para condiciones numéricas.
Condiciones de variables DateTime
Estos son todos los operadores para condiciones de fecha y hora.
Ten en cuenta que el valor siempre va con el formato “yyyy-MM-dd HH:mm:ss”, más allá del formato de visualización que hayas elegido para esa variable.
Ten en cuenta que
“before/after” no es lo mismo que “time before/after”. El primero compara la fecha y hora completas; el segundo, solo la hora.
Condiciones de variables JSON
Estos son todos los operadores para condiciones JSON.
Nota
Los últimos 3 operadores, los de “has item matched with …”, necesitan que el JSON sea una lista de variables, no una lista de JSON. Es decir, funcionan si tu JSON guarda una lista de variables comunes, y no funcionan si guarda una lista de JSON.
Custom input
El custom input sirve para comparar valores dentro de una variable JSON. Busca “custom input” en el campo del if:

Elige un valor del JSON y compáralo igual que con una condición de texto.
Fórmulas matemáticas
Con esta operación puedes calcular fórmulas directamente en el Action step, en Set Variable Value, y en el Condition step, en Value.
Operaciones y funciones soportadas:
+, -, *, e, pi, PI, abs(), min(), max(), ceil(), floor(), log(), pow(), round(), sqrt(), sin(), cos(), tan()
Ten en cuenta que
Si la fórmula es inválida, el sistema devuelve 0 a las variables numéricas y vacío a las de texto.
Split step
Con el Split step llevas a la persona a distintos steps o flows según una probabilidad.
Sirve para varias cosas:
- variar las respuestas en vez de contestar siempre lo mismo
- probar una función nueva con un grupo chico de clientes y juntar feedback
- armar un sorteo

Dentro del Split step:
- haz clic en + New Variation y agrega al menos 2 variantes
- cambia el título de cada variante si hace falta
- ajusta los pesos
- pon porcentajes directos, como 30 y 70, y obtienes 30% y 70%
- o pon pesos, como 1 y 2, y el sistema calcula 33% y 67%
- elige el siguiente step de cada variante
- guarda la variante elegida si la necesitas después
Ejemplos de uso
Variar las respuestas:

Probar funciones nuevas y juntar feedback:

Un sorteo:

Goto step
El Goto Step salta a otro step del sub-flow actual, o al punto de inicio de otro sub-flow.

Puedes crear un sub-flow nuevo en el momento o elegir uno existente. Dentro de un sub-flow solo puedes saltar a un step del mismo sub-flow.

El Goto step deja el flow mucho más ordenado y fácil de leer.
Antes de usar Goto:

Después de usar Goto:

Lienzo (canvas)
El lienzo ayuda a organizar los steps.
Ya vimos que el espacio de trabajo se mueve haciendo clic y arrastrando. Para seleccionar varios steps es parecido: mantén Shift y arrastra para cubrirlos.

También puedes hacer ctrl + clic uno por uno:

CONSEJO
Si el panel de edición no aparece, haz ctrl + clic dos veces sobre uno de los steps verdes para deseleccionarlo y volver a seleccionarlo. Con eso debería mostrarse.
Con varios steps seleccionados, haz clic en Create New Canvas para agruparlos en un lienzo.

Haz clic en el título del lienzo para editarlo o para agregarle una descripción. Con el botón ”-” que está a la izquierda del título lo minimizas.
Nota
Necesitas al menos 2 steps para crear un lienzo o para moverlos a otro sub-flow. Si solo tienes 1, agrega un step temporal y descártalo después.
Por último, para sumar o quitar steps de un lienzo existente, selecciónalos y arrástralos adentro o afuera:

Al mover steps hacia adentro, el fondo del lienzo cambia de color: suéltalos cuando pase de blanco a gris.
Sub-flow
Igual que el lienzo, el sub-flow ayuda a organizar steps. El lienzo los organiza dentro de un sub-flow puntual, y el sub-flow los organiza dentro de todo el chatbot.
Crear un sub-flow
Ve a Flows en la barra lateral, haz clic en + New Sub Flow, elige un tipo, ponle nombre y guarda.
Tipo de flow
Descripción
Normal Subflow
varía según el canal, es el sub-flow básico
Workflow
trabaja en segundo plano sin afectar la conversación
Function Flow
resuelve tareas repetitivas

Haz clic en el sub-flow para entrar y editarlo. Con el ícono de los 3 puntos tienes más operaciones. El Sub Flow Ns es el ID único de ese sub-flow dentro del chatbot.
Las carpetas sirven para organizarlos.
Mover steps a un sub-flow
Para mover uno o varios steps a otro sub-flow, selecciónalos primero y después:
- usa el botón Move to Subflow del panel de edición, o
- cópialos y pégalos
Para seleccionar varios, mantén Shift y arrastra para cubrirlos.

También puedes mantener ctrl y hacer clic uno por uno:

Con varios seleccionados aparece el panel de edición. Elige el sub-flow y haz clic en Move to sub flow.
Nota
Necesitas al menos 2 steps para crear un lienzo o para moverlos a otro sub-flow. Si solo tienes 1, agrega un step temporal y descártalo después.

Nota
Si no puedes hacer clic en Move to sub flow después de elegir el sub-flow, quizá incluiste el Start Step verde en la selección. El punto verde de inicio de un sub-flow no se puede mover a otro. Deselecciónalo y listo.
Para copiar y pegar, usa Ctrl + C sobre los steps seleccionados, entra al sub-flow de destino y pega con Ctrl + V.
Llamar a un sub-flow
Con los sub-flows creados, puedes llamarlos desde:
- un Goto step
- una keyword
- una sequence
- un broadcast
- un widget de Facebook
- la herramienta de crecimiento por comentarios
- un trigger
- el Live Chat
- un ítem de menú
- un inbound webhook
- una llamada a la API
Workflow
Un workflow es un flow de backend donde automatizas tareas como agregar o quitar tags, definir custom fields o llamar a APIs externas.
Así la conversación con el suscriptor no se frena esperando que se ejecuten todas esas acciones, y la experiencia le resulta fluida.
Crear un workflow
Ve a la vista general de flows con Flows en el menú de la izquierda.
Después presiona el botón + New Sub Flow.

Elige el tipo workflow, ponle nombre y presiona Create para empezar a armarlo.
Al entrar al Flow Builder vas a notar que tienes menos bloques disponibles que en un flow normal o en un function flow.
Los bloques disponibles son:
- Action
- Condition
- Split
- Send Email
Como decíamos, este flow está pensado para el backend: lo disparas desde cualquier otro flow del chatbot para resolver tareas del sistema, como agregar tags, definir custom fields o enviar correos.

Ejemplo de workflow
Veamos un caso.
Alguien se registra con su correo o su teléfono y quieres sincronizar esos datos con tu CRM.
Apenas tienes los datos, haces la llamada a la API con el bloque de petición externa dentro del módulo de acción.
También querrás etiquetar a esa persona dentro del chatbot por haber completado el onboarding. Y al terminar, mandas una notificación por correo a un admin avisando que hay un lead nuevo para seguir.
Un workflow así queda más o menos de esta forma:

Si metieras todo esto dentro del flow que lleva la conversación, se volvería un problema: la charla quedaría frenada varios segundos hasta terminar los procesos, y la persona podría irse pensando que la conversación terminó.
Disparar un workflow
Disparar el workflow anterior desde cualquier otro flow es muy simple.
Inserta un bloque de acción, ve a las acciones avanzadas y elige trigger workflow, abajo de todo.

Ahí eliges cualquiera de los workflows que hayas creado. Se procesa en segundo plano y la conversación sigue sin ninguna demora.
Function flow
Un function flow te evita repetir el mismo tramo de conversación una y otra vez. Piensa en cuando necesitas pedir un correo o un teléfono.
Con un function flow envías a la persona a ese flow único y, al terminar, vuelve exactamente al punto donde había quedado en el flow anterior.
Crear un function flow
Ve a Flows en el menú de la izquierda y presiona el botón + New Sub Flow.
Elige el tipo Function, ponle nombre y presiona Create para entrar al Flow Builder.

Ejemplo de function flow
Al insertar un bloque nuevo vas a ver que tienes todos los bloques de un flow normal, más uno extra llamado Output.

Ese output es lo que hace único al function flow: te permite devolver a la persona al flow anterior, exactamente donde lo había dejado.
Armemos un ejemplo donde pedimos un correo y le sumamos un módulo de output:

Como ves, es un flow simple, y esa es toda su función: pedir un correo.
Llamar a un function flow
Cuando ese flow termina, puedes devolver a la persona al flow anterior para seguir la conversación ahí.
Se ve así:

Los function flows dan para muchísimos casos de uso, así que hay lugar para ser creativo.
Varios outputs
Un function flow admite varios Output steps.
Cuando llamas a un function flow con varios outputs, los títulos de esos outputs aparecen en el Goto step y los manejas por separado.

Live Chat
Además de automatizar con el chatbot, puedes seguir la conversación con tus suscriptores desde nuestra bandeja de live chat. Hay una para cada canal.
Se llega de dos formas:
- desde el dashboard principal
- desde cada canal de chatbot
Cómo entrar al live chat desde el dashboard principal
En el dashboard principal tienes arriba una pestaña Live Chat.

La ventaja de esta vista es que ves todos los canales donde armaste chatbots. Eliges el chatbot y se abre su live chat.
Cómo entrar al live chat desde un canal
Estando dentro de cualquiera de tus canales también puedes entrar. Elige Live Chat y se abre con todos los suscriptores de ese canal.

Cómo usar el live chat
Al elegir a un suscriptor ves el live chat en funcionamiento. Hay bastante información, así que vamos por partes.

La sección 1 muestra a los suscriptores que interactuaron con el chatbot
- Haz clic en Inbox para alternar entre Inbox y Done. Cuando termines una conversación, mueve a esa persona a Done.
- Usa el buscador para encontrar una conversación por nombre.
- Haz clic en alguien para ver el detalle de la conversación y su perfil.
La sección 2 muestra la conversación entre tu suscriptor y el chatbot
- Arriba, el ícono <= oculta la sección 1, la lista de usuarios.
- Al lado están la foto de perfil y el nombre completo del suscriptor.
- Arriba a la derecha, el ícono de tilde lo mueve a Done.
- El ícono de 3 puntos ofrece Hide message from bot y Manage Shortcuts.
Hide message from bot deja a la vista solo los mensajes de la persona y del agente, para leer la conversación más limpia y sin tener que pasar por todos los mensajes del bot.
Los shortcuts ayudan a los agentes a responder más rápido. También los administras en Tools - Shortcuts.

- Al pasar el cursor sobre un mensaje del bot, el ícono de la v chica te deja reenviarlo o saltar a ese step del flow, por si quieres editar algo.
La sección 3 es donde los agentes responden
- Escribe la respuesta en el área en blanco.
- Escribe una barra y una palabra para buscar un shortcut. Muévete con las flechas y presiona enter para insertar el texto.
- A la derecha, el ícono </> inserta una variable, por ejemplo el nombre de la persona. También puedes escribir dos llaves {{ y buscar el campo por nombre.

- Abajo de todo, el ícono de más a la izquierda cambia la persona. El ícono por defecto es la persona predeterminada, o sea el chatbot. Las personas se agregan en Contents - Personas.
- Alterna entre Reply y Note para cambiar el modo. En modo Reply el área está en blanco y lo que escribas le llega al suscriptor. En modo Note el área está en amarillo: la nota aparece en la conversación pero no se envía, queda como referencia interna.
- Los últimos 4 íconos de abajo a la derecha sirven para enviar emojis, medios (imagen, gif, audio, video y archivos) y sub-flows. El último envía el mensaje o la nota; también puedes presionar enter.
La sección 4 muestra el perfil del suscriptor
La sección 5 muestra notas, tags, sequences suscritas, OTN topics y todos los custom fields
- Agrega o quita tags directamente desde acá. Muy útil para meter suscriptores en embudos.
- Los OTN topics y las sequences solo se pueden quitar.
- Con los user fields puedes ver los valores, cambiarlos o borrarlos.
Enviar sub-flows a los usuarios
Al terminar una charla con alguien quizá quieras derivarlo a un sub-flow. Se hace presionando el ícono correspondiente: se abre una ventana donde eliges o buscas tu flow.

Elegido el flow, presiona el botón azul Send Sub Flow y se envía.
NOTA: antes de enviar el sub-flow, desactiva el modo live chat. Si no, el chatbot no va a poder enviar los mensajes del flow.

CONSEJO
Cada vez que un agente responde en la sección 3, el área Pause Automation arranca una cuenta regresiva de 30 minutos. Durante ese tiempo el chatbot no responde. El agente puede sumar más tiempo si lo necesita, y cuando se termina el bot vuelve a responder.
Bot Users (o simplemente usuarios)
Las personas que hacen opt-in a tu chatbot al interactuar con él se consideran usuarios del bot. Pasan a ser contactos dentro de ese canal y, a lo largo de una o varias conversaciones, el chatbot va juntando información sobre ellas.
Entras a tus usuarios desde la sección correspondiente del menú de la izquierda, una vez dentro de uno de tus chatbots.

Ahí tienes el listado completo de todas las personas que interactuaron y por lo tanto hicieron opt-in.
Filtrar usuarios por condiciones
Desde esa vista puedes segmentarlos rápido con la opción de filtro, usando la condición que quieras.

Así ves de un vistazo qué tags tiene alguien, o qué valores tienen sus custom fields.
Un ejemplo de filtro sería saber quiénes dejaron su correo.
Otro sería etiquetar a quienes terminan el onboarding inicial y después filtrar por ese tag.
Información del usuario
Al hacer clic en un usuario se abre una ventana con todos los datos recolectados hasta ese momento.

A la izquierda ves:
- nombre
- género
- idioma
- zona horaria
- hora local
Debajo de la foto de perfil tienes la opción de eliminar al usuario o descargar sus datos, algo que te ayuda a cumplir con el GDPR cuando alguien lo pide.
También ves el id de usuario del canal y datos de fecha y hora, como cuándo se suscribió y cuál fue su última interacción.
A la derecha están las pestañas de:
- notas
- tags
- sequences suscritas
- OTN topics
- custom fields
Al entrar a cada pestaña ves los datos recolectados.
Con los tags tienes más opciones.

Puedes agregarlos y quitarlos directamente.
Las sequences suscritas y los OTN topics solo se pueden quitar.
Los custom fields los puedes quitar o cambiarles el valor.
Importar o crear usuarios nuevos
En los canales de SMS y voz también puedes importar o crear usuarios a mano. Los botones están arriba a la derecha.

Crear un usuario nuevo suma uno solo, mientras que importar te deja hacerlo en lote con un archivo CSV.
Eliminar usuarios a mano



















