TabbitBlog

Un workflow navigateur n8n avec des résultats vérifiables

Appelez un navigateur depuis un sous-workflow, validez sa réponse et relisez l’état avant de répéter une écriture.

Dans cet article
  1. Et si n8n n’a pas de nœud pour le site ?
  2. Séparer le workflow du navigateur
  3. Importer le sous-workflow
  4. Valider la réponse
  5. Relire avant de recommencer
  6. Commencer par une action et une assertion

Et si n8n n’a pas de nœud pour le site ?

Vérifiez d’abord si une API autorisée propose l’action. Si la tâche dépend d’une page rendue ou d’une session ouverte, raccordez un moteur de navigateur par HTTP. Le workflow vérifie la requête et la réponse et décide de la suite. Un AI Agent peut appeler ce sous-workflow comme outil.

Dans un portail de test, le navigateur peut cliquer sur Confirm demo et relire l’état. n8n conserve l’identifiant de l’opération. Si la réponse échoue, relisez la cible avant de recommencer. L’action a pu changer le dossier malgré la perte de la réponse. Outils d’automatisation web Recherche et contrôle du navigateur

Séparer le workflow du navigateur

CoucheRôlePreuve à garder
Parent ou AI AgentChoisir une action autorisée et envoyer une demandeID et cible
Sous-workflow navigateurValider, appeler et orienterRésultat structuré ou demande de revue
NavigateurOuvrir la page, vérifier le dossier, agir et relireID, état initial et final
Application ou stockage durableRésoudre l’incertitude et éviter les doublonsRésultat précédent ou état inconnu

HTTP Request appelle le service. Le navigateur choisit la page et la session qu’il peut utiliser. Donnez à l’outil une action précise et laissez l’exécuteur choisir la page depuis une configuration de confiance. Vérifiez le compte avant d’agir. Deux discussions n8n distinguent l’extraction d’une action dans l’interface et soulèvent le risque de lancer deux fois le même workflow. Connexion à un navigateur existant Contrôle de la session Discussion navigateur Discussion sur l’idempotence

Importer le sous-workflow

Téléchargez le JSON n8n et l’adaptateur de test Tabbit. L’exemple utilise n8n, Node.js et Tabbit CLI sur le même ordinateur. Il agit sur un bouton synthétique sans compte extérieur. Démarrez l’adaptateur, importez le JSON, puis lancez Manual Test.

node tabbit-fixture-adapter.mjs

L’adaptateur écoute en boucle locale sur le port 3219. Pour une exécution dans un conteneur ou sur un autre ordinateur, localhost désigne cet environnement. Établissez une connexion autorisée avant de modifier les deux nœuds HTTP. Exemple de localhost dans le cloud

Dans l’AI Agent parent, ajoutez Call n8n Workflow Tool, sélectionnez le sous-workflow et mappez operation_id et scenario dans Workflow Tool Input. Passez un élément par appel. Conservez l’identifiant dans un nœud ordinaire. En production, faites-le dériver du dossier et de l’action afin qu’un nouvel essai reprenne le même ID. Call n8n Workflow Tool Sous-workflows et données

Valider la réponse

Vérifiez le statut HTTP, l’ID d’opération, l’ID de test, l’état initial OFF, l’état final ON et une écriture. Un succès sans les valeurs attendues passe en revue. L’agent peut résumer la réponse, tandis que les nœuds suivants se fondent sur les champs validés.

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

Ici, http_status vient de la consultation GET. Gardez l’échec POST à part dans le journal. Une erreur réseau sans statut HTTP donne un résultat inconnu. Nœud HTTP Request

Relire avant de recommencer

CasContrôleRésultat attendu
Réponse normalePOST confirme le dossier et ONconfirmed, une écriture
Échec après modificationPOST 503, GET retrouve le même ID et ONreconciled, une écriture
État inconnuPOST 503, GET ne trouve pas l’opérationneeds_review, aucun nouvel envoi
Même ID après confirmationL’exécuteur renvoie le résultat stockéMême résultat, une écriture au total

L’adaptateur garde ses données en mémoire. En production, utilisez un registre durable, une clé unique et une lecture après redémarrage. Notez l’action et la cible approuvée avant d’écrire. Renvoyez le résultat déjà confirmé et dirigez l’inconnu vers une recherche ou une revue. Relancez seulement si l’application applique la même clé ou si une personne confirme que l’action n’a pas eu lieu et autorise un nouvel essai. Gestion des erreurs dans n8n Contrôler un formulaire réel

Nous avons importé le workflow téléchargeable dans n8n 2.46.6 avec Node.js 24.16.0. Un workflow local distinct l’a appelé avec une entrée par exécution. Le premier passage a renvoyé confirmed (200), reconciled (503 puis 200) et needs_review (503 puis 404). L’adaptateur a compté deux clics dans Tabbit. En réutilisant les mêmes identifiants, il a renvoyé les deux reçus enregistrés et laissé le troisième en attente de vérification, sans clic supplémentaire. Le test a utilisé une page fictive et n’a appelé aucun modèle de langage.

Commencer par une action et une assertion

Vérifiez le test manuel avant d’ajouter un AI Agent. Les nœuds doivent reconnaître séparément un succès direct, un résultat relu et un dossier à vérifier. Commencez en lecture seule si la première tâche utilise un vrai compte. Première tâche web Rôle d’un agent

Questions fréquentes

Que faire si n8n ne propose pas de nœud pour le site ?

Exposez un sous-workflow navigateur au périmètre limité ou appelez un service via HTTP Request.

HTTP Request est-il un navigateur ?

Il appelle une interface HTTP. Le moteur de navigateur fournit le rendu, les clics et la session autorisée.

Que doit renvoyer le navigateur ?

Un ID d’opération, un résultat, un identifiant du dossier, l’état observé et des éléments de preuve.

Puis-je relancer un envoi en échec ?

Relisez l’état avec le même ID. Si le résultat reste inconnu, passez à une vérification humaine.

Faut-il un nouvel ID pour réessayer ?

Réutilisez l’ID stable pour la même opération. Attribuez un autre ID à une action ou un dossier différent.

Passez à la suite

Laissez Tabbit travailler à vos côtés.

Faites des recherches entre les onglets, automatisez les tâches répétitives du navigateur et gardez chaque élément de contexte à portée de main.