No se puede conectar Supabase desde flujo de trabajo n8n (trabajando desde mi MAC local)

Describe el problema/error/pregunta

He instalado n8n en mi Mac (Docker) e intento conectarme a mi Supabase RAG y la conexión ha fallado. Según se requiere en “Host” copié desde Supabase (Project Settings >> Data API) que se ve como “https://bmactddfrfrmvegzlrvt.supabase.co/rest/v1/” y en “Service Node Secret” usé las API Keys de Settings >> API Keys (Supabase) y la misma se ve como “sb_secret_x7O7Ea-PvGcWd_0MNMdgdQ_tsE7IkIH”. Usé las Secret Keys y no las Publishable keys. Sin embargo, recibo “No se pudo conectar con esta configuración. Más detalles”. Cuando hice clic en el enlace Más detalles obtuve “El recurso que estás solicitando no pudo ser encontrado”.

¿Cuál es el mensaje de error (si lo hay)?

Por favor, comparte tu flujo de trabajo

(Selecciona los nodos en tu lienzo y usa los atajos de teclado CMD+C/CTRL+C y CMD+V/CTRL+V para copiar y pegar el flujo de trabajo.)

Comparte el resultado devuelto por el último nodo

Información sobre tu configuración de n8n

  • Versión de n8n:
  • Base de datos (predeterminada: SQLite):
  • Configuración de n8n EXECUTIONS_PROCESS (predeterminada: own, main):
  • Ejecutando n8n a través de (Docker, npm, n8n cloud, aplicación de escritorio):
  • Sistema operativo:

¡Hola @subroto, bienvenido!

El error 404 viene del campo Host. n8n añade la parte /rest/v1/ automáticamente, así que cuando la incluyes el path se duplica y Supabase devuelve «recurso no encontrado». Configura Host solo con la URL base del proyecto, como https://your-project.supabase.co sin nada después de .co, y la conexión debería funcionar.

Además, y esto es importante: rota esa clave secreta. Has pegado una clave sb_secret activa en tu mensaje, así que cualquiera que lo lea puede usarla. Genera una nueva en Supabase e intercámbiala.

¡De nada! Siéntete libre de marcar una de las respuestas como la solución y ¡que tengas un buen día!

Muchas gracias. Probé tu sugerencia y tuve éxito.
Gracias y saludos,

Cambié a n8n autohospedado (Hostinger) e intenté seguir los pasos. (a) En Supabase, eliminé el Proyecto y creé uno nuevo (b) Creé la tabla “documents” y ejecuté ‘select schemaname from pg_tables where tablename = ‘documents’ limit 100;’ >> que devolvió ‘public’ (c) Configuré exitosamente las Credenciales desde n8n (para Supabase Vector Store). (d) Me aseguré de que la Extensión para vector esté habilitada.
Sin embargo, el nombre de la tabla sigue sin aparecer, esperaba encontrar ‘documents’ (continúo recibiendo 404). Gracias

@subroto bien, la credencial se guardó correctamente así que el Host es correcto esta vez, el 404 es ahora la capa de tabla, no la conexión. Dos causas:

  1. Cache de esquema de PostgREST. La API de datos de Supabase cachea el esquema, por lo que una tabla recién creada devuelve 404 hasta que se recarga. Ejecuta en el editor SQL: NOTIFY pgrst, ‘reload schema’; (o espera un minuto / reinicia el proyecto), eso normalmente hace que aparezcan los documentos.

  2. Una tabla vacía no es suficiente. El Vector Store necesita documentos con columnas id, content, metadata, embedding vector(N) más una función match_documents. Ejecuta el SQL del inicio rápido de vector-store de Supabase (enlazado en la documentación del nodo), establece Query Name a match_documents, y haz coincidir la dimensión del vector con tu modelo de embedding (1536 para OpenAI small/ada).

Además, el nodo ignora un nombre de tabla personalizado y siempre usa documents, así que mantenlo nombrado exactamente así.

Hola @subroto, solo para complementar lo que @achamm dijo sobre la configuración del Vector Store.

Cuando ejecutes el SQL de inicio rápido de Supabase, asegúrate de que la dimensión del vector coincida exactamente con tu modelo de embedding. Una discrepancia, por ejemplo usar vector(1536) pero tu modelo genera vector(3072), fallará silenciosamente o devolverá un 404 al insertar. Verifica la dimensión de salida de tu modelo antes de ejecutar el script de configuración.

También vale la pena confirmar: la función match_documents debe existir en el esquema public; si termina en un esquema diferente, n8n no la encontrará aunque la tabla sea correcta.

Una vez que tengas eso en su lugar, ejecuta rápidamente NOTIFY pgrst, ‘reload schema’; como sugirió achamm ¡y deberías estar listo!

¡Gracias!
Lo revisaré.