בתרגול הזה נלמד לבנות תהליך אוטומטי פשוט ב-n8n. נתחבר לשירות החינמי OpenWeatherMap, נקבל אובייקט מזג אוויר לעיר נתונה, ונשלח אותו למשתמש במייל. זהו תרגול נהדר להיכרות עם עבודה מול API חיצוני ושימוש במידע המוחזר, והכל בלי כתיבת קוד.
זו הדרך שלכם להתחיל להבין איך n8n מיישם לוגיקה עסקית לפי עקרונות FBP (Flow Based Programming), ומבצע משימות לבד, בצורה חכמה ואוטונומית.
שימו לב – תרגול זה מובנה מאוד והוא מהווה בסיס למחקר וללימוד דרך ״לכלוך הידיים״ בהמשך הדרך. חשוב להכיר את החלקים השונים בתרגול ובמערכת. עם זאת – בכל פרק וסעיף, הרגישו חופשי לחקור יותר לעומק ולסקור גם מושגים שונים ואפשרויות שונות שלא הוזכרו במפורש. נתקעתם? לא נורא – חזרו להוראות המקוריות, ותמיד אפשר להתחיל פרויקט חדש ונקי, ולהתנסות מראש הפרק הנוכחי.
בהצלחה!
הכנה – יצירת API Key לשירות מזג האויר OpenWeatherMap
נשתמש ב-API של OpenWeatherMap כדי לאפשר ל-Agent שלנו לשלוף מידע עדכני על מזג אוויר.
- אם עדיין אין לכם מפתח גישה (API Key) לשירות מזג האויר OpenWeatherMap – עשו זאת כעת לפי ההוראות המפורטות כאן.
ֿ
פרק 1: התחברות ל-n8n ויצירת Workflow חדש
בפרק זה נתחבר לחשבון ה-n8n שלנו, ניצור תהליך אוטומציה (Workflow) חדש ונגדיר את הטריגר שיתחיל אותו.
-
יצירת חשבון והתחברות:
- היכנסו לפלטפורמת n8n בכתובת https://n8n.io.
- התחברו לחשבון n8n הפרטי שלכם. אין לכם עדיין חשבון? צריך אחד לפי ההוראות כאן.
- במידת הצורך, לחצו על כפתור "Open Instance" הכתום כדי להיכנס לאזור האישי שלכם.
-
יצירת Workflow חדש:
- בפינה העליונה-ימנית של ממשק n8n, לחצו על Create Workflow –
- נפתחה אוטומציה (Workflow) חדשה.
- בפינה העליונה-ימנית של ממשק n8n, לחצו על Create Workflow –
-
הגדרת הטריגר (Trigger):
פרק 2: קבלת נתוני מזג אוויר מ-OpenWeatherMap
כעת, כשיש לנו טריגר, נוסיף את הפעולה (Action) הראשונה שלנו: פנייה ל-API של OpenWeatherMap כדי למשוך נתוני מזג אוויר עדכניים.
-
הוספת ה-Node של OpenWeatherMap:
-
הגדרת ה-Credential (אימות):
הוספנו צעד חדש לאוטומציה. כעת נגדיר לו Credential (פרטי אימות).
-
הגדרת הפעולה ובדיקה:
לאחר שמירת ה-Credential, חזרתם למסך הגדרות ה-Node.
- בשדה City, הכניסו שם של עיר לבחירתכם (למשל, "Eilat").
- טיפ: ניתן גם לבחור שפה בשדה Language ולהכניס שם עיר בעברית.
- כדי לבדוק שהשלב עובד, לחצו על כפתור Execute step בתחתית חלונית ההגדרות.
- לאחר הרצה מוצלחת, תראו מימין את מבנה התשובה (Output) שהתקבלה מה-API של שירות מזג האויר.
n8n – פלט Node - תוכלו לצפות בתוצאה ב-3 תצוגות: JSON (המידע הגולמי), Table (טבלה), ו-Schema (מבנה סכמטי של השדות).
פרק 3: שליחת התחזית במייל
לאחר שקיבלנו בהצלחה את נתוני מזג האוויר, נשתמש ב-Node של Gmail כדי לשלוח את המידע הרלוונטי במייל.
-
הוספה ואימות של Gmail Node:
- סגרו את עורך הבלוק של OpenWeatherMap (לחצו על החץ חזרה למעלה).
- לחצו על סימן ה-[+] בסוף האוטומציה והוסיפו בלוק נוסף.
- חפשו ובחרו ב-Gmail.
- מתוך רשימת הפעולות, בחרו ב-Send a message.
- תחת Credential to connect with, בחרו Create new credential.
- שירות Gmail משתמש בשיטת אימות אחרת בשם OAuth, במקום השימוש ב API Key כמו שאנחנו רגילים.
בחלון שנפתח, לחצו על Sign in with Google. - בחלון ה-Popup שייפתח, בחרו את חשבון ה-Gmail שלכם, אשרו את ההרשאות הנדרשות ל-n8n ולחצו Continue.
- לאחר קבלת הודעת אישור ירוקה, לחצו Save.
-
כתיבת תוכן המייל (שימוש במידע דינמי):
- חזרתם להגדרות בלוק ה-Gmail.
- בשדה To, כתבו את כתובת המייל אליה תרצו לשלוח את ההודעה (למשל, הכתובת שלכם).
- בשדה Subject, כתבו: "מזג האויר היום".
- בשדה Email Type בחרו באפשרות Text. זה מגדיר שתוכן המייל שנשלח הוא בפורמט טקסט פשוט ולא HTML (כלומר טקסט עשיר עם תמונות והגדרות עיצוב).
- כעת נגדיר את גוף ההודעה (Message) ונשתמש במידע מהשלב הקודם.
- בשדה ה Message התחילו לכתוב:
מזג האויר כעת באילת הוא: - כדי לשבץ את נתון מזג האויר העדכני בגוף ההודעה, נשתמש בתוצאה מהצעד הקודם.
בחלונית הקלט – Input משמאל (הפלט של הצעד הקודם הוא הקלט של הצעד הנוכחי), ודאו שאתם במצב תצוגה Schema.
n8n – מצב קלט (סכימה) - תחת הפלט של OpenWeatherMap ואובייקט main, אתרו את השדה temp וגררו אותו אל תוך תיבת ה-Message, מיד בהמשך לטקסט שכתבתם.
- תבחינו שבתיבת הטקסט הופיע ביטוי (Expression), למשל:
{{$json.main.temp}}. זהו משתנה שיכיל את הערך הדינמי שהתקבל. - אם תרחפו עם סמן העבר מעל שדה ה Message, תבחינו גם שהסטטוס שלו השתנה מ Fixed ל Expression. זה קובע שהטקסט בשדה הוא דינמי.
n8n – שדה דינמי - לחצו על סמל הרחבת העורך (סימן
בפינה הימנית של שדה ה-Message) כדי לפתוח עורך טקסט מלא.
- בעורך, הוסיפו טקסט חופשי כרצונכם. לדוגמה: "הטמפרטורה היום היא: ".
- תוכלו להוסיף עוד שדות, למשל לגרור את wind.speed ולהוסיף טקסט "מהירות הרוח היא: ".
n8n – עורך טקסט מלא - שימו לב שבחלק הימני של העורך (תחת Result), תוכלו לראות את התוצאה – הטקסט הסופי שיוצג במייל, לאחר ש n8n שיבץ את הערכים האמיתיים של השדות שהוספתם.
n8n – אוטומציה מלאה
-
בדיקה סופית של כל התהליך:
- סגרו את חלון עורך הטקסט ואת עורך הבלוק, וחזרו למשטח העבודה הראשי.
- כדי להריץ את כל התהליך מההתחלה ועד הסוף, לחצו על כפתור Execute workflow (בדרך כלל בתחתית משטח העבודה).
- עקבו אחר תיבת המייל שלכם. האם המייל הגיע? האם התוכן תואם את מה שהגדרתם?.
פרק 4: הפעלה אוטומטית (תזמון)
עד כה הפעלנו את התהליך ידנית. כעת נגדיר טריגר נוסף, מבוסס זמן, שיריץ את האוטומציה באופן קבוע פעם ביום.
-
הגדרת טריגר מבוסס-זמן (Schedule):
- חזרו למשטח העבודה. הוסיפו Trigger Node חדש (באותה דרך שהוספתם את הטריגר הידני, אך כעת הוא לא יהיה הצעד הראשון).
- מתוך רשימת הטריגרים, בחרו ב-Schedule.
- במסך ההגדרות של ה-Schedule, בחרו הפעלה יומית (Mode: Every Day) והגדירו שעה קבועה (למשל, 8:00).
- סגרו את חלונית ההגדרות.
- כעת, גררו את נקודת החיבור (העיגול) מה-Schedule Trigger שיצרתם אל ה-Node של OpenWeatherMap (אל נקודת הכניסה שלו).
- תוצאה: כעת יש לכם שני טריגרים שמפעילים את אותו תהליך: הפעלה ידנית ובנוסף הפעלה אוטומטית כל יום ב-8:00 בבוקר.
- שמרו את ה-Workflow שלכם. האוטומציה הראשונה שלכם מוכנה!.
תרגול פתוח
כעת, אחרי שבניתם את התהליך הבסיסי, זה הזמן "ללכלך את הידיים" ולהתנסות באופן חופשי. המטרה היא לחקור אפשרויות נוספות ולבסס את ההבנה שלכם.
-
בונוס: שימוש בטריגר צ'אט:
- נסו להחליף את הטריגר הידני (Manual Trigger) בטריגר מסוג on chat message.
- טריגר זה (שניתן, בהמשך, לשלוח כקישור ישיר ללקוחות) מאפשר לקבל קלט ממשתמש.
- נסו לקחת את הטקסט שהמשתמש שולח בצ'אט (למשל, "London") ולהעביר אותו באופן דינמי לשדה ה-City ב-Node של OpenWeatherMap.
- רמז: עושים זאת באותה שיטת גרירה (drag-and-drop) שבה השתמשתם כדי לגרור את הטמפרטורה לגוף המייל!.
-
רעיונות נוספים:
- חקרו Nodes נוספים. נסו להוסיף Node מסוג IF אחרי קבלת מזג האוויר.
- ב-IF, בדקו אם הטמפרטורה (main.temp) "גדולה מ-" 25.
- אם כן (TRUE), שלחו מייל עם התוכן "חם היום!". אם לא (FALSE), שלחו מייל עם התוכן "קריר היום".
- נסו לשלוח את המידע ל-Google Sheets במקום ל-Gmail.
סיכום
בתרגול זה בנינו תהליך אוטומציה פשוט אך אפקטיבי ב-n8n. למדנו להתחבר ל-API חיצוני (OpenWeatherMap), לקבל ממנו מידע, לבחור חלקים ספציפיים מתוך התשובה שהתקבלה, ולהשתמש בהם כדי לשלוח נוסח מייל דינמי.
התרגול המחיש כיצד ניתן לתכנן תהליכים חכמים המופעלים בלחיצה (ידנית) או באופן מתוזמן (אחת ליום), כל זאת באמצעות ממשק ויזואלי וללא כתיבת קוד. זוהי נקודת פתיחה מצוינת להבנת העוצמה והגמישות של n8n ככלי אוטומציה.