0%
—
PROJET AUTOMATISATION · n8n + IA

Crée ton assistant Telegram
intelligent

Un bot Telegram propulsé par n8n et l'IA : tu lui donnes une personnalité par un prompt, tu discutes avec lui, et tu lui confies des tâches qu'il exécute (agenda, notes, emails…). Comme ton assistant perso, dans ta poche.

🤖 Projet de
🧩
Comment ça marche. Telegram reçoit ton message → n8n le capte (déclencheur) → l'envoie à l'IA (avec ta personnalité) → l'IA répond ou exécute une tâche → n8n renvoie la réponse dans Telegram. Tu construis ce circuit étape par étape.
🛠️
Ici, tu construis — Claude corrige.
Pour chaque jalon, tu as un schéma des nœuds à placer dans n8n. Monte le workflow toi-même d'abord. Utilise Claude Code uniquement pour débloquer, corriger ou expliquer (colle-lui une capture ou ton message d'erreur) — jamais pour tout faire à ta place. C'est en construisant que tu apprends.
🔒
Ton token bot est un mot de passe. Ne le partage jamais, ne le mets pas dans une capture non floutée. Qui l'a peut contrôler ton bot.
1

🟢 Jalon 1 — Créer le bot avec BotFather

Obtenir ton bot Telegram et son token

Telegram▼
📚
BotFather est le bot officiel de Telegram qui sert à créer d'autres bots. Il te donne un token (une longue clé) : c'est l'identité de ton bot, que n8n utilisera pour parler en son nom.
1.1 — Parler à BotFather

