Skip to navigation

Webhook

Far partire un workflow da un altro sistema, con un indirizzo di prova e uno di produzione
View as Markdown

Il trigger Webhook dà al workflow un indirizzo suo. Quando un altro sistema (il gestionale, un e-commerce, uno script interno) manda una richiesta a quell’indirizzo, il flusso parte con i dati che la richiesta contiene.

Serve quando l’evento che deve avviare il lavoro nasce in un sistema che sapete già programmare. Se nasce in un’app che avete collegato a Userbot, come Gmail o Google Calendar, è più semplice il trigger Integrazione. → Avvio da eventi delle app

Configurarlo

1

Scegli Webhook nel trigger

Clicca il blocco Trigger e, in cima al pannello, scegli la scheda Webhook. Gli indirizzi si generano da soli e non si scrivono a mano.

Il pannello del blocco Trigger con le tre schede in cima, Manuale, Integrazione e Webhook
2

Copia l'indirizzo giusto

In Parametri scegli Produzione o Test e premi Copia accanto a URL webhook. La differenza fra i due è spiegata qui sotto. Copia sempre l’indirizzo dal tuo workflow: quello nell’immagine viene da un ambiente di prova.

La scheda Webhook del trigger: sotto la spiegazione, le schede Parametri, Sicurezza e Audit logs; in Parametri i pulsanti Produzione e Test, il campo URL webhook con Copia evidenziato accanto e, sotto, Rigenera URL
3

Limita chi può chiamarlo

Apri Sicurezza e aggiungi le origini o gli indirizzi IP ammessi. Senza restrizioni chiunque abbia l’indirizzo può far partire il flusso.

La scheda Sicurezza del webhook: una riga che spiega perché conviene limitarlo e i due campi Origin Whitelist e IP Whitelist, affiancati
4

Pubblica

L’indirizzo di produzione risponde solo quando il workflow è attivo e ha una versione pubblicata con questo trigger. → Pubblicare e monitorare

Produzione e Test

ProduzioneTest
Cosa esegueLa versione pubblicataLa bozza così come l’hai salvata
Quando rispondeSolo con il workflow attivo e pubblicatoSempre
Dove lo usiNel sistema che chiama davveroMentre costruisci e provi

Gli avvii arrivati sull’indirizzo Test non compaiono in Analytics. Nella cronologia del workflow i due casi si distinguono dall’origine, Webhook · Prod oppure Webhook · Test.

Provare con Ascolta

1

Scegli Test

In Parametri premi Test: il campo URL webhook mostra l’indirizzo di prova, e accanto a Rigenera URL compare Ascolta.

2

Premi Ascolta

Il pulsante diventa In ascolto… e sotto compare Payload, in attesa della prima chiamata.

La scheda Parametri con Test scelto: l'indirizzo di prova, il pulsante In ascolto…, la nota che ogni chiamata avvia un'esecuzione sulla bozza e il Payload ancora in attesa
3

Manda una richiesta all'indirizzo di prova

Dal sistema che chiamerà il workflow, oppure da uno strumento per provare le API. Sotto Payload compaiono l’indirizzo chiamato e i dati ricevuti, campo per campo.

Ogni chiamata all’indirizzo di prova avvia anche un’esecuzione sulla bozza, quindi vedi subito cosa fa il flusso con quei dati.

Cosa deve mandare chi chiama

Una richiesta POST con un corpo JSON. Il workflow legge solo l’oggetto data: tutto quello che sta lì dentro diventa l’input del flusso, il resto viene ignorato.

{
"data": {
"ordine": "A-1042",
"cliente": "mario.rossi@esempio.it",
"totale": 129.5
}
}

Nel flusso questi valori si richiamano con $input.data, per esempio {{$input.data.ordine}}. Insieme ai dati arriva anche $input.webhook, con l’indirizzo chiamato e l’ambiente (production o test). → La sintassi dei riferimenti

La risposta arriva subito, senza aspettare che il flusso finisca:

CodiceCosa significa
202Richiesta accettata, l’esecuzione è partita. Nella risposta c’è il suo identificativo
402L’avvio è stato bloccato da un limite: esecuzioni del mese esaurite o un limite del workflow
403L’origine o l’indirizzo IP di chi chiama non è fra quelli ammessi
404Indirizzo sconosciuto, oppure in produzione il workflow non è attivo o non è pubblicato
429Più di 60 richieste in un minuto sullo stesso indirizzo

Se arrivano più richieste mentre un’esecuzione è in corso, le altre aspettano il loro turno. → Come gira un’esecuzione

Sicurezza

L’indirizzo è una credenziale: chi lo conosce può far partire il flusso, e ogni avvio consuma esecuzioni e credito. Le due liste della scheda Sicurezza riducono chi può usarlo.

  • Origin Whitelist accetta solo le richieste che dichiarano di arrivare da uno dei domini elencati, per esempio https://shop.azienda.it. Serve quando a chiamare è un sito, dal browser di chi lo visita.
  • IP Whitelist accetta solo le richieste che arrivano dagli indirizzi IP o dagli intervalli elencati. Serve quando a chiamare è un vostro server.

Un server che chiama il webhook di solito non dichiara un’origine. Se compili Origin Whitelist e la chiamata parte da un server, viene rifiutata con 403. Per le chiamate da server usa IP Whitelist.

Le liste valgono per entrambi gli indirizzi e si applicano appena le salvi, senza ripubblicare.

Rigenera URL

Se pensi che un indirizzo sia circolato dove non doveva, Rigenera URL ne crea uno nuovo per l’ambiente selezionato. Il vecchio smette di funzionare subito, anche senza ripubblicare: prima di confermare, preparati ad aggiornare il sistema che lo chiama.

Ogni rigenerazione resta nella scheda Audit logs, con data, persona, ambiente e nuovo indirizzo, e compare anche nel Registro di audit dell’area di lavoro.

Errori frequenti

I dati non sono dentro data. Un corpo come {"ordine": "A-1042"} viene accettato, ma al flusso arriva un oggetto vuoto. Sposta i campi sotto "data".

Il workflow non è attivo, oppure la versione pubblicata non ha ancora il trigger Webhook. Pubblica la bozza: la pubblicazione attiva anche il workflow.

Chi chiama non rientra nelle liste di Sicurezza. Se hai compilato Origin Whitelist e chiama un server, è quasi sempre quella la causa.