דלג לתוכן הראשי
אתה צופה בתיעוד למפתחים
תיעוד זה מיועד למפתחים העובדים עם פלטפורמת המפתחים של Base44. למידע על automations בעורך האפליקציות, ראה יצירת automations עבור האפליקציה שלך.
Automations מאפשרים ל-פונקציות בקאנד לרוץ אוטומטית לפי לוח זמנים, בתגובה לאירועי מסד נתונים, או כאשר אינטגרציה מחוברת שולחת אירוע webhook. השתמש ב-automations כדי לעבד נתונים במרווחים קבועים, לטפל בשינויי entity, להגיב לאירועי שירותים חיצוניים, או לבצע משימות חד-פעמיות בזמנים ספציפיים. לכל פונקציית בקאנד יכולים להיות מספר automations מצורפים, מוגדרים בקובץ function.jsonc של הפונקציה. אם יש לך רק קובץ entry.ts או entry.js, תצטרך להוסיף את קובץ התצורה הזה כדי להשתמש ב-automations. Automations נפרסים אטומית עם קוד הפונקציה כאשר אתה מריץ deploy או functions deploy.

סוגי automation

Base44 תומכת ב-4 סוגי automations:

שדות נפוצים

שדות נפוצים לכל automations

כל סוגי ה-automation חולקים את השדות הבאים:
FieldTypeRequiredתיאור
typestringYesסוג ה-automation. ערכים אפשריים: "scheduled", "entity", או "connector".
namestringYesמזהה ייחודי עבור ה-automation.
descriptionstringNoתיאור קריא לאדם.
function_argsobjectNoארגומנטים שמועברים לפונקציה כשהיא מופעלת. ראה Function arguments.
is_activebooleanNoהאם ה-automation מופעל. ברירת מחדל היא true.

שדות נפוצים ל-scheduled automations

cron ו-simple scheduled automations חולקים את השדות הנוספים האלה:
FieldTypeRequiredתיאור
schedule_modestringYesהאם לוח הזמנים חוזר. ערכים אפשריים: "recurring" או "one-time".
schedule_typestringYesשיטת תזמון לשימוש. ערכים אפשריים: "cron" או "simple".
ends_typestringNoמתי לוח הזמנים החוזר צריך להפסיק. ערכים אפשריים: "never", "on", או "after". ברירת מחדל היא "never".
ends_on_datestringConditionalתאריך שבו לוח הזמנים החוזר מסתיים, כולל, ב-UTC. נדרש כאשר ends_type הוא "on". פורמט: YYYY-MM-DDTHH:MM:SSZ. לדוגמה, "2026-12-31T23:59:59Z".
ends_after_countnumberConditionalמספר ביצועים שלאחריהם לוח הזמנים החוזר נעצר. נדרש כאשר ends_type הוא "after".

תצורת automation

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

Cron

השתמש בשדות נפוצים לכל 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 וסימוכין תחביר.
FieldTypeRequiredתיאור
cron_expressionstringYesביטוי cron בן 5 שדות.

דוגמת cron

דוגמה זו מריצה פונקציה כל יום בחצות UTC:
{
  "name": "sendDailyReport",
  "entry": "entry.ts",
  "automations": [
    {
      "type": "scheduled",
      "name": "daily_midnight_report",
      "description": "Runs every day at midnight UTC",
      "function_args": { "mode": "full_sync" },
      "is_active": true,

      "schedule_mode": "recurring",
      "schedule_type": "cron",
      "cron_expression": "0 0 * * ?"
    }
  ]
}

Simple schedule

