Passa al contenuto principale

Nodo Wait for Event - Callback Webhook Asincrono in ConvyAI Agentic Flow

Overview​

Il nodo Wait for Event sospende l'esecuzione del flusso finché un sistema esterno non segnala il completamento chiamando un URL webhook univoco generato per quella specifica istanza di run. Quando il flusso raggiunge questo nodo, la piattaforma genera la callback URL, notifica opzionalmente il sistema esterno, e rimane in attesa. Il flusso riprende alla ricezione del callback oppure alla scadenza del timeout configurato.

Un caso d'uso tipico è l'human-in-the-loop: un AI Agent produce un risultato che deve essere revisionato e approvato da una persona prima che il flusso continui.

La sequenza seguente mostra l'interazione tra il flusso e il sistema esterno durante l'attesa:

Posizionamento​

Il nodo Wait for Event ha un ingresso e due uscite: Resume e Timeout. Può essere posizionato in qualsiasi punto del flusso. La sospensione del run non blocca l'ambiente di esecuzione - gli altri run concorrenti non sono influenzati.

Uscite​

Il nodo ha due uscite:

RamoAttivato quando
ResumeUn callback valido viene ricevuto prima del timeout.
TimeoutIl timeout scade senza aver ricevuto un callback valido.

Il ramo Timeout può essere lasciato non collegato - in quel caso, il nodo si conclude senza errore alla scadenza del timeout.

Configurazione​

Notifica sistema esterno​

CampoDescrizione
URL endpointURL del sistema esterno a cui inviare la notifica. Supporta riferimenti a variabili $.
Metodo HTTPGET o POST.
AutenticazioneNessuna, API key o header personalizzato.
Payload personalizzatoCoppie chiave-valore da includere nel body della notifica. I valori supportano riferimenti a variabili $.

La notifica viene inviata automaticamente quando il nodo viene raggiunto. In caso di errore di consegna, la piattaforma riprova. Se la notifica fallisce definitivamente, il nodo va in errore e il flusso si interrompe.

Timeout​

CampoDescrizione
DurataTempo massimo di attesa, da 1 minuto a N giorni. Seleziona l'unità di tempo (minuti, ore, giorni).

Callback URL​

Per ogni run, la piattaforma genera un URL univoco che il sistema esterno deve chiamare per riprendere il flusso. Questo URL è esposto come callback_url nel payload della notifica inviata al sistema esterno ed è visibile anche nella vista dettaglio run nella pagina Monitoring.

L'URL è valido solo per la durata configurata come timeout e può essere utilizzato una sola volta. Includi callback_url nel Payload personalizzato della notifica in modo che il sistema esterno sappia quale URL chiamare.

Comportamento in esecuzione​

Quando il sistema esterno chiama la callback URL, il flusso riprende sul ramo Resume. L'URL può essere usato una sola volta - qualsiasi chiamata successiva viene ignorata e il flusso non viene ripreso nuovamente.

Se il timeout scade prima che la callback venga ricevuta, il flusso riprende sul ramo Timeout.

Output​

Il payload ricevuto nel callback è disponibile ai nodi successivi sul ramo Resume:

CampoTipoDescrizione
request.bodyobjectBody della richiesta HTTP di callback.
request.headersobjectHeader della richiesta HTTP di callback.

Sul ramo Timeout non è disponibile alcun payload di output.

Concetti chiave​

TermineDefinizione
Callback URLURL univoco generato per ogni run, valido per la durata del timeout configurato e utilizzabile una sola volta. Il sistema esterno chiama questo URL per segnalare il completamento e riprendere il flusso.
Ramo ResumePercorso attivato quando il sistema esterno chiama la callback URL prima della scadenza del timeout.
Ramo TimeoutPercorso attivato quando il tempo di attesa configurato scade senza aver ricevuto la callback.