Saltar al contenido principal

A menudo necesitas guardar datos recopilados (como registros de usuarios o respuestas de encuestas) sin depender de hojas de cálculo externas, o necesitas hacer un pequeño cálculo antes de responderle al cliente.

Colecciones de Base de Datos y Código JS


1. Colecciones internas (Read & Write)

Las Colecciones son tablas de datos que viven directamente dentro de Convoflow. Te permiten almacenar y consultar información de forma rápida y segura sin necesidad de configurar bases de datos externas.

Guardar datos (Collection Write)

Agrega una nueva fila a tu colección o actualiza una existente si el cliente ya está registrado.

¿Qué puedes modificar?

collectionIdstringrequerido

Selecciona la tabla o colección donde se guardarán los datos (por ejemplo: Clientes o Encuestas).

fieldMappingsobjectrequerido

Asocia cada campo de tu tabla con una variable de la conversación:

  • Nombre → {user_name}
  • Teléfono → {user_phone}
  • Estado → Activo
updateByFieldsarrayopcional

Si seleccionas un campo como Teléfono, el nodo buscará si ya existe un registro con ese mismo número para actualizarlo en lugar de duplicarlo.


Consultar datos (Collection Read)

Busca un registro en tu colección para traer datos previos del cliente (por ejemplo, su saldo actual o su membresía).

¿Qué puedes modificar?

collectionIdstringrequerido

La colección donde deseas buscar.

filtersobjectopcional

La condición de búsqueda (por ejemplo: buscar donde telefono sea igual a {user_phone}).

outputVariablestringdefecto: cliente_encontrado

Variable donde se guardarán los datos encontrados para usarlos más adelante en mensajes como: Hola {cliente_encontrado.nombre}, tu plan actual es {cliente_encontrado.plan}.


2. PostgreSQL y Supabase

Si tu empresa ya cuenta con su propio servidor de base de datos o utiliza Supabase, puedes conectarlo directamente.

PostgreSQL Node

Permite ejecutar consultas SQL de lectura o escritura utilizando variables seguras.

connectionIdstringrequerido

Tu conexión configurada a PostgreSQL.

querystringrequerido

La consulta a ejecutar. Puedes incluir variables entre llaves:

SELECT saldo, plan FROM usuarios WHERE telefono = '{user_phone}' LIMIT 1;
outputVariablestringdefecto: db_resultado

Variable donde se almacenan las filas encontradas.


Supabase Node

Realiza peticiones directas a las tablas REST de tu proyecto de Supabase.

pathstringrequerido

Ruta de la tabla (por ejemplo: /rest/v1/pedidos?select=*&usuario_id=eq.{user_id}).

methodenumdefecto: GET

Método de consulta: GET, POST, PATCH o DELETE.


3. Code Node (código personalizado)

El diseñador visual suele resolver el 95% de las tareas. Sin embargo, si necesitas realizar un cálculo matemático especial (como calcular impuestos con reglas complejas) o formatear una fecha de manera inusual, el Code Node te permite escribir unas pocas líneas de JavaScript.

¿Qué puedes modificar?

codestringrequerido

El código a ejecutar. Tienes acceso a todas las variables mediante el objeto vars:

// Ejemplo: Calcular el total con 16% de IVA
const subtotal = Number(vars.monto_pedido) || 0;
const iva = subtotal * 0.16;
const total = subtotal + iva;

return { subtotal, iva, total };
outputVariablestringdefecto: calculo_resultado

Variable donde se guardará lo que devuelvas con return. Luego podrás usar {calculo_resultado.total} en cualquier mensaje.