גרסת קריאה בעברית. קובץ ההוראות או המדריך המקורי זמין להורדה בקישור העליון.

סקיל הליד והסטטוס: לשמור זהות ומשמעות

גבולות גרסה והרשאה, המשותפים לששת הסקילים

לפני עבודה קוראים את פרופיל הלקוח שנבחר ואת החוזה המדויק בשורש החבילה. גרסת V1 שלא הומרה משתמשת ב־contracts/pipeline.contract.json, במצב simulation, במזהי הדגמה, ברשומות סינתטיות שסופקו, בתמונות מציינות־מקום גיאומטריות ובמאמת מקומי בלבד. מגבלות V1 ממשיכות לחול. לעבודה ב־V2 בוחרים במפורש contracts/pipeline.v2.contract.json; קלט V1 שלא הומר נדחה עם הסבר. המרה יוצרת קובץ סימולציה נפרד, שומרת את המקור, משלימה שדות חסרים ומחשבת מחדש את כל ה־digests. היא אינה הופכת approve_demo לאישור אנושי. שם מצב או מעבר אימות סכימה אינם מפעילים חיבור לחשבון. הבנייה המקומית הזו אינה משתמשת ברשת, בחשבונות, בסודות, בהתקנות או ברשומות לקוח. בדיקת אינטגרציה ופיילוט לקוח הם שערים נפרדים בעתיד, לא יכולות שהוכחו כאן.

כשחיבור אושר בנפרד, מעדיפים API, MCP או connector מורשה. דפדפן הוא חלופה רק כאשר היכולת אינה זמינה במסלול התכנותי המורשה, ובאותה רמת הרשאה. הסקיל עצמו אינו מפעיל סקריפטים חיצוניים, מתקינים, כלי מודל בשורת פקודה או שירותים. מזהי כללי המקור בסעיפים הבאים מפנים אל docs/knowledge-register-v1.md שנבדק ב־24/10/2026. התנהגות אמיתית שלא נבדקה נשארת לא מאומתת.

מתי משתמשים: רק אחרי שהוגדר מקור ליד ויעד, כדי לקלוט ליד לפי גבולות ההרשאה ולתאר את מצב הטיפול. קלט: פרופיל, מיפוי מקור ויעד, הרשאה לאירוע ולכתיבה. פלט: רשומה שנבדקה או מצב מדויק של תור, כשל או אי־ודאות; לא הכרזה אוטומטית על מכירה.

לפני בקשת OAuth או פרויקט חדש בודקים connector קיים ומורשה ל־CRM או Sheets ואת יכולת הקריאה והכתיבה ליעד המדויק. ב־MVP מפוקח מוסרים לחיבור תוכנית כתיבה מוגבלת עם tenant, מסלול, מזהה מקור ליד יציב ומזהה כתיבה; בוחנים את תגובתו, קוראים את השורה חזרה ורושמים ביומן. תוכנית או המלצה אינן מסירה. בדיקה דרך חיבור סוכן אינה מוכיחה webhook או פעולה כשהצ׳אט נסגר. לקליטה רציפה בודקים אינטגרציה קיימת בבעלות הלקוח או מתארים במדויק מה חסר ומבקשים אישור.

סדר החלטת החיבור: (1) אם החיבור הקיים של הסוכן מבצע את הפעולה המפוקחת, משתמשים בו ומדווחים תגובה וקריאה חוזרת. (2) לקליטה רציפה מחוץ לצ׳אט מעדיפים חיבור ישיר מתאים מטופס ל־CRM שהלקוח כבר מפעיל. (3) מציעים n8n בבעלות הלקוח רק אם נדרשים ניתוב מותאם, מיפוי שדות, כמה יעדים, ניסיונות חוזרים או משוב סטטוס. לפני הקמה מתארים טריגר ואימות מקור, מיפוי שדות ו־tenant, מפתח ליד יציב והתנהגות בחזרה, כתיבה וקריאה חוזרת ביעד, פיוס של כתיבה עמומה, ניסיונות חוזרים מוגבלים, התרעת כשל וחזרת שינוי סטטוס לדוח. מתעדים בעלים, הרשאות מינימום, שמירת נתונים ואישורים. הסוכן מספק שיקול דעת ופעולות מפוקחות; מנוע זרימה מוגדר מטפל באירועים רציפים. המלצה או תרשים n8n אינם חיבור פרוס.

