טריגרים הם מנוע האוטומציה של MyBusiness CRM. במדריך זה תלמדו להגדיר תנאים מדויקים, לבחור את סוג הפעולה הנכון ולהימנע מטעויות נפוצות.
מדריך זה מרחיב את המדריך הבסיסי לטריגרים ומתמקד ביכולות המתקדמות: סוגי טריגרים, הגדרת תנאים מורכבים, שמונה סוגי פעולות ושימוש בתוכן דינמי. אם טרם הגדרתם טריגר בסיסי, מומלץ לקרוא קודם את המדריך הבסיסי.
סוגי טריגרים
המערכת תומכת בשני סוגי טריגרים עיקריים:
טריגר שינוי נתונים (Data Change)
טריגר זה מופעל כאשר רשומה נוצרת או מתעדכנת בטבלה מסוימת.
- בחרו את הטבלה שעליה הטריגר יפעל.
- הגדירו את אירועי ההפעלה — יצירה (create), עדכון (update) או שניהם.
- בשדה onSetFields ציינו אילו שדות חייבים להשתנות כדי שהטריגר ירוץ. לדוגמה, אם בחרתם את השדה
Status, הטריגר יופעל רק כאשר ערך הסטטוס משתנה. - סמנו את oneachupdate אם רוצים שהטריגר יופעל בכל עדכון של הרשומה (ולא רק בפעם הראשונה שהתנאים מתקיימים).

הגדרת טריגר שינוי נתונים — בחירת אירועים ושדות מפעילים
טריגר מתוזמן (Scheduled)
טריגר זה מופעל בזמן מסוים ביחס לערך של שדה תאריך ברשומה.
- בחרו את הטבלה ואת שדה התאריך שישמש כבסיס לתזמון (למשל
NextMeeting). - הגדירו את shcedulerHours — מספר השעות לפני (ערך חיובי) או אחרי (ערך שלילי) התאריך. ערך 0 מפעיל את הטריגר בדיוק בזמן שנקבע.
דוגמה: טריגר שמתוזמן 24 שעות לפני פגישה ישלח תזכורת ללקוח יום לפני המועד.
הגדרת תנאים (Criteria)
תנאים מאפשרים לסנן את הרשומות שעליהן הטריגר יפעל. ניתן לשלב מספר תנאים יחד.
סוגי השוואות
| השוואה | משמעות | דוגמה |
|---|---|---|
| equalTo | שווה ל- | סטטוס שווה ל-"פעיל" |
| notEqualTo | לא שווה ל- | סטטוס לא שווה ל-"נסגר" |
| contains | מכיל | שם מכיל "בע״מ" |
| greaterThan | גדול מ- | סכום גדול מ-1000 |
| lessThan | קטן מ- | ימים לסגירה קטן מ-7 |
| containedIn | נמצא ברשימה | סטטוס נמצא ב-["חדש", "בטיפול"] |
שילוב תנאים — AND לעומת OR
כברירת מחדל, כל התנאים מחוברים ב-AND — כולם חייבים להתקיים. כדי ליצור תנאי OR, סמנו את השדה condOr באותם תנאים שמספיק שאחד מהם יתקיים.
דוגמה: טריגר שרץ כאשר הסטטוס הוא "דחוף" או שסכום העסקה גדול מ-50,000 — הגדירו שני תנאים וסמנו את שניהם כ-condOr.
תנאים על שדות מקושרים (Pointer)
ניתן להגדיר תנאים על שדות של רשומות מקושרות באמצעות תחביר נקודה. לדוגמה: OwnerId._User.name בודק את שם המשתמש שמשויך לרשומה.
הגדרת תנאים מרובים עם שילוב AND ו-OR
שמונה סוגי פעולות
לכל טריגר ניתן להגדיר פעולה אחת או יותר מהסוגים הבאים:
1. שליחת מייל (Email)
שליחת הודעת דוא"ל אוטומטית על בסיס תבנית.
- נדרש חשבון SMTP מוגדר במערכת.
- בחרו תבנית מייל מתוך תבניות הדוא"ל הקיימות.
- הגדירו את כתובת היעד — קבועה או מתוך שדה ברשומה (למשל שדה מייל של איש קשר).
- ניתן לשמור את ההודעה בטבלת Emails לצורך מעקב.
2. שליחת SMS
שליחת הודעת טקסט לטלפון הנייד.
- נדרש חיבור לשירות SMS (Twilio או Plivo).
- תוכן ההודעה תומך בתוכן דינמי — למשל:
שלום {{{Name}}}, תזכורת לפגישה מחר. - מומלץ לסמן useQueue כאשר שולחים הודעות בכמויות גדולות.
3. קריאת HTTP (Webhook)
שליחת נתוני הרשומה לכתובת URL חיצונית.
- תומך בשיטות GET, POST, PUT, DELETE ו-AUTO (POST ליצירה, PUT לעדכון).
- ניתן להוסיף Headers מותאמים אישית.
- הכתובת תומכת בתוכן דינמי:
https://example.com/api/{{{objectId}}}. - סמנו useQueue לביצוע בתור כאשר צפוי עומס גבוה.
4. יצירת רשומה (Create Object)
יצירת רשומה חדשה בטבלה אחרת כתגובה לטריגר.
- בחרו את טבלת היעד שבה תיווצר הרשומה.
- הגדירו ערכי שדות — דינמיים (מהרשומה שהפעילה את הטריגר) או סטטיים (ערך קבוע).
- לערך דינמי של שדה מקושר השתמשו בתחביר:
AccountId.Accounts.Name. - לקישור לרשומה המפעילה השתמשו בערך
currentObject.
5. עדכון רשומה (Update Object)
עדכון רשומה קיימת בטבלה אחרת.
- הגדירו את connection — הכיוון והשדה למציאת הרשומה לעדכון:
target.SaleId— הרשומה המעודכנת מצביעה (Pointer) אל הרשומה המפעילה.source.AccountId— הרשומה המפעילה מצביעה אל הרשומה שיש לעדכן.
- הגדירו את ערכי השדות לעדכון, בדומה ליצירת רשומה.
6. שליחת הודעת WhatsApp
שליחת הודעת WhatsApp על בסיס תבנית מאושרת.
- נדרש חשבון WhatsApp Business מחובר.
- בחרו תבנית מאושרת והגדירו את הפרמטרים הדינמיים שלה.
- מספר היעד יכול להיות קבוע או מתוך שדה ברשומה.
7. התראה במערכת (Notification)
יצירת התראה פנימית במערכת ה-CRM עבור משתמש מסוים.
- בחרו את המשתמש — קבוע (לפי מזהה) או דינמי (מתוך שדה ברשומה).
- כתבו את תוכן ההתראה עם תוכן דינמי.
- בחרו אייקון (מתוך FontAwesome 3.4, למשל
fa-bell) וצבע.
8. קוד צד שרת (Server-Side Code)
הרצת פונקציית ענן מותאמת אישית.
- ציינו את שם הפונקציה שהוגדרה מראש בצד השרת.
- סמנו useQueue לביצוע בתור כאשר צפויה הפעלה מקבילית רבה.
בחירת סוג פעולה לטריגר
תוכן דינמי בפעולות
אחד הכלים החזקים ביותר בטריגרים הוא היכולת לשלב תוכן דינמי מהרשומה שהפעילה את הטריגר.
תחביר בסיסי
השתמשו בסוגריים מסולסלים משולשים כדי למשוך ערכים מהרשומה:
{{{Name}}}— שם הרשומה{{{Email}}}— כתובת המייל{{{objectId}}}— המזהה הייחודי של הרשומה
שדות מקושרים
לגישה לשדות של רשומות מקושרות:
{{{AccountId.Name}}}— שם החשבון המקושר{{{OwnerId.name}}}— שם בעל הרשומה
עיצוב תאריכים
לתאריכים יש תחביר עיצוב מיוחד:
{{{CreatedDate.format(date,he-IL,Asia/Jerusalem)}}}— תאריך בעברית{{{MeetingTime.format(datetime,he-IL,Asia/Jerusalem)}}}— תאריך ושעה{{{StartTime.format(timehm,he-IL,Asia/Jerusalem)}}}— שעה בלבד
אפשרויות הפורמט: date (תאריך בלבד), timehm (שעה ודקות), datetime (תאריך ושעה).

