הערה: תרגול זה ממשיך את ה-Workflow הקודם, אשר מכיל כעת שני Triggers (צ'אט וטלגרם), בלוק LLM Chain לחילוץ נתונים, שרשרת לאיסוף נתונים (OWM, Tavily) ו-LLM Chain נוסף לעיצוב התשובה. השלב הקודם עסק בשליחת הפלט (התשובה המנוסחת) חזרה לערוץ הטלגרם.
אם טרם הקמתם את תהליך האוטומציה הראשוני, וחיברתם אותו לתקשורת טלגרם ויכולות Ai – תוכלו לעשות זאת כאן.
בסוף המעבדה שעסקה בחיבור לטלגרם, נתקלנו בבעיה – כאשר השיחה מתבצעת דרך הצ׳אט הפנימי של n8n (טריגר Chat), מתקבלת הודעת שגיאה בבלוג הטלגרם שמנסה להשיב להודעה. כדי לדלג מעל הבעיה – ניתקנו אותו באופן זמני. כעת, נשכלל את בקרת הזרימה (Flow Control) כדי לנתב את התשובה לערוץ התקשורת הנכון (צ'אט או טלגרם), באמצעות בלוק If.
1. בקרת זרימה – ניתוב התשובה לערוץ הנכון
בקרת הזרימה שהטמענו בתרגיל הקודם הייתה מורכבת והצריכה ניתובים מרובים מבלוק ה-Gmail. כעת, נפשט את הניתוב הסופי של התשובה, ונשתמש בבלוק IF כדי לבחור בין ערוץ הצ'אט לבין ערוץ הטלגרם באופן ישיר, על בסיס השדה source שיצרנו.
-
משימה 1 – ניתוק ואיחוד נקודת הכשל
-
משימה 2 – הגדרת בלוק If לזיהוי מקור הקלט
- בחרו את אחת מנקודות הסיום של התהליך (Gmail או OpenWeatherMap), וחברו בלוק If חדש ליציאה.
- הגדרת התנאי: בלוק ה-If יבדוק מאיזה ערוץ הגיעה הבקשה, על ידי שימוש בשדה
sourceשהגדרנו בקלט, וזמין דרך הבלוק 'Structured Input' (No Operation).
- נתון: הוסיפו Condition חדש ובשדה העליון של התנאי (ערך מקור) השתמשו בביטוי:
{{ $('Structured Input').item.json.source }} - פעולת השוואה (Operation): בשדה האמצעי (סוג ההשואה) בחרו ב-
is equal toמתוך תת-התפריט של String. - ערך יעד (Value): בשדה התחתון של התנאי, הזינו את הערך הקבוע
telegram.
- נתון: הוסיפו Condition חדש ובשדה העליון של התנאי (ערך מקור) השתמשו בביטוי:
- הבנה: אם התנאי יתקיים (true), הניתוב יהיה לערוץ הטלגרם, אם לא (false), הניתוב יהיה לצ׳אט של n8n (דרך בלוק Set).
-
משימה 3 – Branching: חיבור ענפי הזרימה (Chat and Telegram)
- חיבור יציאת false (חזרה לצ'אט): חברו את יציאת true של בלוק ה-If אל הבלוק שהוגדר כדי לשלוח תשובה חזרה לצ'אט של n8n (זהו ה-Set שמגדיר את השדה
output). - חיבור ענף true (חזרה לטלגרם): חברו את יציאת true של בלוק ה-If אל הבלוק – Telegram שהוגדר לשליחת הודעה (Send Message) בבוט הטלגרם.
Branching – בקרת זרימה - בדיקה:
- בדיקת צ'אט: הריצו את ה-Workflow דרך חלון ה-Open Chat. ודאו שהתשובה המנוסחת חוזרת לצ'אט.
- בדיקת טלגרם: הריצו את ה-Workflow על ידי שליחת הודעה לבוט טלגרם. ודאו שהתשובה המנוסחת חוזרת לטלגרם.
- ודאו שבכל אחד מהמצבים – אין שגיאות.
- חיבור יציאת false (חזרה לצ'אט): חברו את יציאת true של בלוק ה-If אל הבלוק שהוגדר כדי לשלוח תשובה חזרה לצ'אט של n8n (זהו ה-Set שמגדיר את השדה
-
משימה 4 – ביצוע בקרת זרימה בכל התהליך
כעת בצעו תהליך זה בכל שאר נקודות הסיום של התהליך – איפה שנשלחות הודעות תגובה בערוצים השונים.
2. תרגול פתוח ואתגר הרחבה
בניתם תהליך חסין שגיאות, שמתמודד כראוי כעוזר רב-ערוצי (Multichannel). כעת, עליכם "ללכלך את הידיים" ולחקור את המערכת על ידי התמודדות עם אתגרים מורכבים יותר.
- המשימה היא הוספת אפשרות למקורות נוספים, ופיצול את ענפי התשובה ליותר משניים, תוך החלפת בלוקי ה If בבלוקי Switch, המאפשרים התמודדות עם תנאים מרובים.
בהצלחה!
סיימתם לפשט ולייעל את בקרת הזרימה ב-Workflow שלכם. באמצעות בלוק If יחיד, אתם מנתבים את התשובה הסופית חזרה לערוץ התקשורת הנכון (צ'אט או טלגרם) שממנו הגיעה הבקשה.