Dans Telegram :

  1. Cherche @BotFather (celui avec la coche bleue ✔) et ouvre la conversation.
  2. Envoie /newbot.
  3. Donne un nom (affiché, ex : « Assistant d'Adam »).
  4. Donne un username unique finissant par bot (ex : adam_assistant_bot).
  5. BotFather te renvoie un token du style 1234567:AAE… → copie-le et garde-le secret.
📷Capture de la confirmation BotFather (⚠️ FLOUTE le token !)

❓ À quoi sert le token, et pourquoi doit-il rester secret ?

🎯 Jalon 1 atteint : ton bot existe et tu as son token.
2

🟡 Jalon 2 — Connecter Telegram à n8n

Capter les messages reçus par le bot

Déclencheur▼
📚
Concepts : dans n8n, un déclencheur (trigger) démarre le flux. Le nœud Telegram Trigger se réveille à chaque message reçu par ton bot. La credential stocke ton token en sécurité.
🧩 Nœud à placer
Telegram TriggerUpdates : message

Un seul nœud pour l'instant. On y branchera l'IA au jalon suivant.

2.1 — À toi : monte le Telegram Trigger
  1. Dans n8n, crée un nouveau workflow.
  2. Ajoute le nœud Telegram Trigger.
  3. Crée une credential Telegram : colle ton token (BotFather).
  4. Dans les paramètres, écoute les messages (Updates → message).

🔧 Bloqué ou une erreur ? Montre ta capture à Claude Code :

🔧 Si bloqué →Voici mon Telegram Trigger dans n8n (capture / message d'erreur). Qu'est-ce qui ne va pas et comment le corriger ?
2.2 — Tester la réception

Clique « Listen for event » dans n8n, puis envoie un message à ton bot sur Telegram. Le message doit apparaître dans n8n.

📷Capture du message reçu dans n8n

❓ C'est quoi un « déclencheur » (trigger) dans un workflow n8n ?

🎯 Jalon 2 atteint : n8n reçoit ce que tu écris au bot.
3

🟠 Jalon 3 — Le cerveau IA

Brancher un modèle qui comprend et répond

Intelligence▼
📚
Concepts : le nœud AI Agent de n8n relie un modèle (Claude, GPT…) au flux. Il reçoit le texte du message et génère une réponse. Le system prompt définit qui est l'assistant.
🧩 Nœuds à placer
Telegram Trigger
→
AI Agentinput : le texte reçu
⛓️ Chat Model (Claude / OpenAI)

Le « Chat Model » se branche SOUS l'AI Agent (petit connecteur du bas), pas à la suite.

3.1 — À toi : branche l'AI Agent
  1. Après le trigger, ajoute un nœud AI Agent.
  2. Sous l'agent, connecte un Chat Model (Claude / OpenAI) avec ta clé API.
  3. Dans « User Message » de l'agent, mets le texte reçu : {{ $json.message.text }}.

🔧 Un souci de branchement ou de clé API ?

🔧 Si bloqué →Voici mon AI Agent dans n8n (capture). Le modèle est-il bien branché et est-ce que je passe bien le texte du message en entrée ? Corrige ce qui cloche.

❓ Quelle est la différence entre le message de l'utilisateur et le system prompt ?

🎯 Jalon 3 atteint : l'IA comprend tes messages.
4

💬 Jalon 4 — Répondre sur Telegram

Boucler le circuit : message → IA → réponse

Réponse▼
📚
Concepts : pour répondre, on ajoute un nœud Telegram → Send Message. Il faut lui donner le chat ID (celui d'où vient le message) et le texte généré par l'IA.
🧩 Le circuit complet
Telegram Trigger
→
AI Agent
→
TelegramSend Message

3 nœuds en ligne = ton bot répond. C'est la boucle de base terminée.

4.1 — À toi : ajoute l'envoi
  1. Ajoute un nœud Telegram → Send Message après l'IA.
  2. Chat ID = {{ $json.message.chat.id }} (venu du trigger).
  3. Texte = la sortie de l'IA ({{ $json.output }}).

🔧 Le bot ne répond pas ou répond dans le vide ?

🔧 Si bloqué →Mon bot ne renvoie pas la réponse dans Telegram (capture du nœud Send Message + de l'erreur). Vérifie mon chat ID et le texte envoyé, et dis-moi quoi corriger.
📷Capture d'un échange complet dans Telegram

❗ Obligatoire : décris le trajet complet d'un message, de Telegram jusqu'à la réponse (les 4 nœuds).

🎯 Jalon 4 atteint : ton bot répond ! Le circuit complet fonctionne.
5

🎭 Jalon 5 — Personnaliser le prompt

Donner un rôle, un ton, une personnalité précise

Le prompt▼
📚
Le system prompt fait tout. C'est là que tu décris qui est l'assistant, comment il parle, ce qu'il doit ou ne doit pas faire, et le format de ses réponses. Change le prompt → change complètement le bot.
5.1 — Écrire la personnalité

Dans le system prompt de l'IA, définis : le rôle (ex : assistant de productivité), le ton (direct, amical…), les règles (réponses courtes, en français…), et éventuellement des tâches qu'il sait faire.

Exemple ↓Tu es l'assistant personnel d'Adam. Tu es efficace, amical et tu réponds toujours en français, en 3 phrases max. Quand on te donne une tâche, tu confirmes ce que tu as compris puis tu l'exécutes.

❗ Obligatoire : écris TON system prompt (le rôle et les règles de ton assistant).

5.2 — Tester plusieurs personnalités

Change le prompt (ex : coach sportif, prof d'anglais, assistant très formel) et observe comment le bot change de comportement.

❓ Qu'est-ce qui a le plus changé la façon de répondre du bot dans tes tests ?

🎯 Jalon 5 atteint : ton bot a une vraie personnalité, la tienne.
6

🧠 Jalon 6 — La mémoire

Que le bot se souvienne de la conversation

Contexte▼
📚
Concepts : sans mémoire, le bot oublie tout à chaque message. Le nœud Memory de l'AI Agent (ex : Window Buffer Memory) garde le fil de la conversation, par utilisateur (clé = chat id).
🧩 Nœud à ajouter sous l'agent
AI Agent
⛓️ Chat Model 🧠 Memory (Window Buffer) · clé = chat id

La mémoire se branche SOUS l'AI Agent, comme le modèle. La « clé de session » = le chat id, pour séparer les utilisateurs.

6.1 — À toi : branche la mémoire
  1. Sous l'AI Agent, ajoute un nœud Memory (ex : Window Buffer Memory).
  2. Mets la clé de session = le chat id ({{ $json.message.chat.id }}).

Test : dis « je m'appelle Adam », puis « comment je m'appelle ? ». Il doit répondre correctement.

🔧 Il oublie toujours ?

🔧 Si bloqué →Mon bot ne se souvient pas des messages précédents malgré le nœud Memory (capture). Vérifie ma clé de session et le branchement, et corrige.
📷Capture prouvant que le bot se souvient
🎯 Jalon 6 atteint : ton bot suit une vraie conversation.
7

🛠️ Jalon 7 — Lui donner des tâches (outils)

Le bot agit : agenda, notes, email, recherche…

Agent à outils▼
📚
Concepts : un agent IA peut utiliser des outils (tools) branchés dans n8n. Tu lui dis « ajoute une réunion demain 15h » → il choisit l'outil « Google Agenda » et crée l'événement. Chaque outil = un nœud connecté à l'agent.
🧩 Des outils branchés sous l'agent
AI Agent
⛓️ Chat Model 🧠 Memory 🛠️ Google Agenda 🛠️ Notion / Email…

Chaque outil est un nœud branché sous l'agent. L'agent lit leur description pour savoir lequel utiliser.

7.1 — À toi : branche un premier outil
  1. Sous l'AI Agent, ajoute un outil (ex : Google Calendar → Create Event, ou Notion → Create Page).
  2. Connecte sa credential et donne-lui une description claire (ce que fait l'outil).

Test : écris au bot « ajoute une réunion demain à 15h avec Léa ». Vérifie que l'événement est créé.

🔧 L'agent n'utilise pas l'outil ?

🔧 Si bloqué →Mon AI Agent n'appelle pas l'outil quand je lui demande la tâche (capture du workflow + de l'échange). Ma description d'outil est-elle assez claire ? Corrige le branchement ou la description.
📷Capture : la demande Telegram + la tâche exécutée

❗ Obligatoire : comment l'agent décide-t-il d'utiliser un outil plutôt que de simplement répondre ? (le rôle de la description de l'outil)

7.2 — Ajouter 1 ou 2 autres capacités

Ex : envoyer un email, faire une recherche web, ajouter une tâche dans une to-do. Choisis ce qui t'est utile.

❓ Quels outils as-tu donnés à ton bot, et pour quel usage concret ?

🎯 Jalon 7 atteint : ton bot ne parle plus seulement — il AGIT.
🚀

Jalon 8 — Activer, sécuriser & finaliser

Le bot tourne 24/7, proprement

▼
📚
Concepts : tant que le workflow est en mode test, le bot ne répond que quand tu écoutes. En l'activant (Active = ON), il tourne en permanence sur ton n8n. On sécurise le token et on gère les erreurs.

Checklist de finition

  • Workflow activé (le bot répond même sans mode écoute)
  • Token stocké en credential/secret (pas en clair dans un nœud)
  • Le bot gère un message qu'il ne comprend pas (réponse propre)
  • Personnalité (system prompt) finalisée
  • Au moins 1 tâche/outil qui fonctionne de bout en bout
  • Testé sur plusieurs conversations différentes

📷 Captures finales

📷Le workflow n8n complet
💬Une belle conversation avec le bot

🔗 Username de ton bot Telegram (ex : @adam_assistant_bot)

❓ Bilan : quelle tâche ton assistant te rend-il le plus utile ? Qu'ajouterais-tu en V2 ?

🎙️

Jalon BONUS — Les messages vocaux

Optionnel · parler à son bot, il répond en texte

Voix → texte▼
📚
Concepts : un vocal Telegram n'arrive pas dans message.text mais dans message.voice (avec un file_id). Il faut donc télécharger l'audio, le transcrire en texte (Whisper), puis l'envoyer à l'agent. On aiguille voix ou texte vers un même champ pour que la suite ne change pas.
🧩 Nœuds à intercaler entre le Trigger et l'agent
Telegram Trigger
→
Switchvoix ? / texte ?
→
Get a Filemessage.voice.file_id
→
TranscribeWhisper : audio → texte
→
Setchamp commun « userText »
→
AI Agent

La branche « texte » du Switch va directement au Set. Les deux branches se rejoignent sur le champ userText que lit l'agent.

B.1 — Aiguiller voix vs texte
  1. Après le Trigger, ajoute un Switch : condition « {{ $json.message.voice }} existe ? » → 2 sorties (Vocal / Texte).
  2. Sur la branche Vocal : Telegram → Get a File, File ID = {{ $json.message.voice.file_id }}.
📷Capture de ton Switch + Get a File
B.2 — Transcrire & unifier
  1. Ajoute un nœud OpenAI → Transcribe a recording (Whisper) qui prend l'audio binaire → texte.
  2. Sur chaque branche, un nœud Set range le texte dans un même champ userText (soit message.text, soit la transcription).
  3. Dans l'AI Agent, remplace l'entrée par {{ $json.userText }}.

Test : envoie un vocal à ton bot (« ajoute une réunion demain 15h »). Il doit répondre en texte et exécuter la tâche.

🔧 La transcription échoue ou l'agent reçoit du vide ?

🔧 Si bloqué →Mon bot ne traite pas les vocaux (capture du Switch, du Transcribe et de l'erreur). Vérifie l'aiguillage voix/texte et le champ userText, et corrige ce qui cloche.
🎙️Capture : un vocal envoyé + la réponse texte du bot

❗ Obligatoire : pourquoi doit-on transcrire le vocal AVANT l'agent, au lieu de l'envoyer tel quel ?

🎯 Jalon bonus atteint : ton assistant comprend la voix ET le texte.
🧠

Validation finale

À remplir seul, SANS l'IA

▼

1. À quoi sert BotFather et qu'est-ce que le token d'un bot ?

2. Décris le circuit complet d'un message (les 4 nœuds : trigger → IA → envoi).

3. Quel est le rôle du system prompt ? Donne un exemple concret.

4. Pourquoi la mémoire change l'expérience, et comment on sépare les conversations de chaque utilisateur ?

5. C'est quoi un « agent à outils » ? Comment décide-t-il d'utiliser un outil ?

🏁
Étape finale — on met tout en ligne.
Bravo, tu as terminé tous les projets ! Pour clôturer : on publie / pousse tous tes projets en ligne (le formateur t'accompagne), puis tu remplis ton compte rendu de stage à imprimer. C'est la dernière chose à faire, une fois tout le reste terminé.

👉 Ouvrir mon compte rendu de stage