TabbitBlog

Flujo de navegador para n8n con resultados verificables

Llama a un navegador desde un subflujo de n8n, valida su respuesta y comprueba el estado antes de repetir una escritura.

En este artículo
  1. ¿Qué pasa si n8n no tiene un nodo para el sitio?
  2. Separa el flujo y el navegador
  3. Importa el subflujo
  4. Valida la respuesta antes de usarla
  5. Comprueba el estado antes de repetir
  6. Empieza por una acción y una comprobación

¿Qué pasa si n8n no tiene un nodo para el sitio?

Comprueba primero si una API autorizada permite la acción. Cuando hace falta un control renderizado o una página autenticada, conecta un entorno de navegador mediante HTTP. El flujo valida la entrada, comprueba el resultado y decide la ruta. Un AI Agent puede llamar a ese subflujo como herramienta.

En un portal de prueba, el navegador puede pulsar Confirm demo y leer el estado. n8n conserva el ID de operación y comprueba si el registro cambió. Si falla la respuesta, consulta el estado antes de repetir. El clic pudo surtir efecto aunque se perdiera la respuesta. Herramientas de automatización web Búsqueda y control

Separa el flujo y el navegador

CapaTareaEvidencia
Flujo padre o AI AgentElegir una acción autorizada y pasar una peticiónID y destino
SubflujoValidar, llamar al navegador y clasificar la respuestaResultado estructurado o revisión
NavegadorAbrir, verificar el registro, actuar y leerID, estado inicial y final
Aplicación o almacenamiento duraderoResolver dudas y evitar duplicadosResultado previo o estado desconocido

HTTP Request llama al servicio; el navegador decide qué página y sesión puede usar. Da a la herramienta una acción acotada y permite que el ejecutor resuelva la página a partir de configuración confiable. Comprueba la cuenta antes de actuar en una sesión abierta. Dos discusiones de n8n ilustran la diferencia entre extraer y operar controles, y el riesgo de ejecutar dos veces el mismo flujo. Conectar un navegador existente Verificar sesión Discusión de navegador Discusión de idempotencia

Importa el subflujo

Descarga el JSON de n8n y el adaptador de prueba de Tabbit. Usa n8n, Node.js y Tabbit CLI en la misma máquina. La acción opera un botón de una página sintética sin cuentas externas. Inicia el adaptador, importa el JSON y ejecuta Manual Test.

node tabbit-fixture-adapter.mjs

El adaptador escucha en loopback en el puerto 3219. Si n8n se ejecuta en un contenedor u otro equipo, localhost pertenece a ese entorno. Configura una conexión autorizada antes de modificar los dos nodos HTTP. Ejemplo de localhost en la nube

En el AI Agent padre, añade Call n8n Workflow Tool, elige el subflujo y asigna operation_id y scenario a Workflow Tool Input. Envía un elemento por llamada. Conserva el ID en un nodo ordinario. En producción, deriva el valor del registro de origen y la acción, para que no cambie al reintentar. Call n8n Workflow Tool Datos de subflujos

Valida la respuesta antes de usarla

Comprueba el código HTTP, el ID de operación, el ID de prueba, el estado inicial OFF, el estado final ON y una escritura. Una respuesta exitosa sin los datos previstos pasa a revisión. El agente puede resumir el resultado, mientras que los nodos siguientes usan los valores validados.

{
  "operation_id": "E09-lost-response",
  "outcome": "reconciled",
  "receipt_source": "read_back",
  "http_status": 200,
  "fixture_id": "E09-FIXTURE",
  "state": "ON",
  "writes": 1,
  "replay": false
}

En el ejemplo, http_status viene de la consulta GET. El fallo POST se conserva en el registro de ejecución. Si no hay código HTTP por un fallo de red, trata el resultado como desconocido. Nodo HTTP Request

Comprueba el estado antes de repetir

EscenarioComprobaciónResultado esperado
Respuesta normalPOST confirma el registro y ONconfirmed, una escritura
Fallo tras el cambioPOST 503, GET encuentra la operación con ONreconciled, una escritura
Estado desconocidoPOST 503, GET no encuentra la operaciónneeds_review, sin reenviar
Mismo ID confirmadoEl ejecutor devuelve el resultado anteriorMismo resultado, una escritura total

El adaptador guarda los resultados en memoria. En producción necesitas registros duraderos, claves únicas y verificación tras reiniciar. Registra la acción y el destino antes de escribir. Devuelve el resultado ya confirmado y deriva los casos desconocidos a consulta o revisión. Reintenta una escritura solo si la aplicación aplica la misma clave o una persona confirma que no ocurrió y autoriza otro intento. Errores en n8n Verificación de un formulario real

Importamos el flujo descargable en n8n 2.46.6 con Node.js 24.16.0. Un flujo local independiente lo llamó con una entrada por ejecución. La primera ronda devolvió confirmed (200), reconciled (503 y luego 200) y needs_review (503 y luego 404). El adaptador registró dos clics en Tabbit. Al repetir los mismos ID, devolvió los dos recibos guardados y mantuvo el tercero pendiente de revisión, sin más clics. La prueba usó una página sintética y no llamó a ningún modelo de lenguaje.

Empieza por una acción y una comprobación

Ejecuta la prueba manual antes de conectar un AI Agent. Comprueba que los nodos distingan resultado directo, reconciliado y pendiente de revisión. Usa solo lectura si la primera prueba requiere una cuenta real. Primera tarea en un navegador Qué hace un agente

Preguntas frecuentes

¿Qué hago si n8n no tiene un nodo para el sitio?

Registra un subflujo de navegador acotado o llama a un servicio de navegador con HTTP Request.

¿HTTP Request es un navegador?

Hace una llamada HTTP. El entorno de navegador se ocupa de renderizar, pulsar y usar la sesión autorizada.

¿Qué debería devolver el navegador?

ID de operación, resultado, ID del registro, estado observado y datos suficientes para comprobarlo.

¿Puedo repetir un envío fallido?

Consulta el estado con el mismo ID antes de repetir. Si sigue sin confirmarse, deriva a revisión.

¿Necesita el reintento un ID nuevo?

Reutiliza el ID estable para la misma operación. Usa otro ID para una acción o registro diferente.

Da el siguiente paso

Deja que Tabbit trabaje junto a ti.

Investiga entre pestañas, automatiza el trabajo repetitivo del navegador y mantén todo el contexto al alcance.