> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.userbot.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.userbot.ai/_mcp/server.

# Come si avvia un workflow

Ogni workflow comincia con il blocco **Trigger**, che stabilisce quando parte e
quali dati riceve in ingresso. È la prima cosa da decidere, perché tutto il
resto del flusso lavora su quei dati.

Un workflow nuovo nasce già con un Trigger **Manuale** sulla tela. Il tipo si
cambia aprendo il blocco: in cima al pannello ci sono tre schede, **Manuale**,
**Integrazione** e **Webhook**. Cambiare tipo azzera la configurazione del
trigger, non i blocchi che hai già costruito dopo.

![Il pannello del blocco Trigger: in cima le tre schede Manuale, Integrazione e Webhook, con Manuale scelto; sotto, i tre modi in cui parte un trigger Manuale, cioè Chat, Agenti e Attività programmate](/_fern-img/ee4c031e943505dba257ce3dd766e521d309f72a3bef46a57c804241041e71d1.webp)

| Trigger          | Parte quando                                                                                           |
| ---------------- | ------------------------------------------------------------------------------------------------------ |
| **Manuale**      | Qualcuno o qualcosa dentro Userbot lo richiede: la chat, un agente, un'attività schedulata, il builder |
| **Webhook**      | Un sistema esterno chiama l'indirizzo del workflow                                                     |
| **Integrazione** | Succede qualcosa in un'app collegata: arriva un'email, nasce un evento in calendario, cambia un file   |

Webhook e Integrazione avviano il flusso solo quando il workflow è **attivo** e
ha una versione pubblicata. Finché è in bozza, l'unico modo di farlo girare è
provarlo dal builder.

## Manuale

Il flusso non ascolta eventi esterni e non parte a un orario fisso: parte quando
qualcuno lo richiede. Il pannello del trigger elenca i modi in cui succede.

* **Chat.** Richiami il workflow con **@** in una conversazione, oppure
  l'assistente lo avvia da solo quando il flusso è disponibile in quella chat,
  per esempio perché un agente lo ha fra le sue azioni.
  → [Avviare un workflow dalla chat](/workflow-da-chat)
* **Agenti.** Dalla scheda di un agente decidi come usarlo: come azione, che la
  chat avvia quando serve; come workflow di un agente multiplo, che parte quando
  interviene quell'agente; come pulsante di benvenuto della chat sul sito.
* **Attività programmate.** Un'attività schedulata lo fa partire da sola, senza
  una chat, agli orari o agli intervalli che imposti. È la strada per un
  workflow a orario, descritta più sotto.

In tutti questi casi gira la **versione pubblicata**, e solo se il workflow è
attivo. Dal builder invece provi la bozza: è una prova, non uno di questi avvii.
→ [Come gira un'esecuzione](/esecuzione-workflow)

È il trigger giusto per i flussi che una persona decide di eseguire (preparare
un documento, elaborare un file appena arrivato) e per quelli che costruisci per
un agente.

## Webhook

Il workflow ha un indirizzo suo: chi lo chiama lo fa partire, passando i dati
nella richiesta. È il trigger per collegare Userbot a un sistema che sapete già
programmare, come il vostro gestionale, un e-commerce o uno strumento interno.

Gli indirizzi sono due, **Produzione** e **Test**, e si generano da soli. Con
**Sicurezza** limiti da quali origini e da quali reti si può chiamare.

→ [Webhook](/webhook-workflow)

## Integrazione

Il flusso parte quando succede qualcosa in un'app collegata. Scegli una delle
**Connessioni collegate**, poi l'**Evento trigger** che deve farlo partire.
L'aggancio all'app si crea quando pubblichi il workflow attivo.

→ [Avvio da eventi delle app](/trigger-integrazione)

## Far partire un workflow a orario

Il trigger non ha un tipo «a orario»: la pianificazione la fa un'attività
schedulata, che richiama il workflow.

#### Prepara il workflow

Trigger **Manuale**, versione pubblicata, workflow attivo. Gli altri non
compaiono fra quelli che un'attività può avviare.

#### Crea l'attività

In **Automazioni**, **Nuovo** → **Schedulata**. In **Esegui tramite** scegli
**Workflow** e seleziona il flusso. Il testo che scrivi in **Istruzioni**
arriva al workflow come messaggio di partenza.

![Il modulo dell'attività con Workflow scelto in Esegui tramite: sotto, il menu Workflow evidenziato, su Seleziona un workflow, e il campo Istruzioni](/_fern-img/9af083d197a6a2561f3b69b6dace318b5bc092fb182c85a2957aa515e75ef2c9.webp)

#### Scegli quando

Frequenza, orario o intervallo, ed eventualmente il periodo di validità.
→ [Attività schedulate](/schedulate)

Ogni giro compare nella pagina dell'attività e fra le esecuzioni del workflow,
con origine **Programmato**.

## Scegliere bene

#### Mi serve che parta da solo

Se lo fa partire un sistema che controllate voi, **Webhook**. Se lo fa
partire un'app collegata, **Integrazione**. Se deve girare a orario,
**Manuale** più un'attività schedulata.

#### Devo raccogliere informazioni da persone

Il trigger non mostra moduli. Avvia il flusso dalla chat con **Manuale** e
metti subito dopo un blocco **Richiesta dati**: i campi compaiono in chat e
i valori proseguono nel flusso.

#### Sto ancora costruendo

**Manuale**. È anche la scelta giusta dopo: un workflow incompleto agganciato
a un evento frequente diventa rumore per tutti.

## Un solo punto di partenza

Per pubblicare serve **esattamente un trigger attivo**. Altri trigger possono
restare sulla tela purché disattivati (dal menu del blocco, **Disattiva nodo**),
e mentre ce n'è uno attivo il pannello dei blocchi non ti fa aggiungere un altro
Trigger.

Se ti serve che lo stesso lavoro parta in due modi diversi, costruisci il lavoro
una volta e crea due workflow che lo richiamano con il blocco **Chiama
workflow**. Così la logica resta in un posto solo, e correggerla significa
correggerla una volta.