עבודה עם איירטייבל ומייק – טיפים וטריקים

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

מייק הוא שירות אוטומציה ואיירטייבל היא מערכת נתונים, כמו אקסל אונליין משוכלל.

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

תוכן עניינים

חיפוש ועדכון רשומה באיירטייבל

כדי לעדכן רשומה באיירטייבל, אנחנו צריכים לדעת מה המזהה של הרשומה, ולכן השלב הראשון אחרי הוובהוק הוא מודול Search Records.

מודול Search Records

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

בשורת ה-Formula, נשים את שם השדה מאיירטייבל בתוך סוגריים מסולסלים {fields_name} נוסיף סימן שווה וניקח את השדה הרלוונטי מהוובהוק.

את ה-Limit שיניתי לאחד, כי צריכה להיות רק תוצאה אחת מתאימה.

אם הערך שאנחנו מחפשים אינו מספר, נוסיף גרשיים מסביבו (גרש בודד מכל צד). בתמונה הבאה:

– {Email} מייצג את שם העמודה באיירטייבל, אותו נשים בתוך גרשיים מסולסלות.

– 'Billing email' – מייצג את הערך שקיבלנו ממודול אחר ואותו אנו רוצים לחפש באיירטייבל. אם הוא לא מספר, החיפוש יעבור רק אם נקיף אותו בגרש.

הוספת תאריך לאיירטייבל

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

בתמונה אנחנו רואים שדה תאריך שהגיע מוובהוק עם נתון של 6 במרץ.

אבל כשמייק שולח את המידע לאיירטייבל, הוא הופך את החודש והיום. במקום 6 למרץ, הוא שולח לאיירטייבל תאריך של 3 ביוני.

נשתמש בנוסחה parseDate וב-tokens של מייק כדי להסביר לו את מבנה התאריך שלנו, וכך הוא יידע שהספרות באמצע אחרי השנה מייצגות את החודש.  אם יש בשדה התאריך שעה נתייחס גם אליה. התוצאה של הנוסחה תהיה תאריך נכון וכך הוא יירשם כמו שצריך באיירטייבל.

מידע חסר ifempty

לא תמיד יהיה לנו נתונים בשדה הדרוש לנו, ונרצה לתת ערך חלופי על ידי שימוש בנוסחה ifempty. למשל במודול של Parse Phone Number, שלוקח מספר טלפון ומחזיר אותו בפורמט טלפון ישראלי. אני רוצה שהוא יפרס את הטלפון למשלוח, אבל הרבה פעמים אין טלפון למשלוח, אלא רק טלפון לחיוב.

הנוסחה אומרת לו – אם יש טלפון למשלוח, תפרס אותו. אם אין – תפרס את הטלפון לחיוב. אם הייתי שמה רק את הטלפון למשלוח, והוא לא היה קיים, הייתי מקבלת error והסנריו היה עוצר.

שדה לא קיים

מקור המידע שלנו יכול להכיל שדה שבחלק מהפעמים לא יהיה קיים במידע הנשלח.

למשל במקרה של החנות של מיאומי, לקוח שמבצע הזמנה רגילה צריך לבחור תאריך משלוח ואז יוחזר תאריך משלוח. אבל כשיש הזמנה של איסוף עצמי או חידוש הזמנת מנוי, אין בחירה של תאריך והשדה חוזר עם false ובעריכת הסנריו נראה את השדה עם מסגרת צבעונית ורקע לבן (בניגוד לשדה רגיל שהרקע שלו צבעוני).

אם שדה לא קיים מגיע כערך ריק, הסנריו שלו יכול לעבוד, אבל אם הערך הוא false הסנריו עלול להיתקע באמצע. במקרה כזה נשתמש בנוסחת if שמחזירה ערך ריק אם השדה הוא false או את השדה עצמו אם יש בו מידע.

Total Number of Bundles

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

אז אני מריצה חיפוש Search Records על הטבלה הזו, ומחפשת בנוסחה רשומות בהם השדה של מזהה חשבונית ירוקה הוא ריק – זה מה שכתוב בשורת ה-Formula בתמונה. Client Green Invoice ID זה שם השדה באיירטייבל, ואני מחפשת רשומות בהם אין נתון בשדה הזה.

