Nodo Code - Esecuzione JavaScript Personalizzata in ConvyAI Agentic Flow
Overview
Il nodo Code esegue uno snippet JavaScript personalizzato all'interno del flusso. Lo script può leggere il contesto di esecuzione corrente, eseguire calcoli personalizzati ed effettuare chiamate HTTP verso sistemi esterni. Il valore restituito dallo script diventa l'output del nodo per i nodi successivi.
Posizionamento
Il nodo Code ha un ingresso e un'uscita. Può essere posizionato in qualsiasi punto del flusso dopo un nodo trigger.
Configurazione
Il pannello di configurazione include un editor JavaScript con:
- Syntax highlighting (ES6+)
- Auto-indentazione
- Numerazione delle righe
Accesso al contesto del flusso
Il contesto di esecuzione del flusso viene iniettato automaticamente come oggetto globale $. Usalo per accedere agli output dei nodi precedenti e alle variabili di contesto:
const customerId = $('estraiDati').output.customerId;
const flowName = $context.agentic_flow_name;
return {
saluto: `Elaborazione cliente ${customerId}`,
nomeFlusso: flowName
};
L'oggetto $ è in sola lettura - lo script non può modificare direttamente lo stato del flusso.
API disponibili
| API | Descrizione |
|---|---|
fetch | Fetch API standard per chiamate HTTP a sistemi esterni. |
JSON | Utility JSON standard (JSON.parse, JSON.stringify). |
Math | Utility Math standard. |
Date | Oggetto Date standard. |
import e require non sono supportati - non è possibile caricare librerie esterne.
Valore di ritorno
Lo script deve restituire un oggetto JSON tramite return. Se restituisce undefined o un tipo primitivo, il nodo va in errore con:
Invalid Output: Code node must return a JSON object
Limiti di esecuzione
| Limite | Valore | Configurabile |
|---|---|---|
| Timeout | 10 secondi | No |
| Memoria massima | 8 MB | No |
Questi limiti sono a livello di sistema e non possono essere modificati dall'utente.
Comportamento in caso di errore
| Scenario | Comportamento |
|---|---|
| Lo script restituisce un valore non JSON | Il nodo va in errore: Invalid Output: Code node must return a JSON object |
| Timeout superato | Il nodo va in errore: Execution Timeout. Stato nodo → Failed. |
| Eccezione non gestita nello script | Stato nodo → Failed. Dettagli dell'errore visibili nel log del run. |
| Errore di sintassi al salvataggio | Il nodo viene marcato come non valido. Il flusso non può essere salvato. |
Concetti chiave
| Termine | Definizione |
|---|---|
Oggetto $ | Riferimento in sola lettura al contesto di esecuzione del flusso, iniettato automaticamente nello script del nodo Code. |
| Sandbox | Ambiente di esecuzione isolato con limiti di risorse e senza accesso al filesystem o alle variabili di sistema. |