מעבדת n8n: טפסים מרובי שלבים

תוכן עניינים

בתרגול הקודם (תהליך אונבורדינג עם n8n Forms) למדנו כיצד ליצור טופס בסיסי שאוסף מידע ומתחיל תהליך אוטומציה. כעת, נעלה שלב ונבנה טופס רב-שלבי (Multi-step Form) דינמי וחכם.
 
בתרחיש זה נבנה "מחולל סילבוסים חכם". דמיינו חברת הדרכה שרוצה להציע ללקוחות פוטנציאליים הצעות מחיר לסדנאות. במקום טופס סטטי ומשעמם, נבנה תהליך שבו:
 

  1. הלקוח מזין נושא כללי ורמת קושי.
  2. סוכן AI מנתח את הבקשה ומייצר בזמן אמת 3 הצעות לשמות וכיוונים לסדנה.
  3. הלקוח מקבל מיד (בשלב השני של הטופס) את ההצעות שה-AI יצר, בוחר את המועדפת עליו, ורק אז שולח את הפרטים לסגירה.

 
זהו שימוש קלאסי בטפסים מרובי שלבים: השלב השני תלוי לחלוטין בעיבוד הנתונים שבוצע לאחר השלב הראשון.
 
שימו לב – תרגול זה מובנה מאוד והוא מהווה בסיס למחקר וללימוד דרך ״לכלוך הידיים״ בהמשך הדרך. חשוב להכיר את החלקים השונים בתרגול ובמערכת. עם זאת – בכל פרק וסעיף, הרגישו חופשי לחקור יותר לעומק ולסקור גם מושגים שונים ואפשרויות שונות שלא הוזכרו במפורש. נתקעתם? לא נורא – חזרו להוראות המקוריות, ותמיד אפשר להתחיל פרויקט חדש ונקי, ולהתנסות מראש הפרק הנוכחי.
 
בהצלחה!


פרק 1: הקמת הטופס הראשוני (Form Trigger)

בשלב זה נגדיר את נקודת הכניסה של המשתמש. אנו רוצים לאסוף את המידע הגולמי שישלח ל-AI לעיבוד.

הכנה

צרו Workflow חדש ב-n8n. תנו לו את השם "AI Workshop Generator".
 

  1. הוספת טריגר הטופס
     

    • לחצו על כפתור הוספת Node וחפשו n8n Form Trigger.
    • פתחו את הגדרות ה-Node.
    • בשדה Form Title, כתבו: New workshop request.
    • בתוך הגדרות הטופס, הוסיפו את השדות הבאים (Fields):
       

      Field Name Element Type Options Example
      topic Text -- ניהול זמן
      level Dropdown beginner / Intermediate / Advanced Beginner
      participants Number -- 15
  2. בדיקה ראשונית
     

    • לחצו על כפתור Test Workflow.
    • העתיקו את הקישור לטופס (Test URL) ופתחו אותו בלשונית חדשה בדפדפן.
    • מלאו פרטים לדוגמא (למשל: נושא "Cyber Security", רמה "Beginner") ולחצו על Submit.
    • חזרו ל-n8n וודאו שהמידע התקבל בהצלחה ב-Output.

פרק 2: המוח - שילוב AI Agent

