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.