דוגמה לשימוש בתוכן דינמי בתבנית מייל
אזהרות חשובות וטיפים
שימו לב: הקפדה על הכללים הבאים תמנע בעיות ביצועים ושגיאות בלתי צפויות.
הימנעו משרשראות טריגרים ארוכות
המערכת מגבילה שרשרת טריגרים ל-3 רמות עומק בלבד. אם טריגר בטבלה א' מעדכן טבלה ב', וטריגר בטבלה ב' מעדכן טבלה ג' — טריגר נוסף בטבלה ג' לא יופעל. תכננו את האוטומציה בהתאם.
השתמשו ב-useQueue לעדכונים המוניים
אם הטריגר צפוי לרוץ על מספר רב של רשומות בו-זמנית (למשל עדכון סטטוס המוני), סמנו את useQueue בפעולה כדי שהביצוע יתבצע בתור ולא במקביל.
בדקו עם נתונים מצומצמים
לפני הפעלת טריגר על כלל הנתונים, בדקו אותו על מספר קטן של רשומות. ודאו שהתנאים, הפעולות והתוכן הדינמי עובדים כמצופה.
תיעדו את הטריגרים שלכם
נהלו רשימה של כל הטריגרים הפעילים במערכת, כולל הטבלה, התנאים והפעולות. זה יעזור למנוע התנגשויות ולהקל על תחזוקה עתידית.
סקירת טריגרים פעילים במערכת
טיפ מקצועי: התחילו פשוט — הגדירו טריגר בסיסי עם פעולה אחת, ורק אחרי שוידאתם שהוא עובד כהלכה, הוסיפו תנאים ופעולות נוספות. גישה הדרגתית חוסכת זמן ניפוי שגיאות.