function.jsonc della funzione. Se hai solo un file entry.ts o entry.js, dovrai aggiungere questo file di configurazione per usare le automazioni. Le automazioni vengono distribuite atomicamente con il codice della funzione quando esegui deploy o functions deploy.
Tipi di automazione
Base44 supporta 4 tipi di automazioni:- Automazioni pianificate con cron: usa espressioni cron per un controllo preciso della pianificazione.
- Automazioni pianificate con pianificazioni semplici: configura attività ricorrenti per intervallo senza espressioni cron.
- Automazioni per eventi delle entità: attiva funzioni quando i record del database vengono creati, aggiornati o eliminati.
- Automazioni connettore: rispondi in tempo reale agli eventi dei servizi connessi, come una nuova email in Gmail o una modifica di file in Google Drive.
Campi comuni
Campi comuni per tutte le automazioni
Tutti i tipi di automazione condividono i seguenti campi:| Campo | Tipo | Richiesto | Descrizione |
|---|---|---|---|
type | string | Sì | Il tipo di automazione. Valori possibili: "scheduled", "entity" o "connector". |
name | string | Sì | Identificatore univoco per l’automazione. |
description | string | No | Descrizione leggibile. |
function_args | object | No | Argomenti passati alla funzione quando viene attivata. Consulta Argomenti della funzione. |
is_active | boolean | No | Se l’automazione è abilitata. Valore predefinito true. |
Campi comuni per le automazioni pianificate
Sia le automazioni pianificate cron sia quelle semplici condividono questi campi aggiuntivi:| Campo | Tipo | Richiesto | Descrizione |
|---|---|---|---|
schedule_mode | string | Sì | Se la pianificazione si ripete. Valori possibili: "recurring" o "one-time". |
schedule_type | string | Sì | Metodo di pianificazione da usare. Valori possibili: "cron" o "simple". |
ends_type | string | No | Quando la pianificazione ricorrente deve fermarsi. Valori possibili: "never", "on" o "after". Valore predefinito "never". |
ends_on_date | string | Condizionale | Data in cui termina la pianificazione ricorrente, inclusiva, in UTC. Richiesto quando ends_type è "on". Formato: YYYY-MM-DDTHH:MM:SSZ. Ad esempio, "2026-12-31T23:59:59Z". |
ends_after_count | number | Condizionale | Numero di esecuzioni dopo il quale la pianificazione ricorrente si ferma. Richiesto quando ends_type è "after". |
Configurazione dell’automazione
Configura le automazioni nel tuo filefunction.jsonc usando uno degli approcci seguenti. Tutte le automazioni usano i campi comuni per tutte le automazioni elencati sopra, più i campi specifici di ciascun tipo.
Cron
Usa i campi comuni per tutte le automazioni e i campi comuni per le automazioni pianificate insieme ai campi specifici cron elencati qui. Impostatype su "scheduled" e schedule_type su "cron" per usare espressioni cron con un controllo preciso della pianificazione.
Le automazioni cron usano la sintassi standard a 5 campi: minute hour day-of-month month day-of-week. Consulta crontab.guru per un editor interattivo di espressioni cron e un riferimento della sintassi.
| Campo | Tipo | Richiesto | Descrizione |
|---|---|---|---|
cron_expression | string | Sì | Espressione cron a 5 campi. |
Esempio cron
Questo esempio esegue una funzione ogni giorno a mezzanotte UTC:Pianificazione semplice
Usa i campi comuni per tutte le automazioni e i campi comuni per le automazioni pianificate insieme ai campi di pianificazione semplice elencati qui. Impostatype su "scheduled" e schedule_type su "simple" per esigenze di pianificazione più immediate.
Configura attività ricorrenti per intervallo come minuti, ore, giorni, settimane o mesi senza scrivere espressioni cron.
| Campo | Tipo | Richiesto | Descrizione |
|---|---|---|---|
one_time_date | string | Condizionale | Data e ora in cui l’automazione viene eseguita una sola volta, in UTC. Richiesto quando schedule_mode è "one-time". Formato: YYYY-MM-DDTHH:MM:SSZ. Ad esempio, "2026-02-15T10:00:00Z". |
repeat_unit | string | Condizionale | Unità di tempo per le automazioni ricorrenti. Richiesto quando schedule_mode è "recurring". Valori possibili: "minutes", "hours", "days", "weeks" o "months". |
repeat_interval | number | Condizionale | Intervallo tra le esecuzioni. Richiesto quando repeat_unit è "minutes", "hours" o "days". |
start_time | string | Condizionale | Ora del giorno in cui viene eseguita l’automazione, in UTC. Richiesto quando repeat_unit è "days", "weeks" o "months". Formato: HH:MM. |
repeat_on_days | number[] | Condizionale | Giorni della settimana in cui viene eseguita l’automazione. Richiesto quando repeat_unit è "weeks". Array di numeri dei giorni della settimana, dove 0 è domenica e 6 è sabato. |
repeat_on_day_of_month | number | Condizionale | Giorno del mese in cui viene eseguita l’automazione. Richiesto quando repeat_unit è "months". Valori validi: 1-31. |
Esempi di pianificazione semplice
I seguenti esempi mostrano diversi modi per pianificare automazioni con pianificazioni semplici:Eventi delle entità
Usa i campi comuni per tutte le automazioni insieme ai campi degli eventi delle entità elencati qui. Impostatype su "entity" per attivare funzioni automaticamente quando i record del database vengono creati, aggiornati o eliminati.
Le automazioni delle entità possono ascoltare 1 o più tipi di eventi su una specifica entità.
| Campo | Tipo | Richiesto | Descrizione |
|---|---|---|---|
entity_name | string | Sì | Nome dell’entità da monitorare. |
event_types | string[] | Sì | Eventi del database da ascoltare. Valori possibili: "create", "update", "delete". Almeno 1 richiesto. |
Esempi di eventi delle entità
I seguenti esempi mostrano come attivare funzioni in base agli eventi delle entità:Automazioni connettore
Usa i campi comuni per tutte le automazioni insieme ai campi specifici del connettore elencati qui. Impostatype su "connector" per attivare funzioni quando un’integrazione connessa invia un evento webhook. Usa queste per reagire in tempo reale all’attività di servizi esterni. Ad esempio, puoi analizzare una nuova email, sincronizzare una modifica del calendario o rispondere a un aggiornamento di file in Google Drive.
Puoi opzionalmente aggiungere condizioni di trigger per filtrare gli eventi in modo che la tua funzione venga eseguita solo quando il payload corrisponde alle regole che definisci.
Quando un’automazione connettore si attiva, la tua funzione riceve un payload webhook strutturato che contiene il tipo di evento, i dettagli dell’integrazione e i dati grezzi dal servizio esterno.
Il connettore deve essere configurato nel tuo progetto e autorizzato prima della distribuzione. Consulta Connettori condivisi per le istruzioni di configurazione.
| Campo | Tipo | Richiesto | Descrizione |
|---|---|---|---|
integration_type | string | Sì | L’identificatore del tipo di connettore su cui ascoltare. Consulta integrazioni supportate per i valori accettati. |
events | string[] | Sì | Uno o più nomi di eventi webhook a cui iscriversi. Consulta integrazioni supportate per gli eventi disponibili per ogni connettore. |
resource_id | string | Condizionale | Limita l’automazione a una risorsa specifica. Il formato atteso dipende dal connettore. Consulta Formati resource ID qui sotto. Richiesto per gli eventi Google Drive con ambito di file. Opzionale per altri connettori. |
trigger_conditions | object | No | Regole che devono corrispondere all’evento in arrivo prima che la tua funzione venga eseguita. Se l’evento non corrisponde, l’esecuzione viene saltata. Consulta Condizioni di trigger per il riferimento completo. |
Integrazioni ed eventi supportati
| Connettore | integration_type | Valore events | Descrizione |
|---|---|---|---|
| Gmail | gmail | mailbox | Qualsiasi modifica alla casella di posta, inclusi nuovi messaggi, aggiornamenti di etichette e modifiche allo stato di lettura. |
| Google Calendar | googlecalendar | events | Qualsiasi modifica a un evento del calendario, incluse creazione, aggiornamento ed eliminazione. |
| Google Drive | googledrive | changes | Qualsiasi modifica nel drive, inclusi file aggiunti, modificati o eliminati. |
| Google Drive | googledrive | file | Qualsiasi modifica a un file specifico (richiede resource_id). |
| Google Drive | googledrive | file.update | Contenuto o proprietà del file modificati (richiede resource_id). |
| Google Drive | googledrive | file.trash | File spostato nel cestino (richiede resource_id). |
| Google Drive | googledrive | file.untrash | File ripristinato dal cestino (richiede resource_id). |
| Google Drive | googledrive | file.delete | File eliminato definitivamente (richiede resource_id). |
| Microsoft OneDrive | one_drive | updated | Qualsiasi modifica di file o cartella, incluse creazione, modifica ed eliminazione. |
| Microsoft Outlook | outlook | created | Vengono creati una nuova email, un evento del calendario o un contatto. |
| Microsoft Outlook | outlook | updated | Un’email, un evento del calendario o un contatto vengono aggiornati. |
| Microsoft Outlook | outlook | deleted | Un’email, un evento del calendario o un contatto vengono eliminati. |
| Microsoft SharePoint | share_point | updated | Quando un elemento di elenco o un documento viene creato, modificato o eliminato. |
| Microsoft Teams | microsoft_teams | created | Quando viene pubblicato un nuovo messaggio in chat. |
| Microsoft Teams | microsoft_teams | updated | Quando un messaggio in chat viene aggiornato. |
| Microsoft Teams | microsoft_teams | deleted | Quando un messaggio in chat viene eliminato. |
| Slack | slack | message | Quando viene pubblicato un messaggio in un canale. |
| Slack | slack | message.im | Quando viene pubblicato un messaggio diretto. |
| Slack | slack | message.groups | Quando viene pubblicato un messaggio in un canale privato. |
| Slack | slack | message.channels | Quando viene pubblicato un messaggio in un canale pubblico. |
| Slack | slack | message.mpim | Quando viene pubblicato un messaggio in una IM multi-party. |
| Slack | slack | reaction_added | Quando viene aggiunta una reazione a un messaggio. |
| Slack | slack | reaction_removed | Quando viene rimossa una reazione da un messaggio. |
| Slack | slack | member_joined_channel | Quando un utente entra in un canale. |
| Slack | slack | member_left_channel | Quando un utente lascia un canale. |
| Slack | slack | file_shared | Quando viene condiviso un file. |
| Slack Bot | slackbot | app_mention | Quando il bot viene menzionato con @. |
| Slack Bot | slackbot | message.im | Quando viene inviato un messaggio diretto al bot. |
| Slack Bot | slackbot | message.mpim | Quando viene inviato un messaggio in un DM di gruppo con il bot. |
| Slack Bot | slackbot | message.channels | Quando viene pubblicato un messaggio in un canale pubblico in cui è presente il bot. |
| Slack Bot | slackbot | message.groups | Quando viene pubblicato un messaggio in un canale privato in cui è presente il bot. |
| Wix | wix | wix.forms.v4.submission_created | È stata creata una submission del modulo su un sito Wix. |
| Wix | wix | wix.contacts.v4.contact_created | È stato creato un contatto in Wix CRM. |
| Wix | wix | wix.contacts.v4.contact_updated | Un contatto Wix CRM è stato aggiornato. |
| Wix | wix | wix.contacts.v4.contact_deleted | Un contatto Wix CRM è stato eliminato. |
| Wix | wix | wix.ecom.v1.order_created | È stato creato un ordine Wix eCommerce. |
| Wix | wix | wix.ecom.v1.order_updated | Un ordine Wix eCommerce è stato aggiornato. |
| Wix | wix | wix.ecom.v1.order_canceled | Un ordine Wix eCommerce è stato annullato. |
| Wix | wix | wix.ecom.v1.checkout_created | È stato creato un checkout Wix eCommerce. |
| Wix | wix | wix.data.v2.data_item_created | È stato creato un data item Wix CMS. |
| Wix | wix | wix.data.v2.data_item_updated | Un data item Wix CMS è stato aggiornato. |
| Wix | wix | wix.data.v2.data_item_deleted | Un data item Wix CMS è stato eliminato. |
Le automazioni dei connettori Slack (
slack) e Slack Bot (slackbot) richiedono condizioni di trigger. La distribuzione fallirà se non sono impostate condizioni per queste automazioni connettore.Formati resource ID
Il valore atteso perresource_id varia in base al connettore:
- Google Drive: l’ID del file. Richiesto per gli eventi con ambito di file (
file,file.update,file.trash,file.untrash,file.delete). - Gmail: un elenco separato da virgole di ID di etichette da monitorare. Valore predefinito
"INBOX"se omesso. - Microsoft Teams:
{teamId}/{channelId}per monitorare un canale specifico, o{chatId}per monitorare una chat specifica. - SharePoint:
{siteId}/{listId}per monitorare un elenco specifico.
Condizioni di trigger
Usatrigger_conditions per filtrare gli eventi webhook in modo che la tua funzione venga eseguita solo quando il payload corrisponde alle regole che definisci. Se non sono impostate condizioni, la funzione viene eseguita per ogni evento in arrivo. Consulta Esempi di automazioni connettore per configurazioni complete.
Come combinare le condizioni. Valori possibili:
"and" (tutti devono corrispondere), "or" (almeno uno deve corrispondere). Valore predefinito "and".Uno o più oggetti condizione o gruppi di condizioni annidati. Massimo 20 condizioni foglia e 5 livelli di annidamento.
Payload webhook
Quando un’automazione connettore attiva la tua funzione, il corpo della richiesta contiene un oggettopayload con la seguente struttura. Consulta Esempi di automazioni connettore per una funzione che legge il payload.
| Campo | Tipo | Descrizione |
|---|---|---|
payload.automation.id | string | ID dell’automazione che ha attivato questa esecuzione. |
payload.automation.name | string | Nome dell’automazione. |
payload.automation.type | string | Sempre "connector". |
payload.event.type | string | Il nome dell’evento webhook. Ad esempio, "mailbox", "events" o "changes". |
payload.event.integration_type | string | Il tipo di connettore. Ad esempio, "gmail" o "googlecalendar". |
payload.event.provider_identifier | string | L’identificatore dell’account provider usato per l’instradamento. |
payload.data | object | Il payload webhook grezzo dal servizio esterno. Impostato su null quando payload_too_large è true. |
payload.payload_too_large | boolean | È true quando il payload webhook ha superato ~200 KB e data è null. |
Esempi di automazioni connettore
Argomenti della funzione
Passa dati alla tua funzione quando viene attivata includendo il campofunction_args nella configurazione della tua automazione. Questo è utile quando una funzione gestisce più automazioni con comportamenti diversi, come una funzione di sincronizzazione che viene eseguita in modo incrementale ogni 15 minuti ma esegue una sincronizzazione completa quotidianamente.
Accedi a questi argomenti nel codice della tua funzione tramite il corpo della richiesta.
Esempio di argomenti della funzione
Questo esempio mostra una funzione che gestisce sia la modalità di sincronizzazione incrementale sia quella completa in base alla configurazione dell’automazione:Distribuisci le automazioni
Distribuisci le funzioni backend con le loro automazioni usando il comando CLIfunctions deploy o il comando unificato deploy. Puoi distribuire funzioni specifiche per nome con functions deploy <names...>.
La distribuzione è atomica per funzione. Una funzione è considerata distribuita solo se sia la distribuzione Deno sia tutte le sue automazioni hanno successo. Se un’automazione non viene distribuita, l’intera distribuzione della funzione viene ripristinata.
Dopo la distribuzione, la CLI mostra lo stato per funzione: distribuita, invariata o errore.
Gestire le automazioni nella dashboard
Visualizza e gestisci le tue automazioni nella dashboard Base44 nella scheda Automations. Dalla dashboard, puoi:- Visualizzare log di esecuzione e cronologia
- Eseguire manualmente le automazioni per i test
- Monitorare lo stato dell’automazione
Vedi anche
- Funzioni backend: scopri le funzioni backend
functions deploy: distribuisci funzioni con automazionideploy: distribuisci tutte le risorse in una voltalogs: visualizza i log delle funzioni
Questa pagina è stata tradotta utilizzando l’IA. Per informazioni più accurate e aggiornate, consulta la versione inglese.