השלב הבא הוא להגדיר פילטר בין החיפוש למודול הבא. הפילטר אומר – תמשיך רק אם מצאת רשומות (לפי הנוסחה במודול הקודם). Total number of bundles אינו שווה לאפס. כלומר, נמצאה יותר מרשומה אחת מתאימה. הבאנדלס הוא כמות הרשומות שנמצאו שעונות על הקריטריון שהוגדר במודול הקודם.

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

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

פונקציית Switch

כשאנחנו רוצים להחזיר ערכים שונים בהתאם לנתונים שנקבל. למשל כאן – אם הערך של השדה *סה"כ שעות* הוא 1, אני רוצה שתוחזר המילה "שעה", ואם הערך של השדה הוא כל ערך אחר (כלומר, גדול מ-1), תוחזר המילה "שעות".

כך בתיאור המסמך יהיה רשום לי "5 שעות" או "1 שעה", תלוי בנתונים של המסמך. העברית ממש מבלבלת את הנוסחה במייק, אז לצורך התמונה מחקתי חלקים מהתיאור כדי שהעיקרון יהיה ברור. בגדול מה שאני עושה זה רושמת הכול באנגלית, וכשזה מסודר ויושב טוב, מחליפה איפה שצריך לעברית.

Iterator

אם יש לנו נתון אחד ואנו רוצים להוסיף שורה אחת – הכל קל וסבבה. אבל מה קורה כשהמידע שלנו יכול להכיל מספר לא ידוע של שורות? בשביל זה קיים ה-iterator.

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

השדה שכולל את הנתונים שיכולים להיות מפוצלים הוא מסוג array (מערך), וכל סט של נתונים בתוך המערך הוא collection. וה-Iterator מפצל את המידע שהגיע במערך למספר שורות, כמספר המוצרים שבהזמנה. כל שורה / רשומה מכילה מידע של collection אחד.

בתוך ה-Iterator נוסיף את השדה שהגיע לנו כ-array.

שדות מקושרים באיירטייבל

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

ברגע שהגדרתי שהשדה של מספר הזמנה יהיה מקושר, צריך לסמן במייק את האופציה של Smart Links, כדי כשמייק יוכל להוסיף רשומה חדשה בטבלה המפורטת. אם לא נסמן, כנראה שנקבל error.

הפיצ'ר הזה נמצא כשגוללים למטה בתוך המודול של איירטייבל. על הדרך, אפשר לשקול לפתוח את advanced settings ולסמן את Use Column ID. כך, אם תשנו את שמות העמודות באיירטייבל, האוטומציה שלכם לא תישבר. אבל קצת יותר קשה לעבוד כך עם השדות.

אגב, זה בדיוק מה שאני עשיתי (שיניתי את שם העמודה), דפקתי לעצמי את האוטומציה והיא הפיקה קבלה ללקוח רנדומלי במקום ללקוח הנכון! הייתי צריכה להוציא קבלה שלילית, חשבונית זיכוי ולהתנצל על הבלגן. לא נעים 🙂

 

הוספת ימים לתאריך באיירטייבל

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

הרצת מידע מההיסטוריה

כשעורכים סנריו הוא מציג נתוני אמת ליד השדות, אבל אלו בד"כ לא יהיו הנתונים האחרונים שהגיעו בוובהוק. אם המידע בוובהוק משתנה (כי הוספנו שדות, שינינו שמות) נרצה לראות את את הנתונים שהגיעו בפעם האחרונה שהסנריו רץ.

בשביל לעשות זאת:

1.  בתוך הסנריו, ניכנס להיסטוריה.

2. נלך לריצה האחרונה או לריצה שמכילה את המידע אותו אנו רוצים ונלחץ על Details.

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

4. יפתח לנו חלון עם נתוני הוובהוק, נלחץ על האייקון להורדה.

5. נבחר ב Download output bundles.

6. ייפתח עוד חלון עם נתוני ה-Json של הוובנוק, נסמן הכול ונעתיק את המידע (ctrl+c) או כפתור ימני והעתקה.

