# Esegui, pianifica e attiva

> Passa gli input e avvia un workflow manualmente, a orari stabiliti, da un webhook o da un evento.

## Prima di iniziare

Devi essere owner o editor della dashboard per eseguire workflow o modificare trigger. Prima dichiara e salva gli [input del workflow](/it/docs/workflows/build).

## Esegui manualmente

1. Apri la scheda **Pipeline** del workflow.
2. Scegli **Esegui**.
3. Compila gli input dichiarati e invia il modulo.
4. Apri **Esecuzioni** per verificare il risultato.

Senza input, **Esegui** avvia subito il workflow. Valori obbligatori mancanti o valori non validi bloccano l’invio. Le esecuzioni proseguono dopo la chiusura della pagina.

## Aggiungi una pianificazione

1. Scegli **Aggiungi trigger**, poi **Pianificazione**.
2. Imposta ricorrenza, orario e fuso.
3. In **Dati**, assegna un **Valore fisso** a ogni input obbligatorio.
4. Salva il trigger.

Le pianificazioni supportano esecuzioni giornaliere, giorni della settimana o del mese selezionati e intervalli fissi in minuti o ore. Un giorno oltre la fine del mese cade sull’ultimo giorno. Il workflow mostra la prossima esecuzione.

Ogni trigger ha la propria impostazione **Attivo**. Disattivare il workflow sospende tutte le pianificazioni; riattivarlo riprende quelle abilitate dalla prossima occorrenza. Più trigger possono avviare la stessa pipeline con assegnazioni diverse. Le modifiche ai trigger si salvano separatamente da input e passaggi; usa **Salva trigger** quando ne modifichi uno.

Ogni trigger deve fornire un valore per ogni input obbligatorio. **Input obbligatori** nel pannello del trigger mostra cosa manca, e il salvataggio attende che ognuno abbia un valore. Fa eccezione un nuovo webhook, finché non arriva la prima consegna.

## Collega un webhook

1. Scegli **Aggiungi trigger**, poi **Webhook**.
2. Scegli **Crea webhook**. L’URL compare in **Indirizzo**.
3. Copia l’URL e scegli **Mostra** per ottenere il segreto.
4. Invia una richiesta POST con il segreto nell’header `X-Botchi-Webhook-Secret`, oppure usa **Incolla un esempio**.
5. In **Dati ricevuti**, scegli l’input che ogni campo alimenta. **Nuovo input** crea un input a partire da un campo.
6. Scegli **Salva trigger**.

**Avanzate** contiene un esempio di richiesta. L’header facoltativo `Idempotency-Key` impedisce che nuovi tentativi con la stessa chiave avviino un’altra esecuzione. Assistente e MCP possono restituire l’URL, ma non ricevono mai il segreto.

Botchi risponde **202** appena ha salvato una richiesta, e l’esecuzione entra in coda subito dopo. Un nuovo tentativo con la stessa `Idempotency-Key` e lo stesso corpo risponde **200** e non avvia nulla; la stessa chiave con un corpo diverso viene rifiutata con **409**. Le chiavi vengono ricordate per almeno 7 giorni. Le richieste che non hanno avviato nulla o che hanno continuato a fallire compaiono nel pannello del webhook con il motivo; gli editor possono scegliere **Riprova** su quelle fallite.

### Richieste firmate

Se il mittente supporta [Standard Webhooks](https://www.standardwebhooks.com), scegli **Firma Standard Webhooks** in **Autenticazione**. Il mittente firma allora ogni richiesta con il segreto invece di inviarlo, negli header `webhook-id`, `webhook-timestamp` e `webhook-signature`. Una firma mancante o sbagliata, o un timestamp distante più di 5 minuti, viene rifiutata con **401**. `webhook-id` sostituisce `Idempotency-Key`: lo stesso id con lo stesso corpo risponde **200**, lo stesso id con un corpo diverso **409**. Cambiare modalità crea un nuovo segreto.

> **Attenzione** — **Ruota** invalida subito il vecchio segreto. Aggiorna il mittente prima di affidarti a nuovi invii. Solo editor e owner possono mostrare o ruotare segreti.

## Ascolta un evento

1. Attiva la connessione dell’account necessaria in **Connessioni**.
2. Scegli **Aggiungi trigger**, poi un evento: **WhatsApp · Messaggio ricevuto**, **Slack · Menzione o messaggio diretto**, **Slack · Comando /botchi** o **Facebook · Nuovo lead**.
3. In **Connessione**, scegli la connessione che il trigger ascolta. WhatsApp e Slack possono anche ascoltare tutte le loro connessioni; **Facebook · Nuovo lead** ne indica sempre una, ad esempio un cliente di un’agenzia.
4. In **Dati ricevuti**, scegli l’input che ogni campo dell’evento alimenta, oppure creane uno con **Nuovo input**.
5. Assegna un valore fisso agli altri input obbligatori in **Input senza dati**.
6. Salva il trigger.
7. Usa **Variabile → Input** nei passaggi per usare quei valori.

Un trigger si salva solo quando la sua sorgente è pronta: il webhook verificato e, per la connessione scelta, tutto ciò che elenca la pagina del suo connettore. **Facebook · Nuovo lead** richiede anche le Pagine selezionate e iscritte; vedi [canali social](/it/docs/tools/social-channels). I suoi campi includono le risposte del modulo, come **Email**. Un workflow può avere lo stesso evento una volta per connessione, ad esempio un trigger per cliente.

Per rispondere su WhatsApp, dichiara un input destinatario e associalo al **Destinatario della risposta** dell’evento. Le risposte Slack usano **Canale di risposta** e, quando disponibile, **Conversazione**.

Filtra il mittente con una Condizione: inserisci le azioni corrispondenti nel ramo vero e lascia vuoto quello falso. Ogni workflow attivo in ascolto riceve l’evento; più workflow che rispondono inviano più risposte. Senza ascoltatori, WhatsApp resta silenzioso; Slack mostra un avviso privato al massimo una volta per connessione e canale ogni ora.

## Prova e verifica gli invii

1. Salva le assegnazioni degli input del trigger.
2. Scegli **Prova con l’esempio** nel pannello del webhook o dell’evento.
3. Verifica **Invii recenti** e la traccia dell’esecuzione.

> **Attenzione** — Un test con esempio esegue passaggi reali e consuma Sparks. Può inviare messaggi o modificare dati. Invia un nuovo evento dalla sorgente se l’esempio non è riproducibile.

**Invii recenti** elenca gli ultimi 50 invii, risultati e motivi di scarto. Input obbligatori mancanti impediscono l’esecuzione. I dati degli invii restano per 30 giorni. I viewer vedono orari di arrivo e nomi dei campi assegnati; solo i gestori vedono i valori. I dati originali sono in **Avanzate** per esecuzioni da webhook ed eventi.

Gli invii esterni entrano in coda e vengono elaborati uno alla volta. Le esecuzioni automatiche agiscono come l’ultimo editor del workflow e usano gli Sparks condivisi dell’account. Consulta [errori e concorrenza](/it/docs/workflows/guardrails).

## Correlati

- [Crea un workflow](/it/docs/workflows/build)
- [Account collegati](/it/docs/tools/connected-accounts)
- [Utilizzo](/it/docs/usage)
