Objectif de ce wiki 

Bienvenue dans ce guide dédié à l'unification de deux outils surpuissants du mouvement "Open Source & Self-Hosted" : Open WebUI et n8n.

Si Open WebUI est l'interface par excellence pour interagir avec vos modèles de langage, il reste souvent confiné dans sa "boîte" de texte. De l'autre côté, n8n est le chef d'orchestre de l'automatisation, capable de manipuler des API et des données complexes. En utilisant la fonction Pipeline openwebui-n8n, nous créons un pont direct entre les deux.

L'objectif ? Permettre à votre LLM de déclencher des workflows n8n, d'aller chercher des informations en temps réel sur le web ou dans vos outils métiers, et de vous rendre une réponse enrichie et pertinente.

Prérequis pour intégrer n8n dans Open WebUI 

Il y a deux pré-requis pour ce wiki :

  • Une instance Open WebUI fonctionnelle
  • Une instance n8n (locale ou cloud)

Étape 1 : créer le workflow dans n8n

Voici la vision finale du worklow dans n8n :

Intégrer n8n dans Open WebUI

Ce dernier sera appelé à l’aide d’appels API (node Webhook), ce qui permet notamment de faire des tests à l’aide de Postman :

Intégrer n8n dans Open WebUI

Voici la configuration du Webhook entrant. Sa seule particularité réside dans le respond qui est positionné à “Using ‘Respond to Webhook’ Node” :

Intégrer n8n dans Open WebUI

Coté Agent IA, on retrouve un system message un peu classique, dans lequel on explicite quand utiliser les tools et on ajoute également un HITL (Human In The Loop) pour forcer la demande de validation avant de réaliser des actions de manière autonome :

Intégrer n8n dans Open WebUI

Niveau outils, justement, on en retrouve deux :

  • send_mail : donne la capacité à l’agent d’envoyer un mail
  • SerpAPI : l’agent peut faire des recherches sur Internet si nécessaire

Intégrer n8n dans Open WebUI

Pour l’envoi de mail, une configuration particulière est mise en place pour que le mail / sujet et contenu du mail soit retourné par l’agent et non fixé en dur (From AI) :

Intégrer n8n dans Open WebUI

On retrouve alors les 3 fonctions suivantes :

  • To : {{ $fromAI("email_destinataire", "L'adresse email de la personne à qui envoyer le message") }}
  • Sujet : {{ $fromAI("sujet_mail", "Un sujet court et professionnel adapté au contexte") }}
  • Message : {{ $fromAI("corps_du_mail", "Le contenu détaillé du mail en utilisant le ton des échanges précédents") }}

Étape 2 : Intégrer n8n dans Open WebUI

Côté Open WebUI, l’intégration est très simple en utilisant la fonction communautaire N8N Pipeline.

Intégrer n8n dans Open WebUI

Une fois la fonction intégrée dans Open WebUI (dans le Panneau d’administration > Fonctions), il faudra la configurer pour mettre le endpoint de l’API n8n :

Intégrer n8n dans Open WebUI

Ajout du endpoint n8n :

Intégrer n8n dans Open WebUI

Et voilà, tout est prêt pour tester !

Étape 3 : Tester le tout

Maintenant, depuis Open WebUI, il est possible d’interroger le workflow n8n qui fait office d’agent et fera appel à des outils si nécessaire :

Intégrer n8n dans Open WebUI

Dans ce premier exemple, il utilise l’outil SerpAPI pour faire une recherche sur Internet. 

Intégrer n8n dans Open WebUI

Intégrer n8n dans Open WebUI

Ici, on lui demande un envoi par mail. Il ne le fera réellement que si on confirme l’action (HITL)

Intégrer n8n dans Open WebUI

On valide : le mail va pouvoir être envoyé.

Intégrer n8n dans Open WebUI

Résultat final : j’obtiens bien un mail avec un résumé de ma recherche dans Open WebUI.

Faites confiance aux experts Data & IA de Next Decision, rendez-vous sur la page Contact