Saltearse al contenido

Supabase

Supabase es un componente de Nappai que te permite trabajar directamente con tu base de datos Supabase. Con él puedes añadir, borrar, leer o modificar registros en cualquier tabla de tu base de datos, y también puedes llamar a funciones remotas que hayas creado en Supabase. Todo se hace a través de la API de Supabase, por lo que necesitas una credencial que contenga la URL y la clave de servicio de tu proyecto.

¿Cómo funciona?

El componente se conecta a la API de Supabase usando la credencial que configures en la sección de credenciales de Nappai. Cuando seleccionas una operación (Insert, Delete, Get, Update o Custom API Call) el componente envía la petición correspondiente a la tabla o función indicada. Si activas el Mapping Mode puedes procesar varios registros a la vez: cada campo de entrada puede recibir un valor fijo, un valor mapeado desde otra salida o un valor calculado con JavaScript. Los resultados se devuelven en dos salidas: Data (los datos de la operación) y Tool (una herramienta que puede ser usada por un agente de IA).

Operaciones

Este componente ofrece varias operaciones que puedes seleccionar según lo que necesites hacer. Solo puedes usar una operación a la vez:

  • Insert: Añade un nuevo registro a la tabla seleccionada.
  • Delete: Elimina uno o varios registros que coincidan con los filtros indicados.
  • Get: Recupera registros que cumplan con los filtros y opcionalmente limita la cantidad de resultados.
  • Update: Modifica los registros que coincidan con los filtros y especifica los campos a actualizar.
  • Custom API Call: Ejecuta una función remota de Supabase que hayas creado.

Para usar el componente, primero selecciona la operación que necesitas en el campo Operation (Operación).

Entradas

Modo de Mapeo (Mapping Mode)

Este componente cuenta con un modo especial llamado “Mapping Mode” (Modo de Mapeo). Cuando activas este modo mediante el interruptor, se habilita una entrada adicional llamada Mapping Data y cada campo de entrada te ofrece tres formas diferentes de proporcionar datos:

  • Fixed (Fijo): Escribes el valor directamente en el campo.
  • Mapped (Mapeado): Conectas la salida de otro componente para usar su resultado como valor.
  • Javascript: Escribes código Javascript para calcular el valor dinámicamente.

Esta flexibilidad te permite crear flujos de trabajo más dinámicos y conectados.

Campos de Entrada

Los siguientes campos están disponibles para configurar este componente. Cada campo puede estar visible en diferentes operaciones:

  • Operation: Selecciona la operación de Supabase que quieres ejecutar.

    • Visible en: Insert, Delete, Get, Update, Custom API Call
  • Field to Send: Indica el campo que se enviará en la operación de actualización.

    • Visible en: Update
  • Filter String: Cadena de filtro que se aplica a la consulta.

    • Visible en: Delete, Get, Update
  • Filters: Número de filtros que se usarán para decidir qué filas se recuperan.

    • Visible en: Delete, Get, Update
  • Function: Selecciona la función remota que se ejecutará en la operación Custom API Call.

    • Visible en: Custom API Call
  • Limit: Número máximo de resultados que se devolverán.

    • Visible en: Get
  • Mapping Mode: Habilita el modo de mapeo para procesar múltiples registros en lote.

    • Visible en: Insert, Delete, Get, Update, Custom API Call
  • Return All: Indica si se deben devolver todos los resultados o solo hasta el límite especificado.

    • Visible en: Get
  • Select Type: Tipo de filtros que se aplicarán.

    • Visible en: Delete, Get, Update
  • Table Name: Selecciona la tabla sobre la que se realizará la operación.

    • Visible en: Insert, Delete, Get, Update
  • Tool Name: Nombre del instrumento que se usará cuando el componente esté conectado como herramienta. Este nombre se mostrará al agente cuando elija herramientas.

    • Visible en: Insert, Delete, Get, Update, Custom API Call
  • Tool Description: Descripción detallada de lo que hace esta herramienta. Ayuda al agente a entender cuándo y cómo usarla eficazmente.

    • Visible en: Insert, Delete, Get, Update, Custom API Call
  • Tools arguments metadata: Define la metadata de los argumentos de la herramienta.

    • Visible en: Insert, Delete, Get, Update, Custom API Call

Nota: El componente necesita una credencial de tipo Supabase API. Primero configura la credencial en la sección de credenciales de Nappai, y luego selecciónala en el campo Credential del componente.

Salidas

  • Data: Devuelve los datos resultantes de la operación (por ejemplo, los registros insertados, eliminados, leídos o actualizados).
  • Tool: Devuelve una herramienta que puede ser utilizada por un agente de IA para ejecutar la operación de forma automática.

Ejemplo de Uso

Insertar un nuevo usuario

  1. Arrastra el componente Supabase al flujo.
  2. En el campo Operation selecciona Insert.
  3. En Table Name elige la tabla users.
  4. En Mapping Mode activa el interruptor si quieres insertar varios usuarios a la vez.
  5. Conecta la salida Mapping Data a un componente que genere los datos del nuevo usuario (por ejemplo, un formulario).
  6. En Tool Name escribe InsertUser.
  7. En Tool Description escribe Añade un nuevo usuario a la tabla users.
  8. Ejecuta el flujo. La salida Data mostrará el registro insertado y la salida Tool permitirá que un agente lo invoque automáticamente.

Obtener registros de clientes

  1. Arrastra el componente Supabase al flujo.
  2. En Operation selecciona Get.
  3. En Table Name elige la tabla customers.
  4. En Filter String escribe status = 'active'.
  5. En Limit escribe 10.
  6. En Return All desmarca la casilla (para limitar a 10 resultados).
  7. En Tool Name escribe GetActiveCustomers.
  8. En Tool Description escribe Recupera los 10 clientes activos de la tabla customers.
  9. Ejecuta el flujo. La salida Data contendrá los registros y la salida Tool permitirá que un agente los solicite.

Componentes Relacionados

  • SupabaseComponentBase: Base que define la lógica común de conexión y operaciones con Supabase.
  • Supabase API Credential: Credencial que contiene la URL y la clave de servicio de tu proyecto Supabase.

Consejos y Mejores Prácticas

  • Usa Mapping Mode cuando necesites procesar varios registros a la vez; evita enviar una petición por cada registro.
  • Limita los resultados con el campo Limit para evitar sobrecargar la respuesta y mejorar el rendimiento.
  • Configura la credencial antes de usar el componente y mantén la clave de servicio segura; no la compartas públicamente.
  • Define nombres claros para las herramientas (Tool Name) y sus descripciones (Tool Description) para que los agentes las reconozcan fácilmente.
  • Prueba cada operación en modo de depuración antes de integrarla en flujos complejos.

Consideraciones de Seguridad

  • La credencial Supabase API contiene la clave de servicio, que permite acceso completo a tu base de datos. Guárdala en un lugar seguro y nunca la expongas en el código público.
  • Cuando uses Custom API Call, asegúrate de que la función remota no exponga datos sensibles sin autorización.
  • Limita los permisos de la credencial a solo lo necesario (por ejemplo, solo lectura si solo vas a obtener datos).
  • Revisa los logs de Nappai para detectar accesos inesperados a la base de datos.