השתמש בשדות נפוצים לכל automations ובשדות נפוצים ל-scheduled automations יחד עם שדות simple schedule המפורטים כאן. הגדר type ל-"scheduled" ו-schedule_type ל-"simple" עבור צרכי תזמון פשוטים. הגדר משימות חוזרות לפי מרווח כגון דקות, שעות, ימים, שבועות או חודשים מבלי לכתוב ביטויי cron.
FieldTypeRequiredתיאור
one_time_datestringConditionalתאריך וזמן שבו ה-automation רץ פעם אחת, ב-UTC. נדרש כאשר schedule_mode הוא "one-time". פורמט: YYYY-MM-DDTHH:MM:SSZ. לדוגמה, "2026-02-15T10:00:00Z".
repeat_unitstringConditionalיחידת זמן עבור automations חוזרים. נדרש כאשר schedule_mode הוא "recurring". ערכים אפשריים: "minutes", "hours", "days", "weeks", או "months".
repeat_intervalnumberConditionalמרווח בין ביצועים. נדרש כאשר repeat_unit הוא "minutes", "hours", או "days".
start_timestringConditionalשעה ביום שבה ה-automation רץ, ב-UTC. נדרש כאשר repeat_unit הוא "days", "weeks", או "months". פורמט: HH:MM.
repeat_on_daysnumber[]Conditionalימי השבוע שבהם ה-automation רץ. נדרש כאשר repeat_unit הוא "weeks". מערך של מספרי ימי שבוע, כאשר 0 הוא יום ראשון ו-6 הוא שבת.
repeat_on_day_of_monthnumberConditionalיום בחודש שבו ה-automation רץ. נדרש כאשר repeat_unit הוא "months". ערכים תקפים: 1-31.

דוגמאות simple schedule

הדוגמאות הבאות מציגות דרכים שונות לתזמון automations עם simple schedules:
{
  "type": "scheduled",
  "name": "every_30_minutes",
  "description": "Runs every 30 minutes.",
  "is_active": true,

  "schedule_mode": "recurring",
  "schedule_type": "simple",
  "repeat_unit": "minutes",
  "repeat_interval": 30
}

Entity events

השתמש בשדות נפוצים לכל automations יחד עם שדות entity event המפורטים כאן. הגדר type ל-"entity" כדי להפעיל פונקציות אוטומטית כאשר רשומות מסד נתונים נוצרות, מעודכנות או נמחקות. Entity automations יכולים להאזין לסוג אירוע 1 או יותר על entity ספציפי.
FieldTypeRequiredתיאור
entity_namestringYesשם ה-entity לניטור.
event_typesstring[]Yesאירועי מסד נתונים להאזנה. ערכים אפשריים: "create", "update", "delete". נדרש לפחות 1.

דוגמאות entity event

הדוגמאות הבאות מציגות כיצד להפעיל פונקציות בהתבסס על אירועי entity:
{
  "name": "processOrders",
  "entry": "entry.ts",
  "automations": [
    {
      "type": "entity",
      "name": "on_order_changes",
      "description": "Triggered on order create, update, or delete.",
      "function_args": { "notify_slack": true },
      "is_active": true,

      "entity_name": "orders",
      "event_types": ["create", "update", "delete"]
    }
  ]
}

Connector automations

השתמש בשדות נפוצים לכל automations יחד עם השדות הספציפיים ל-connector המפורטים כאן. הגדר type ל-"connector" כדי להפעיל פונקציות כאשר אינטגרציה מחוברת שולחת אירוע webhook. השתמש בהן כדי להגיב לפעילות של שירותים חיצוניים בזמן אמת. לדוגמה, אתה יכול לפענח אימייל חדש, לסנכרן שינוי בלוח שנה, או להגיב לעדכון קובץ ב-Google Drive. תוכל באופן אופציונלי להוסיף trigger conditions כדי לסנן אירועים כך שהפונקציה שלך תרוץ רק כאשר ה-payload תואם לכללים שאתה מגדיר. כאשר connector automation מופעל, הפונקציה שלך מקבלת webhook payload מובנה המכיל את סוג האירוע, פרטי האינטגרציה ואת הנתונים הגולמיים מהשירות החיצוני.
ה-connector חייב להיות מוגדר בפרויקט שלך ומאושר לפני הפריסה. ראה Shared connectors להוראות הגדרה.
FieldTypeRequiredתיאור
integration_typestringYesמזהה סוג ה-connector להאזנה. ראה supported integrations לערכים מקובלים.
eventsstring[]Yesאחד או יותר שמות אירועי webhook להירשם אליהם. ראה supported integrations לאירועים זמינים לכל connector.
resource_idstringConditionalמצמצם את ה-automation למשאב ספציפי. הפורמט הצפוי תלוי ב-connector. ראה Resource ID formats למטה. נדרש עבור Google Drive file-scoped events. אופציונלי עבור connectors אחרים.
trigger_conditionsobjectNoכללים שחייבים להתאים לאירוע הנכנס לפני שהפונקציה שלך רצה. אם האירוע לא תואם, ההפעלה מדלגת. ראה Trigger conditions לסימוכין מלא.