כעת נבנה סנריו חדש עם מודל HTTP

7. נלחץ על הפלוס הסגול, ונכתוב חיפוש http

8. נבחר במודול http

9. נבחר בפעולה Make a request

נמלא את הנתונים של מודול http:

את ה-url נשאיר לסוף, פשוט כי המידע של ה-Json כבר מאוחסן בקליפבורד.

10. Method = POST

11. Body type = Raw

12. Content Type = JSON

13. נדביק את המידע משלב 6

 

עכשיו אנחנו צריכים את ה-URL של הוובהוק, כדי שהמידע ב-http ישלח אליו. נחזור לסנריו ונלך לדיאגרמה ולא להיסטוריה (כלומר למקום בו עורכים את הסנריו).

14. נלחץ על הוובהוק

15. בחלונית שתיפתח נוכל לראות את ה-url של הוובהוק, נלחץ על copy address to clipboard

16. נחזור למודול של http ונדביק את הכתובת של הוובהוק ב-URL

נשמור והכול מוכן!

נחזור לסנריו שלנו, נלחץ על run once כדי להכניס אותו להקשבה לוובהוק, ואז נפעיל את הסנריו של ה-http עם המידע. המידע מיד יגיע לסנריו ונראה את כל ענפי הסנריו רצים ומתמלאים בנתונים המעודכנים שלנו.

Mission accomplished! עכשיו נוכל לערוך את המודולים בסנריו עם המידע המעודכן.

הודעת שגיאת אימות עם פרמטר מוזר

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

Validation failed for 2 parameter(s): Collection can't be converted to text for parameter 'fld27pQXnsMI6qvwG'.

אבל מי זה לעזאזל פרמטר fld27pQXnsMI6qvwG?

אז שאלתי בקבוצה "מקצועני האוטומציה" בפייסבוק, ומיד ענה לי עמית מרקדו איך לבדוק 🥰

באיירטייבל מצד ימין נלחץ על Tools ונבחר Manage Fields

מצד ימין נלחץ על הכפתור הקטן של בחירת שדות ונוסיף את Field ID.

עכשיו אפשר לעשות חיפוש לפי ה-ID מהשגיאה, ולטפל בתקלה.

נוסחאות באיירטייבל

 הסינטקס באיירטיבל קצת שונה ממה שאני רגילה אליו באקסל, אז כאן יש כמה דוגמאות לנוסחאות חיוניות:

♥ פונקציית OR בתוך פונקציית IF: קצת מעצבן כי צריך לרשום את השדה כמה פעמים (במקרה הזה השדה הוא Order Status Active):

IF(OR({Order Status Active}="processing",{Order Status Active}="pending"), "קיימת הזמנה",BLANK())

♥ אם השדה ריק, אז: 

IF({Order Status Active}=BLANK(),BLANK(),"קיימת הזמנה")

אוטומציות זה החיים!

זה ממש כיף ועושה את העבודה השוטפת להרבה יותר קלה וזורמת.

לכו על זה 🙂

התייעצו עם מומחים!

בקבוצה "מקצועני האוטומציה" בפייסבוק, יש אנשים מומחים שאשכרה מבינים מה העם עושים 🙂 כל פעם שאני נתקעת עם איזו בעיה, אני שואלת שם ועונים לי והכל מסתדר. גם כשאני שואלת שאלות ממש מפגרות. קבוצה מומלצת!

נא לא לשלוח שאלות מקצועיות, לא אענה עליהן. 

נעים להכיר!

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

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

יש לי ניסיון של מעל עשר שנים בתחום הניהול הפיננסי, תכנון כלכלי ואסטרטגיות תמחור. אני בוגרת תואר ראשון בכלכלה וניהול מהטכניון בהצטיינות יתרה ותואר שני במנהל עסקים מאוניברסיטת תל אביב בהתמחות שיווק ואסטרטגיה. בנוסף התמחיתי בייעוץ עסקי לעסקים קטנים, באימון אישי ובתכנון פיננסי אישי. עוד עליי

דילוג לתוכן