זהות לקוח ויעד [A2, S1, N2]

לפני קבלת אירוע קוראים פרופיל, מיפויי מקור ובעלים, מסלול והרשאת קליטה מפורשים. בודקים בכל אירוע וקריאת מקור tenant, חשבון, דף, טופס ויעד; זהות חסרה או לא תואמת נדחית ללא ברירת מחדל. זהות ליד ייחודית היא (tenant_id, source_lead_id); אותו מזהה בשני לקוחות הוא שני לידים שונים. replay זהה הוא idempotent; replay ששונה הוא סתירה, לא דריסה או איפוס סטטוס. יעד Sheets הוא יעד ראשון לפיילוט סינתטי פרטי ונפרד, לא דרישת Airtable או Monday לכל לקוח ולא הרחבת ספק אוטומטית. אין נתוני שם, טלפון או מייל אמיתיים ואין שיתוף ציבורי של גיליון בבנייה זו.

מגבילים במפורש גם spreadsheetId וגם sheetId ואת הסכימה שאושרה. מספר שורה אינו מזהה ליד: פותרים שוב את המפתח החיצוני היציב ואת מזהי המקור והכתיבה לפני כתיבה. מפתח שהוזז, נמחק, הוכפל או סכימה שהשתנתה עוצרים לפיוס. ערכים לא מהימנים נכתבים כ־RAW. המבצע שולט בעמודות מקור, קליטה ו־write_id; עמודות סטטוס, איכות, סיבה, הערות ובעלים שייכות לאדם ורגילות לקריאה בלבד. חריגים הם אתחול מאושר של שורה חדשה ובדיקת סטטוס סינתטית שאושרה בנפרד; replay לא מאתחל שדות אנושיים. מבנה מבוקר והשהיה לפני תחזוקה נדרשים; בדיקות מקומיות אינן אטומיות מול הזזת שורה בו־זמנית או עקיפה בידי בעל הגיליון.

כתיבה והתאוששות [S1, H1]

שומרים קליטה מאומתת לפני אישור קבלה; worker, תור ו־outbox הם שירותים מפורשים, לא תכונה של קובץ הסקיל. שומרים write_id ואת המצבים prepared / in-flight / confirmed / failed-safe / uncertain / confirmed_then_missing. שומרים מזהי ישויות אחרי השלמה חלקית. timeout, זמן שעבר, fencing מקומי או שתי חיפושים ריקים אינם הוכחה שכתיבה מרוחקת בוטלה. לא מנסים שוב בעיוורון ולא ממציאים מזהה מקור חדש. פותרים מצב uncertain רק בראיית יעד מספקת או בהחלטה אנושית מוגבלת ומתועדת. מחיקה אחרי אישור מדווחת ולעולם אינה נוצרת מחדש אוטומטית. כותב יחיד ויומן עמיד מצמצמים מרוצים אך אינם מבטיחים exactly-once. מכבדים חלון חיפוש ומכסות; אין להניח של־Sheets יש upsert מותנה או change feed. queued מדווח כתור, לא כמסירה; פעולה של תהליך עצמאי מוכיחים בנפרד.

איכות ומדידה [N2, R1, M1]

סטטוס טיפול נפרד מאיכות ליד yes/no/not-reviewed, מהגדרת הלקוח וגרסתה, מסיבה, בודק ומועד הערכה. חסר סקירה הוא לא ידוע, לא "לא איכותי". תווית "מכירה מוצלחת" שנרשמה אינה הוכחת עסקה או הכנסה; דורשים ראיה עסקית נפרדת. מזהה מודעה חסר נשאר null/unknown. שומרים זמן יצירת מקור, זמן תצפית ו־is_test לצורך קבוצות זמן. מרעננים מקור בחלון שאושר ומחריגים בדיקות מדוחות עסקיים. מדווחים רק את מצב Sheets האחרון שנצפה, לא היסטוריית עריכות מלאה או זהות אנושית שהוסקה מתא. עוקבים אחרי פערי קליטה וסטטוס מול צילומי מצב מקור. מסירה מרוחקת, אבטחה, שירות רקע, מכירה והכנסה נשארים לא מאומתים עד בדיקה נפרדת.