אינטגרציות ואירועים נתמכים

Connectorintegration_typeevents valueתיאור
Gmailgmailmailboxכל שינוי בתיבת דואר, כולל הודעות חדשות, עדכוני תוויות ושינויי סטטוס קריאה.
Google Calendargooglecalendareventsכל שינוי באירוע יומן, כולל נוצר, עודכן ונמחק.
Google Drivegoogledrivechangesכל שינוי בכונן, כולל קבצים שהתווספו, שונו או נמחקו.
Google Drivegoogledrivefileכל שינוי לקובץ ספציפי (דורש resource_id).
Google Drivegoogledrivefile.updateתוכן או מאפייני קובץ שונו (דורש resource_id).
Google Drivegoogledrivefile.trashקובץ הועבר לאשפה (דורש resource_id).
Google Drivegoogledrivefile.untrashקובץ שוחזר מאשפה (דורש resource_id).
Google Drivegoogledrivefile.deleteקובץ נמחק לצמיתות (דורש resource_id).
Microsoft OneDriveone_driveupdatedכל שינוי בקובץ או תיקייה, כולל נוצר, שונה ונמחק.
Microsoft Outlookoutlookcreatedאימייל חדש, אירוע יומן או איש קשר נוצר.
Microsoft Outlookoutlookupdatedאימייל, אירוע יומן או איש קשר עודכן.
Microsoft Outlookoutlookdeletedאימייל, אירוע יומן או איש קשר נמחק.
Microsoft SharePointshare_pointupdatedכאשר פריט רשימה או מסמך נוצר, שונה או נמחק.
Microsoft Teamsmicrosoft_teamscreatedכאשר הודעת צ’אט חדשה מתפרסמת.
Microsoft Teamsmicrosoft_teamsupdatedכאשר הודעת צ’אט מעודכנת.
Microsoft Teamsmicrosoft_teamsdeletedכאשר הודעת צ’אט נמחקת.
Slackslackmessageכאשר הודעה מתפרסמת לערוץ.
Slackslackmessage.imכאשר הודעה ישירה מתפרסמת.
Slackslackmessage.groupsכאשר הודעה מתפרסמת לערוץ פרטי.
Slackslackmessage.channelsכאשר הודעה מתפרסמת לערוץ ציבורי.
Slackslackmessage.mpimכאשר הודעה מתפרסמת ל-IM מרובה משתתפים.
Slackslackreaction_addedכאשר reaction מתווסף להודעה.
Slackslackreaction_removedכאשר reaction מוסר מהודעה.
Slackslackmember_joined_channelכאשר משתמש מצטרף לערוץ.
Slackslackmember_left_channelכאשר משתמש עוזב ערוץ.
Slackslackfile_sharedכאשר קובץ משותף.
אירוע mailbox של Gmail מופעל עבור כל שינוי בתיבת דואר, לא רק הודעות חדשות. כדי שהפונקציה שלך תרוץ רק כאשר אימיילים חדשים מגיעים, הוסף trigger condition: { "field": "has_new_messages", "operator": "equals", "value": true }.
Slack connector automations דורשים trigger conditions. הפריסה תיכשל אם לא מוגדרים תנאים עבור Slack connector automations.

פורמטים של resource ID

הערך הצפוי עבור resource_id משתנה לפי connector:
  • Google Drive: מזהה הקובץ. נדרש עבור file-scoped events (file, file.update, file.trash, file.untrash, file.delete).
  • Gmail: רשימה מופרדת בפסיקים של מזהי תוויות לצפייה. ברירת מחדל היא "INBOX" אם מושמט.
  • Microsoft Teams: {teamId}/{channelId} לצפייה בערוץ ספציפי, או {chatId} לצפייה בצ’אט ספציפי.
  • SharePoint: {siteId}/{listId} לצפייה ברשימה ספציפית.

Trigger conditions