כעת, ניקח את הקלט מהמשתמש ונבקש מודל שפה לייצר עבורנו אפשרויות בחירה לשלב הבא.

 

  1. הוספת מודל שפה (Chat Model)
     

    • הוסיפו לאחר טריגר ה Form בלוק מסוג Ai Agent וחברו אליו מודל שפה (או כל ספק אחר שיש ברשותכם כמו Anthropic).
    • הגדירו את ה-Credential שלכם.
    • שימו לב: ה-Node הזה לא מתחבר ישירות לזרימה, אלא ישמש כ"כוח מניע" ל-Agent שנוסיף מיד.
  2. הגדרת ה-System Message
     

    • בשדה ה-System Message, עלינו להנחות את המודל להחזיר תשובה בפורמט JSON בלבד, כדי שנוכל להשתמש בזה בטופס הבא.
    • העתיקו את ההוראה הבאה:
       

      You are a professional workshop curriculum planner.
      Based on the user's topic and level, generate 3 catchy titles for a workshop.
      
      You MUST return the output strictly as a JSON array of objects, where each object has a "name" field.
      
      Example format:
      [
          {"name": "Cyber Security Basics: Stay Safe"},
          {"name": "Hacking 101: Introduction"},
          {"name": "Network Defense Strategies"}
      ]
      
      Do NOT add any markdown formatting (like ```json). Just the raw JSON.
      Use the same user-input language.
      
  3. הגדרת הפורמט
     

    כדי לחזק את מבנה הפלט ולאפשר עקביות - נוסיף לסוכן Output Parser.

     

    • הפעילו בסוכן את האפשרות Required Specific Output Format והוסיפו Structured Output Parser.
    • בדוגמת ה JSON העבירו את המבנה הבא:
       

      
      [
      	{"name": "Jailbreaking: Challenging Red-Teaming Workshop"}
      ]
      

       
      * שימו לב - במקרה שלנו מבנה הפלט הנדרש הוא מערך אובייקטים - אחד לכל כותרת אפשרית.

  4. הגדרת הודעת המשתמש (User Message)
     

    • חזרה לבלוק הסוכן, בשדה Source for Prompt (User Message) עברו למצב Define below.
    • בשדה ה-User Message, שלבו את המידע מהטופס בצורה דינמית.
    • השתמשו בביטויים (Expressions) כדי למשוך את ה-Topic וה-Level. לדוגמא:
       

      
      The user wants a workshop on: {{ $json.topic }}
      
      The audience level is: {{ $json.level }}
      

       


פרק 3: עיבוד המידע ובניית השלב השני

ה-AI מחזיר טקסט (String). כדי ש-n8n ידע להציג את זה כאפשרויות בחירה בטופס הבא, עלינו לוודא שהמערכת מבינה שזהו אובייקט JSON.

 

  1. הוספת הטופס השני (The Form Node)
     

    • כעת, הוסיפו Node מסוג n8n Form (שימו לב: זהו ה-Node הרגיל, לא ה-Trigger!). חברו אותו אחרי ה-Ai Agent.
    • node זה יעצור את הריצה ויציג למשתמש שלב נוסף בתהליך מילוי הטופס הראשוני.
    • בהגדרות ה-Form, הוסיפו שדה חדש מסוג Dropdown, תנו לו את השם Workshop Title.
    • הוסיפו 3 אפשרויות בחירה לשדה ה Dropdown, ולכל אחת מהן משכו את אחד משלושת השמות שהציע הסוכן בבלוק הקודם - Ai Agent.
    • זה יגרום לטופס להציג באופן דינמי את מה שה-AI המציא לפני רגע.
    • הוסיפו שדה נוסף מסוג Text Area להערות נוספות ("בקשות מיוחדות").

  2.  

  3. סיום התהליך
     

    • לאחר הטופס השני, ניתן להוסיף Node פשוט ששולח מייל, או מעדכן Google Sheet עם הבחירה הסופית של הלקוח.
    • לצורך התרגול, אפשר להסתפק בבלוק נוסף מסוג n8n FormForm Ending, ולהשתמש בנתונים הדינמי שנבחר כדי להציג הודעת סיום ללקוח, כגון: ״תודה שבחרת ב_____, ניצור איתך קשר בהקדם״.

תרגול פתוח

יצרתם מערכת שמייצרת תוכן בזמן אמת ומאפשרת למשתמש לבחור מתוכו. זהו בסיס חזק מאוד לאפליקציות מורכבות. כעת, נסו לקחת את זה רחוק יותר:

 

  • שליטה בטמפרטורה: שנו את ה-Temperature במודל ה-OpenAI. נסו ערך גבוה (0.9) לקבלת שמות סדנאות יצירתיים ומשוגעים, וערך נמוך (0.2) לשמות רשמיים וקורקטיים.
  • העשרת המידע: בקשו מה-AI להחזיר ב-JSON לא רק שם (name), אלא גם תיאור קצר (description). בטופס השני, נסו להציג את התיאור ליד השם (זה עשוי לדרוש מניפולציה ב-Code Node כדי לחבר אותם למחרוזת אחת עבור ה-Display).
  • ולידציה: מה קורה אם המשתמש כותב "כלום" בשדה הנושא? הוסיפו Node של If לפני ה-AI כדי לוודא שיש קלט הגיוני, ואם לא - החזירו אותו לטופס שגיאה.
  • המשך תהליך: השלב הבא בתהליך הוא הצעת שלד לסילבוס עם חלוקה לזמנים - צרו בלוק חדש של סוכן ובקשו ממנו לבצע את המשימה לפי בחירת המשתמש. הוסיפו סוכנים נוספים ב״פס הייצור״ עד להשלמת התהליך, וחשבו - האם התהליך באמת חייב להיות ליניארי? האם ישנם נקודות בהם ניתן ״למנות״ מנהל Ai שיפעיל סוכני משנה, לקבלת תוצרים יצירתיים ומפתיעים יותר?

בתרגול זה למדנו כיצד לשבור את הפרדיגמה של טופס ליניארי רגיל. השילוב של n8n Form Trigger יחד עם Node ה-Form באמצע התהליך, מאפשר יצירת חווית משתמש "מתגלגלת" (Conversational Interface) ללא צורך בפיתוח Frontend מורכב. הוספת ה-AI למשוואה הופכת את הטופס לכלי שיווקי ומכירתי חכם שמייצר ערך למשתמש תוך כדי תהליך המילוי.