Los Dropdowns Dinámicos de Tabla/Campo de Supabase en n8n Fallan con “No bridge acquired for this context. Call acquire() first.”
Me estoy encontrando con un problema en n8n Cloud con el nodo nativo de Supabase donde la credencial de Supabase funciona y el nodo puede consultar datos exitosamente, pero los dropdowns dinámicos de tabla y campo no se cargan.
El problema parece estar aislado en la carga de parámetros dinámicos de n8n en lugar de conectividad de Supabase, autenticación, RLS o acceso a tablas.
Entorno
-
n8n Cloud
-
Nodo nativo
n8n-nodes-base.supabase -
Proyecto Supabase alojado
-
Usando una Clave Secreta del lado del servidor de Supabase recién creada
-
Recurso: Row
-
Operación: Get Many
Problema
La credencial de Supabase se prueba exitosamente en n8n.
Sin embargo, al crear un nodo de Supabase, el dropdown Table Name or ID muestra:
Error fetching options from Supabase
La interfaz también reporta:
There was a problem loading the parameter options from server: "[object Object]"
El mismo problema ocurre cuando n8n intenta cargar dinámicamente los nombres de campos/columnas.
Lo importante es que el nodo real de Supabase funciona cuando los nombres de tabla y campo se ingresan manualmente como expresiones.
Pruebas Realizadas
- Prueba de credencial de Supabase
La prueba de credencial de Supabase en n8n tiene éxito.
Resultado:
Connection successful
- Nombre de tabla manual
En lugar de usar el dropdown Table Name roto, cambié el campo al modo Expression e ingresé una tabla conocida manualmente:
{{ 'example_table' }}
Luego ejecuté:
-
Recurso: Row
-
Operación: Get Many
-
Límite: 50
-
Sin filtros
Resultado:
El nodo de Supabase retornó exitosamente filas de la tabla.
- Nombre de campo manual y filtro
Luego agregué un filtro e ingresé manualmente un nombre de campo conocido como expresión:
{{ 'status' }}
Condición:
Equals
Valor:
Test
Resultado:
El nodo de Supabase retornó exitosamente filas coincidentes.
Esto confirma que:
-
La autenticación de Supabase funciona
-
n8n puede alcanzar Supabase
-
La tabla es accesible
-
Los campos son accesibles
-
Los filtros funcionan
-
La recuperación de datos funciona
-
El nodo de Supabase puede ejecutarse exitosamente
El fallo parece estar específicamente relacionado con la carga de parámetros dinámicos.
- Prueba directa de Supabase Data API
También probé la API REST de Supabase directamente usando un nodo n8n HTTP Request.
Solicitud:
GET https://[PROJECT].supabase.co/rest/v1/
Encabezados:
apikey: [REDACTED SERVER-SIDE SECRET]
Authorization: Bearer [REDACTED SERVER-SIDE SECRET]
La solicitud tiene éxito y Supabase retorna el esquema OpenAPI, incluyendo rutas y definiciones de tablas.
Así que Supabase parece estar exponiendo exitosamente los metadatos requeridos para descubrimiento de tablas y columnas.
Error de Red desde n8n
Abrí Chrome DevTools y capturé la solicitud generada cuando un nodo Supabase completamente nuevo intenta cargar el dropdown Table Name.
La solicitud de opciones de parámetros dinámicos retorna:
HTTP 500
Respuesta:
{
"code": 0,
"message": "No bridge acquired for this context. Call acquire() first.",
"level": "warning",
"tags": {},
"timestamp": "[REDACTED]",
"context": {},
"functionality": "regular",
"name": "NodeApiError",
"node": {
"parameters": {
"useCustomSchema": false,
"resource": "row",
"operation": "getAll",
"tableId": "",
"returnAll": false,
"limit": 50,
"filterType": "manual",
"matchType": "anyFilter",
"filters": {}
},
"id": "[REDACTED]",
"name": "Temp-Node",
"type": "n8n-nodes-base.supabase",
"typeVersion": 1,
"position": [
0,
0
],
"credentials": {
"supabaseApi": {
"name": "Supabase account"
}
}
},
"messages": [
"No bridge acquired for this context. Call acquire() first."
],
"httpCode": null
}
Comportamiento Esperado
Cuando se selecciona una credencial de Supabase válida, el dropdown Table Name or ID debe poblarse con las tablas Supabase disponibles.
Después de seleccionar una tabla, los dropdowns de campo deben poblarse con las columnas disponibles.
Comportamiento Real
El dropdown muestra:
Error fetching options from Supabase
La solicitud de parámetros dinámicos retorna HTTP 500 con:
No bridge acquired for this context. Call acquire() first.
Solución Alternativa
El nodo de Supabase funciona si los IDs de tabla y campo se ingresan manualmente usando expresiones.
Por ejemplo:
Tabla:
{{ 'example_table' }}
Campo:
{{ 'status' }}
El nodo entonces consulta y filtra exitosamente datos de Supabase.
Notas Adicionales
Originalmente sospeché RLS o permisos de Supabase, pero las pruebas anteriores parecen descartar eso.
La misma clave de Supabase del lado del servidor:
-
pasa la prueba de credencial de n8n
-
recupera el esquema OpenAPI de Supabase
-
consulta exitosamente filas a través del nodo nativo de Supabase
-
aplica exitosamente filtros a través del nodo nativo de Supabase
Solo la carga de opciones de tabla/campo dinámicas falla.
Esto parece ser un problema interno de parámetros dinámicos/load-options de n8n en lugar de un problema de API de Supabase.
Puedo proporcionar registros adicionales, capturas de pantalla sanitizadas, JSON de flujo de trabajo, información de versión de n8n Cloud u otros diagnósticos si es útil.