השתמש ב-trigger_conditions כדי לסנן אירועי webhook כך שהפונקציה שלך תרוץ רק כאשר ה-payload תואם לכללים שאתה מגדיר. אם לא מוגדרים תנאים, הפונקציה רצה עבור כל אירוע נכנס. ראה Connector automation examples לתצורות מלאות.
logic
string
כיצד לשלב את התנאים. ערכים אפשריים: "and" (כל אחד חייב להתאים), "or" (כל אחד חייב להתאים). ברירת מחדל היא "and".
conditions
array
נדרש
אחד או יותר אובייקטי תנאי או קבוצות תנאים מקוננות. מקסימום 20 תנאי עלה ו-5 רמות של קינון.

Webhook payload

כאשר connector automation מפעיל את הפונקציה שלך, גוף הבקשה מכיל אובייקט payload עם המבנה הבא. ראה Connector automation examples לפונקציה שקוראת את ה-payload.
FieldTypeתיאור
payload.automation.idstringמזהה ה-automation שהפעיל את ההרצה הזו.
payload.automation.namestringשם ה-automation.
payload.automation.typestringתמיד "connector".
payload.event.typestringשם אירוע ה-webhook. לדוגמה, "mailbox", "events", או "changes".
payload.event.integration_typestringסוג ה-connector. לדוגמה, "gmail" או "googlecalendar".
payload.event.provider_identifierstringמזהה חשבון הספק המשמש לניתוב.
payload.dataobjectה-webhook payload הגולמי מהשירות החיצוני. מוגדר ל-null כאשר payload_too_large הוא true.
payload.payload_too_largebooleanהוא true כאשר ה-webhook payload חרג מ-~200 KB ו-data הוא null.

דוגמאות connector automation

// 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 arguments

העבר נתונים לפונקציה שלך כשהיא מופעלת על ידי הכללת השדה function_args בתצורת ה-automation שלך. זה שימושי כאשר פונקציה אחת מטפלת במספר automations עם התנהגויות שונות, כגון פונקציית sync שרצה באופן הדרגתי כל 15 דקות אך מבצעת sync מלא יומי. גש לארגומנטים אלה בקוד הפונקציה שלך דרך גוף הבקשה.

דוגמת function arguments

דוגמה זו מציגה פונקציה שמטפלת במצבי sync הדרגתי ומלא בהתבסס על תצורת ה-automation:
Deno.serve(async (req) => {
  const body = await req.json();
  const args = body.args ?? {};

  // Use the arguments from automation config
  const mode = args.mode ?? "incremental";

  // Your function logic
});

פריסת automations

פרוס פונקציות בקאנד עם ה-automations שלהן באמצעות פקודת functions deploy של ה-CLI או הפקודה המאוחדת deploy. אתה יכול לפרוס פונקציות ספציפיות לפי שם עם functions deploy <names...>. הפריסה אטומית לכל פונקציה. פונקציה נחשבת רק כפרוסה אם גם פריסת ה-Deno וגם כל ה-automations שלה מצליחים. אם כל automation נכשל בפריסה, פריסת הפונקציה כולה מתבטלת. לאחר הפריסה, ה-CLI מציג סטטוס לכל פונקציה: נפרס, ללא שינוי, או שגיאה.

ניהול automations בלוח הבקרה

כל שינויים שנעשו בלוח הבקרה ידרסו בפעם הבאה שתריץ functions deploy. אין סנכרון דו-כיווני בין לוח הבקרה לקבצים המקומיים שלך. Automations שמוגדרים בקבצי function.jsonc המקומיים שלך הם מקור האמת.אם תרצה לבצע שינויים ל-automations שלך, עדכן את קבצי function.jsonc המקומיים שלך ופרוס מחדש. השתמש בלוח הבקרה לניטור לוגי הביצוע והפעלה ידנית של automations בעת הצורך.
צפה ונהל את ה-automations שלך בלוח הבקרה של Base44 תחת לשונית Automations. מלוח הבקרה, אתה יכול:
  • לצפות בלוגי ביצוע והיסטוריה
  • להריץ automations ידנית לבדיקה
  • לנטר את סטטוס ה-automation

ראה גם

  • Backend Functions: למד על פונקציות בקאנד
  • functions deploy: פרוס פונקציות עם automations
  • deploy: פרוס את כל המשאבים בבת אחת
  • logs: צפה בלוגי פונקציות
דף זה תורגם באמצעות בינה מלאכותית. למידע המדויק והעדכני ביותר, עיין בגרסה האנגלית.