הערה: תרגול זה ממשיך את ה-Workflow הקודם שבניתם, המטפל בקלט מצ'אט, מפצל אותו לעיר ומייל, מושך נתוני מזג אוויר (OpenWeatherMap) וטיולים (Tavily), שולח מייל (Gmail) ומטפל בשגיאות.
אם טרם הקמתם את תהליך האוטומציה הראשוני – תוכלו לעשות זאת כאן.
כעת, נוסיף ל-Workflow יכולת לקבל ולשלוח הודעות דרך טלגרם, תוך שימוש באותה לוגיקה עסקית.
1. חיבור ערוץ תקשורת נוסף – טלגרם
השימוש ב-Chat Trigger מאפשר קליטת נתונים מהמשתמש, אך זהו אינו ערוץ תקשורת מקובל ונפוץ אצל רוב המשתמשים. בפרק זה נחבר את ה-Workflow לממשק של טלגרם, כך שהמשתמשים יהיו יכולים לתקשר עם סוכן התיירות שלכם דרך בוט ייעודי.
-
משימה 1 – הקמת בוט טלגרם
הכנה: כדי להתחבר לטלגרם, עליכם להקים בוט ייעודי ולקבל את ה-Bot Token שלו.
- היכנסו ל – Telegram Web וחפשו את המשתמש
@BotFather. התחילו איתו שיחה ולחצו על Start.
BotFather - הקלידו את הפקודה
/newbotובחרו שם תצוגה ושם משתמש (Username) עבור הבוט שלכם (שם המשתמש חייב להסתיים ב-bot, לדוגמאmy_new_bot). - לאחר סיום התהליך, BotFather יציג לכם את ה-Bot Token – מפתח יחודי וסודי לניהול הבוט. שמרו אותו היטב יחד עם הטוקנים האחרים שיצרתם.
- בנוסף ל Token, ה BotFather מציג גם קישור ישיר לשיחה עם הבוט החדש.
BotFather – אישור בוט חדש - ב-n8n, גשו להגדרות Credentials והוסיפו Credential חדש מסוג Telegram. העתיקו את ה-Bot Token שקיבלתם לשדה Bot Token ושמרו את ה-Credential.
- היכנסו ל – Telegram Web וחפשו את המשתמש
-
משימה 2 – הוספת טריגר טלגרם (Telegram Trigger) וחיבור הבוט ל – n8n
- במשטח העבודה, הוסיפו בלוק חדש מסוג Telegram Trigger.
- תחת שדה Credential צרו Credential חדש, הכניסו למקום המתאים את ה Token שקיבלתם. תנו לו שם כמו הבוט שיצרתם ושמרו.
- ודאו שבשדה Trigger on נבחר הערך Message.
- לחצו על Webhook URLs בראש טופס ההגדרות, ודאו שאתם במצב Test והעתיקו את הכתובת שהוצגה. זוהי כתובת ה Webhook – אליה הבוט יפנה כל הודעה שמופנית אליו.
טריגר טלגרם - כעת נחבר את ה Webhook לבוט שיצרנו. פתחו את אפליקציית Postman ליצירת בקשת HTTP חדשה. פתחו לשונית חדשה והתחילו בקשת
POST. - בשדה הכתובת, הכניסו את הכתובת הבאה ומלאו את הפרטים החסרים (ודאו כי אתם מחליפים גם את הסוגריים המשולשים, ולא רק את הערך שביניהם):
https://api.telegram.org/bot<BOT_TOKEN>/setWebhook?url=<WEBHOOK_URL> - שלחו את הבקשה וודאו שמתקבלת תשובה תקינה מהשירות, עם ההודעה
Webhook was set.
הגדרת Webhook לבוט טלגרם - לבדיקת הקלט מטלגרם: חזרו ל – n8n, ובחלון הגדרות הבלוק – לחצו על Execute Step. בינתיים חזרו לטלגרם, פתחו שיחה עם הבוט החדש, ושלחו לו הודעה. ב – n8n יופיע מבנה הודעה שנשלחה מהבוט של טלגרם, בפאנל הפלט של הבלוק.
טיפ: אם לאחר מספר שניות לא הגיעה ההודעה – יש לעצור את ריצה הבלוק (כפתור Stop Listening בפאנל הקלט), ולהפעיל מחדש. - שימו לב למבנה הקלט מטלגרם.
-
משימה 3 – איחוד הקלט מטלגרם והצ'אט
מטרת החלק הזה היא ליצור אחידות בין מבנה הדאטה שמוחזר מטריגר הצ׳אט, לזה שמוחזר מטלגרם. לצורך כך נשתמש בבלוק נוסף של Set.
- חברו בלוק של Set לטריגר הטלגרם, מצאו בפאנל הקלט את השדה שמציין את טקסט ההודעה, וגררו אותו ליצירת שדה חדש –
query. קראו לבלוק בשםExtract Telegram Query. - חברו גם אותו לבלוק של 'Raw Input' (מסוג No Operation) שיצרתם ב Workflow המקורי.
- בשני הבלוקים מסוג Set שמחוברים ל 'Raw Input', הוסיפו שדה נוסף לפלט בשם
source, ותנו להם את הערכים הקבועים:chatו –telegramבהתאמה. - בצעו בדיקת קלט: נתקו באופן זמני את הבלוק 'Raw Input' מבלוק הקוד שאחריו, הריצו את התהליך, ושלחו הודעה לבוט בטלגרם. עקבו אחר הפלט של 'Raw Input' לוודא שקיבלתם מבנה נתונים אחיד – כמו זה של הצ׳אט, והוא כולל את השדה
source.
אם הפלט תקין – חברו מחדש את הבלוק להמשך התהליך.
תהליך רב-ערוצי
- חברו בלוק של Set לטריגר הטלגרם, מצאו בפאנל הקלט את השדה שמציין את טקסט ההודעה, וגררו אותו ליצירת שדה חדש –
-
משימה 4 – שליחת תשובה לטלגרם
כעת נקצה להחזיר את התשובה לאותה צ׳אט טלגרם שבו נשלחה ההודעה הראשונית.
- חברו לבלוק של שליחת המייל שני בלוקים נוספים של Telegram עם הפעולה Send a text message. אחד ליציאה התקינה, והשני ל – Error. הם יהיו במקביל לבלוקים הקיימים מסוג Set שאחראים לשלוח את התשובה לצ׳אט המובנה של n8n.
- בשני הבלוקים – הגדירו את טקסט ההודעה לערך המוחזר מבלוק 'Final Answer'.
- בשני הבלוקים – הגדירו את שדה ה Chat ID לנתון הדינמי מטריגר הטלגרם. לצורך כך חפשו במבנה הקלט של הטריגר נתון בשם
idתחת אובייקטchat. - חברו לבלוקים את ה-Credential המתאים של טלגרם.
פלט רב ערוצי - בדקו את התהליך: הפעילו את ה Workflow המלא, ושלחו הודעה לבוט בטלגרם עם שם העיר וכתובת המייל. בדקו את התשובה שהתקבלה, ואת המייל שנשלח.
נסו בדיקה נוספת ללא כתובת מייל. - שימו לב: אם עכשיו תאפסו את השיחה בצ׳אט הפנימי של n8n, ותשלחו הודעה חדשה עם שם עיר – תקבלו שגיאה מהבלוק של טלגרם! זה קורה כי כאשר מתקבלת הודעה בערוץ של הצ׳אט הפנימי – לא קיים פרמטר מזהה השיחה של טלגרם (
Chat ID), ובלוק של טלגרם לא יודע לאן להעביר את הודעת התגובה.
אנחנו נטפל במקרים הללו בהמשך הדרך ע״י שימוש בתנאים. בינתיים, על מנת להתמודד עם הבעיה, ניתן לנתק באופן זמני את הבלוקים של טלגרם, בזמן בדיקת הצ׳אט הפנימי.
2. תרגול פתוח ואתגר הרחבה
כרגע יש לכם חיבור לערוץ התקשורת Telegram, באופן השולח הודעות טקסט פשוטות. כעת, עליכם "ללכלך את הידיים" ולחקור את המערכת על ידי התמודדות עם אתגרים מורכבים יותר.
המשימה היא לשנות את שליחת התשובה בטלגרם, כך שהן ישלחו כ-Reply להודעה המקורית של המשתמש.
- היכנסו להגדרות הבלוקים של שליחת ההודעה בטלגרם, וחפשו את ההגדרה המתאימה תחת Additional Fields.
בהצלחה!
סיימתם להרחיב את ה-Workflow שלכם כך שיכלול ערוץ קלט ופלט נוסף – טלגרם, ולמדתם כיצד לאחד נתונים שמגיעים מ-Triggers שונים. זהו צעד קריטי בהפיכת האוטומציה שלכם למערכת רב-ערוצית (Multichannel) וגמישה.