Automations מאפשרים ל-פונקציות בקאנד לרוץ אוטומטית לפי לוח זמנים, בתגובה לאירועי מסד נתונים, או כאשר אינטגרציה מחוברת שולחת אירוע webhook. השתמש ב-automations כדי לעבד נתונים במרווחים קבועים, לטפל בשינויי entity, להגיב לאירועי שירותים חיצוניים, או לבצע משימות חד-פעמיות בזמנים ספציפיים.לכל פונקציית בקאנד יכולים להיות מספר automations מצורפים, מוגדרים בקובץ function.jsonc של הפונקציה. אם יש לך רק קובץ entry.ts או entry.js, תצטרך להוסיף את קובץ התצורה הזה כדי להשתמש ב-automations. Automations נפרסים אטומית עם קוד הפונקציה כאשר אתה מריץ deploy או functions deploy.
הגדר automations בקובץ function.jsonc שלך באמצעות אחת מהגישות הבאות. כל ה-automations משתמשים בשדות נפוצים לכל automations המפורטים לעיל, בנוסף לשדות הספציפיים לכל סוג.
השתמש בשדות נפוצים לכל automations ובשדות נפוצים ל-scheduled automations יחד עם השדות הספציפיים ל-cron המפורטים כאן.הגדר type ל-"scheduled" ו-schedule_type ל-"cron" כדי להשתמש בביטויי cron לשליטת תזמון מדויקת.Cron automations משתמשים בתחביר סטנדרטי של 5 שדות: minute hour day-of-month month day-of-week. ראה את crontab.guru לעורך אינטראקטיבי של ביטויי cron וסימוכין תחביר.
השתמש בשדות נפוצים לכל automations ובשדות נפוצים ל-scheduled automations יחד עם שדות simple schedule המפורטים כאן.הגדר type ל-"scheduled" ו-schedule_type ל-"simple" עבור צרכי תזמון פשוטים.הגדר משימות חוזרות לפי מרווח כגון דקות, שעות, ימים, שבועות או חודשים מבלי לכתוב ביטויי cron.
Field
Type
Required
תיאור
one_time_date
string
Conditional
תאריך וזמן שבו ה-automation רץ פעם אחת, ב-UTC. נדרש כאשר schedule_mode הוא "one-time". פורמט: YYYY-MM-DDTHH:MM:SSZ. לדוגמה, "2026-02-15T10:00:00Z".
repeat_unit
string
Conditional
יחידת זמן עבור automations חוזרים. נדרש כאשר schedule_mode הוא "recurring". ערכים אפשריים: "minutes", "hours", "days", "weeks", או "months".
repeat_interval
number
Conditional
מרווח בין ביצועים. נדרש כאשר repeat_unit הוא "minutes", "hours", או "days".
start_time
string
Conditional
שעה ביום שבה ה-automation רץ, ב-UTC. נדרש כאשר repeat_unit הוא "days", "weeks", או "months". פורמט: HH:MM.
repeat_on_days
number[]
Conditional
ימי השבוע שבהם ה-automation רץ. נדרש כאשר repeat_unit הוא "weeks". מערך של מספרי ימי שבוע, כאשר 0 הוא יום ראשון ו-6 הוא שבת.
repeat_on_day_of_month
number
Conditional
יום בחודש שבו ה-automation רץ. נדרש כאשר repeat_unit הוא "months". ערכים תקפים: 1-31.
השתמש בשדות נפוצים לכל automations יחד עם שדות entity event המפורטים כאן.הגדר type ל-"entity" כדי להפעיל פונקציות אוטומטית כאשר רשומות מסד נתונים נוצרות, מעודכנות או נמחקות.Entity automations יכולים להאזין לסוג אירוע 1 או יותר על entity ספציפי.
Field
Type
Required
תיאור
entity_name
string
Yes
שם ה-entity לניטור.
event_types
string[]
Yes
אירועי מסד נתונים להאזנה. ערכים אפשריים: "create", "update", "delete". נדרש לפחות 1.
השתמש בשדות נפוצים לכל automations יחד עם השדות הספציפיים ל-connector המפורטים כאן.הגדר type ל-"connector" כדי להפעיל פונקציות כאשר אינטגרציה מחוברת שולחת אירוע webhook. השתמש בהן כדי להגיב לפעילות של שירותים חיצוניים בזמן אמת. לדוגמה, אתה יכול לפענח אימייל חדש, לסנכרן שינוי בלוח שנה, או להגיב לעדכון קובץ ב-Google Drive.תוכל באופן אופציונלי להוסיף trigger conditions כדי לסנן אירועים כך שהפונקציה שלך תרוץ רק כאשר ה-payload תואם לכללים שאתה מגדיר.כאשר connector automation מופעל, הפונקציה שלך מקבלת webhook payload מובנה המכיל את סוג האירוע, פרטי האינטגרציה ואת הנתונים הגולמיים מהשירות החיצוני.
ה-connector חייב להיות מוגדר בפרויקט שלך ומאושר לפני הפריסה. ראה Shared connectors להוראות הגדרה.
אחד או יותר שמות אירועי webhook להירשם אליהם. ראה supported integrations לאירועים זמינים לכל connector.
resource_id
string
Conditional
מצמצם את ה-automation למשאב ספציפי. הפורמט הצפוי תלוי ב-connector. ראה Resource ID formats למטה. נדרש עבור Google Drive file-scoped events. אופציונלי עבור connectors אחרים.
trigger_conditions
object
No
כללים שחייבים להתאים לאירוע הנכנס לפני שהפונקציה שלך רצה. אם האירוע לא תואם, ההפעלה מדלגת. ראה Trigger conditions לסימוכין מלא.
כל שינוי בתיבת דואר, כולל הודעות חדשות, עדכוני תוויות ושינויי סטטוס קריאה.
Google Calendar
googlecalendar
events
כל שינוי באירוע יומן, כולל נוצר, עודכן ונמחק.
Google Drive
googledrive
changes
כל שינוי בכונן, כולל קבצים שהתווספו, שונו או נמחקו.
Google Drive
googledrive
file
כל שינוי לקובץ ספציפי (דורש resource_id).
Google Drive
googledrive
file.update
תוכן או מאפייני קובץ שונו (דורש resource_id).
Google Drive
googledrive
file.trash
קובץ הועבר לאשפה (דורש resource_id).
Google Drive
googledrive
file.untrash
קובץ שוחזר מאשפה (דורש resource_id).
Google Drive
googledrive
file.delete
קובץ נמחק לצמיתות (דורש resource_id).
Microsoft OneDrive
one_drive
updated
כל שינוי בקובץ או תיקייה, כולל נוצר, שונה ונמחק.
Microsoft Outlook
outlook
created
אימייל חדש, אירוע יומן או איש קשר נוצר.
Microsoft Outlook
outlook
updated
אימייל, אירוע יומן או איש קשר עודכן.
Microsoft Outlook
outlook
deleted
אימייל, אירוע יומן או איש קשר נמחק.
Microsoft SharePoint
share_point
updated
כאשר פריט רשימה או מסמך נוצר, שונה או נמחק.
Microsoft Teams
microsoft_teams
created
כאשר הודעת צ’אט חדשה מתפרסמת.
Microsoft Teams
microsoft_teams
updated
כאשר הודעת צ’אט מעודכנת.
Microsoft Teams
microsoft_teams
deleted
כאשר הודעת צ’אט נמחקת.
Slack
slack
message
כאשר הודעה מתפרסמת לערוץ.
Slack
slack
message.im
כאשר הודעה ישירה מתפרסמת.
Slack
slack
message.groups
כאשר הודעה מתפרסמת לערוץ פרטי.
Slack
slack
message.channels
כאשר הודעה מתפרסמת לערוץ ציבורי.
Slack
slack
message.mpim
כאשר הודעה מתפרסמת ל-IM מרובה משתתפים.
Slack
slack
reaction_added
כאשר reaction מתווסף להודעה.
Slack
slack
reaction_removed
כאשר reaction מוסר מהודעה.
Slack
slack
member_joined_channel
כאשר משתמש מצטרף לערוץ.
Slack
slack
member_left_channel
כאשר משתמש עוזב ערוץ.
Slack
slack
file_shared
כאשר קובץ משותף.
אירוע mailbox של Gmail מופעל עבור כל שינוי בתיבת דואר, לא רק הודעות חדשות. כדי שהפונקציה שלך תרוץ רק כאשר אימיילים חדשים מגיעים, הוסף trigger condition: { "field": "has_new_messages", "operator": "equals", "value": true }.
Slack connector automations דורשים trigger conditions. הפריסה תיכשל אם לא מוגדרים תנאים עבור Slack connector automations.
השתמש ב-trigger_conditions כדי לסנן אירועי webhook כך שהפונקציה שלך תרוץ רק כאשר ה-payload תואם לכללים שאתה מגדיר. אם לא מוגדרים תנאים, הפונקציה רצה עבור כל אירוע נכנס. ראה Connector automation examples לתצורות מלאות.
כאשר connector automation מפעיל את הפונקציה שלך, גוף הבקשה מכיל אובייקט payload עם המבנה הבא. ראה Connector automation examples לפונקציה שקוראת את ה-payload.
Field
Type
תיאור
payload.automation.id
string
מזהה ה-automation שהפעיל את ההרצה הזו.
payload.automation.name
string
שם ה-automation.
payload.automation.type
string
תמיד "connector".
payload.event.type
string
שם אירוע ה-webhook. לדוגמה, "mailbox", "events", או "changes".
payload.event.integration_type
string
סוג ה-connector. לדוגמה, "gmail" או "googlecalendar".
payload.event.provider_identifier
string
מזהה חשבון הספק המשמש לניתוב.
payload.data
object
ה-webhook payload הגולמי מהשירות החיצוני. מוגדר ל-null כאשר payload_too_large הוא true.
payload.payload_too_large
boolean
הוא true כאשר ה-webhook payload חרג מ-~200 KB ו-data הוא null.
// Triggers the function whenever a new email arrives in Gmail.{ "name": "processInboundEmails", "entry": "entry.ts", "automations": [ { "type": "connector", "name": "on_new_gmail", "description": "Runs when a new email arrives in Gmail.", "is_active": true, "integration_type": "gmail", "events": ["mailbox"] } ]}
העבר נתונים לפונקציה שלך כשהיא מופעלת על ידי הכללת השדה function_args בתצורת ה-automation שלך. זה שימושי כאשר פונקציה אחת מטפלת במספר automations עם התנהגויות שונות, כגון פונקציית sync שרצה באופן הדרגתי כל 15 דקות אך מבצעת sync מלא יומי.גש לארגומנטים אלה בקוד הפונקציה שלך דרך גוף הבקשה.
פרוס פונקציות בקאנד עם ה-automations שלהן באמצעות פקודת functions deploy של ה-CLI או הפקודה המאוחדת deploy. אתה יכול לפרוס פונקציות ספציפיות לפי שם עם functions deploy <names...>.הפריסה אטומית לכל פונקציה. פונקציה נחשבת רק כפרוסה אם גם פריסת ה-Deno וגם כל ה-automations שלה מצליחים. אם כל automation נכשל בפריסה, פריסת הפונקציה כולה מתבטלת.לאחר הפריסה, ה-CLI מציג סטטוס לכל פונקציה: נפרס, ללא שינוי, או שגיאה.
כל שינויים שנעשו בלוח הבקרה ידרסו בפעם הבאה שתריץ functions deploy. אין סנכרון דו-כיווני בין לוח הבקרה לקבצים המקומיים שלך. Automations שמוגדרים בקבצי function.jsonc המקומיים שלך הם מקור האמת.אם תרצה לבצע שינויים ל-automations שלך, עדכן את קבצי function.jsonc המקומיים שלך ופרוס מחדש. השתמש בלוח הבקרה לניטור לוגי הביצוע והפעלה ידנית של automations בעת הצורך.
צפה ונהל את ה-automations שלך בלוח הבקרה של Base44 תחת לשונית Automations. מלוח הבקרה, אתה יכול: