Conozca más sobre cómo realizar validaciones y dirigir al usuario por diferentes caminos, además de usar variables en el Chatbot de flujos de Zenvia Customer Cloud.
Contexto
El chatbot de flujos de Zenvia Customer Cloud no tiene un “validador de horario” nativo. Sin embargo, puede construir esta lógica usando variables y condiciones dentro del constructor para verificar la hora actual o compararla con la informada por el usuario.
Para validar horarios existen dos enfoques:
Basado en la hora actual del sistema (a través de una API externa que devuelva fecha y hora)
Basado en la hora informada por el contacto (usando la respuesta del usuario en el flujo)
Construyendo el flujo
Paso 1 – Capturando el horario
Debe almacenar el horario que desea validar utilizando variables:
Si el usuario informa el horario:
Use un bloque de Campo abierto solicitando: Ingresa tu horario en el formato HH:MM.
Defina una variable para este campo, por ejemplo:
<?$horarioInformado?>.
Si va a usar la hora actual:
Utilice una Llamada de API para solicitar la hora al servidor/servicio.
Guarde la respuesta en una variable, por ejemplo:
<?$horaAtual?>.
Paso 2 – Creando la lógica de validación
Después de capturar el valor, utilice un Destino en el constructor para compararlo.
En el bloque de validación, acceda a Destinos.
Cree una regla:
Atributo:
<?$horarioInformado?>Operador: Mayor o igual que / Menor o igual que
Valor: intervalo deseado (ej. 08:00 y 18:00, o valores numéricos como 8 y 18 si usa solo horas)
Defina Ir a:
Bloque de atención normal (si está dentro del horario)
Bloque de aviso (si está fuera del horario)
Paso 3 – Usando variables correctamente
Variables básicas:
<?$name?>→ Nombre del contacto<?$phone?>→ Teléfono<?$email?>→ Correo electrónico<?$visitor.firstName?>,<?$visitor.lastName?>→ Nombre proveniente de la cuenta social del canal
Variables personalizadas:
Creadas en el flujo o mediante carga/API en la base de contactos
Se usan como:
<?$miVariable?>Donde miVariable es el nombre definido durante su creación
Importante:
Las variables pueden usarse para mostrar información en la conversación (ej.: “Hola, <?$name?>!”) y también para validaciones en Destinos.
Si la variable proviene de un bloque de Campo abierto, solo tendrá valor después de que ese bloque sea ejecutado.
En llamadas de API, las variables pueden recibir datos de respuesta (ej.: <?$resposta_api.body.horario?>).
Ejemplo práctico – Validación de horario de atención
Suponga que su horario de atención es de 08:00 a 18:00.
Flujo:
Bloque Bienvenida:
“Hola, <?$name?>. Para continuar, necesito verificar si estamos dentro del horario de atención.”Bloque Captura de Horario:
Llamada de API para obtener la hora del servidor (o Campo abierto para que el usuario ingrese la hora) → variable<?$horaAtual?>.Bloque Validación:
Destinos:Si
<?$horaAtual?>Mayor o igual que 8 Y Menor o igual que 18 → bloque Atención disponibleSi no → bloque Fuera de horario – mensaje automático
Bloque Atención disponible:
“Estamos dentro del horario. Te transferiré con un agente humano.”Bloque Fuera de horario:
“En este momento estamos fuera del horario de atención. Nuestro horario es de 08:00 a 18:00. Por favor, vuelve en ese período.”
Checklist para un buen funcionamiento
Crear la variable que almacenará el horario
Decidir si el valor vendrá del usuario o de una API
Usar Destinos para comparar valores
Probar el flujo en el botón Probar chatbot
Publicar el bot para que las reglas entren en producción
Para más información sobre cómo crear y configurar variables en un chatbot, consulte la documentación.