כל המאמרים
אינטגרציה7 דק׳ קריאה

חיבור יומן גוגל ל-AI — קביעת תורים, שינויים ותזכורות שמנהלים את עצמם

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

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

מה ה-API של יומן גוגל באמת נותן לכם

יומן גוגל חושף REST API בוגר עם אימות OAuth, ולמערכת קביעת תורים אתם באמת צריכים רק קומץ מהיכולות שלו. כדאי לקרוא להן בשמן כדי שתדעו על מה אתם משלמים למתכנת:

  • Free/busy ו-events.list — לשאול את היומן, לחלון זמן נתון, אילו זמנים כבר תפוסים. כך ה-AI יודע מה להציע בלי לנחש אף פעם.
  • events.insert — ליצור תור חדש עם כותרת, תיאור, אימייל של המשתתף, מיקום, ובעיקר אזור הזמן והמשך הנכונים. זו פעולת ה'תקבע לי' עצמה.
  • events.patch / events.delete — להזיז או לבטל תור קיים לפי המזהה שלו, כך שלקוח יכול להגיד 'תזיז לי את שלישי לחמישי' וזה פשוט קורה.
  • Webhooks (התראות דחיפה) — כך שאם תור מתמלא ממקור אחר (לקוח מזדמן, הטלפון של הבעלים, איש צוות אחר), המערכת שלכם מגלה כמעט בזמן אמת במקום לגלות את ההתנגשות מאוחר מדי.
  • יומנים מרובים — לרוב העסקים האמיתיים יש יומן לכל איש צוות או לכל חדר; ה-API מאפשר לבדוק ולקבוע מול היומן הנכון, וכאן בדיוק דמואים נאיביים של יומן יחיד מתפרקים.

איפה ה-AI מרוויח את מקומו — ואיפה אסור לו

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

הדברים שאני בונה הכי הרבה

  1. עוזר קביעת תורים בוואטסאפ — לקוח כותב בעברית טבעית, ה-AI מבין את השירות ואת הזמן המועדף, הקוד מציע חלונות פנויים אמיתיים וקובע את הנבחר ישר ליומן הגוגל הנכון, ואז שולח אישור.
  2. שינוי וביטול בשירות עצמי — קישור או הודעה שמאפשרים ללקוחות להזיז את התור שלהם בלי שיחת טלפון, מעדכנים את היומן ומודיעים לאיש הצוות אוטומטית.
  3. תזכורות חכמות שמקטינות אי-הגעות — תזכורות מתוזמנות בוואטסאפ או SMS שנמשכות מהיומן, עם אישור-או-ביטול בלחיצה אחת שנכתב חזרה כך שתור שהתפנה יוצע מחדש.
  4. סיכומים לצד הבעלים — 'איך נראה לי חמישי, ומי מאלה לקוחות חדשים?' נענה מהיומן ומה-CRM יחד, בהודעה אחת כל בוקר.
  5. הגנה מפני קביעה כפולה — הגיבור המשעמם: בדיקות זמינות אמיתיות ונעילה כך ששני לקוחות שכותבים באותה שנייה לעולם לא יתפסו שניהם את התור האחרון.

החלק שמפריד בין דמו למערכת

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

ה-AI שמדבר עם הלקוח הוא החלק הקל והמרשים. הקוד הלא-זוהר שמבטיח ששני אנשים לעולם לא יקבעו את אותו תור — ושתור של חמישי באמת בחמישי — הוא החלק שעליו אתם באמת משלמים.

נו-קוד מול קוד מותאם — הטריידאוף הכן

אם הצרכים שלכם פשוטים — יומן אחד, חלונות נדיבים, נפח נמוך, ואתם בסדר עם שלקוח יבחר מתוך רשת קבועה — כלי נו-קוד בסגנון Calendly שמחובר דרך Make או Zapier באמת יעשה את העבודה, ואני אגיד לכם להשתמש בו במקום לשלם לי על הנדסת יתר. איפה נו-קוד נתקל בקיר זה בדיוק איפה שנכונות וניואנס מתחילים להיות חשובים: קביעה בשפה טבעית בוואטסאפ, לוגיקה של כמה אנשי צוות או חדרים, משכי זמן ומרווחים לכל שירות, הגנה מפני קביעה כפולה, סנכרון דו-כיווני שאסור לו לעולם להיות חלוק, וטיפול אמין בהחלפת שעון החורף/קיץ הישראלית. זה שטח של קוד דטרמיניסטי ובדוק, כי טעות ביומן היא לא באג שקט שמתקנים אחר כך — היא לקוח שעומד מול דלת נעולה, או שני אנשים על כיסא אחד.

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

מחפשים מתכנת לחבר את המערכות שלכם ל-AI?

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

בואו נדבר