SSD Nodes Learn Hosting plans →
Guide Matt ConnorDi Matt Connor · Aggiornato 2026-08-28

Claude con n8n: workflow AI su un VPS

Collega Claude a n8n sul tuo VPS: credenziali, modelli per nodo, tre workflow AI, calcolo dei costi e correzione degli errori piu comuni.

Cosa stai creando

Tre workflow AI funzionanti sull'istanza n8n che esegui già: un webhook che riassume qualsiasi contenuto gli invii, un lettore di feed pianificato che trasforma gli articoli in righe strutturate di un foglio di calcolo e un AI Agent che chiama autonomamente un'API HTTP per rispondere alle domande. È l'equivalente no-code di chiamare l'API Claude da Python sul tuo VPS, con la stessa API, gli stessi token e lo stesso costo, ma con l'orchestrazione gestita dai nodi n8n anziché da uno script.

Presumo che n8n sia già disponibile tramite HTTPS, come descritto nella guida per eseguire n8n self-hosted su Docker. In caso contrario, configura prima questo aspetto: i webhook richiedono un endpoint TLS reale e l'archivio delle credenziali in cui stai per inserire una API key richiede il backup della encryption key indicato nella guida.

I problemi rilevanti non riguardano il trascinamento dei nodi. Riguardano la scelta del modello per ogni nodo, i campi dei prompt che interpolano undefined senza segnalarlo e il fatto che un'automazione viene eseguita senza supervisione. Un workflow che costa mezzo centesimo per esecuzione è economico, finché un ciclo di retry non lo esegue quattromila volte durante la notte. La maggior parte di questa guida tratta questi aspetti.

Una credenziale, cifrata con la chiave di cui hai eseguito il backup

Ottieni una chiave API dalla Anthropic Console all'indirizzo platform.claude.com, quindi apri Settings, poi API Keys e crea una chiave con un nome simile a n8n-vps. La chiave viene visualizzata una sola volta. Aggiungi fondi all'account o configura la fatturazione: l'utilizzo dell'API viene addebitato per token ed è completamente separato da qualsiasi abbonamento Claude.ai. Se speravi di creare questi tre workflow senza pagare nulla, non esiste un piano gratuito: sono disponibili soltanto un piccolo credito di registrazione e alcuni endpoint completamente gratuiti.

In n8n: Credentials, Create credential, seleziona Anthropic, incolla la chiave nel campo API Key e salva. Ogni nodo Claude di ogni workflow utilizza questa credenziale memorizzata. Non devi mai incollare la chiave in un nodo.

Due note operative. Innanzitutto, n8n cifra le credenziali memorizzate con N8N_ENCRYPTION_KEY. Se imposti esplicitamente questa variabile d'ambiente nel file compose, come indicato nella guida di n8n, le credenziali restano disponibili anche dopo la ricreazione dei container. Se lasci che n8n ne generi una e poi perdi il volume, tutte le credenziali memorizzate, inclusa questa chiave, diventano dati cifrati irrecuperabili. Esegui subito il backup della chiave se non l'hai già fatto.

In secondo luogo, considera l'archivio delle credenziali di n8n come il perimetro dell'impatto: chiunque possa modificare i workflow nella tua istanza può effettuare richieste usando la tua chiave Anthropic. La Community edition non offre autorizzazioni per utente sulle credenziali. Se altre persone accedono a questa istanza, leggi quali controlli di accesso sono disponibili con una licenza n8n a pagamento prima di creare gli account. Imposta un limite di spesa nella Console, in Settings, in modo che un'istanza compromessa o soggetta a esecuzioni incontrollate abbia un tetto massimo.

La scelta del modello si fa per singolo nodo

Il menu a discesa dei modelli nei nodi Claude di n8n viene caricato in tempo reale dall'API, quindi mostra i modelli a cui la tua chiave può accedere. A luglio 2026, i modelli disponibili e i prezzi API per un milione di token di input/output sono questi: Claude Haiku 4.5 (claude-haiku-4-5) a $1/$5, con una finestra di contesto di 200K token; Claude Sonnet 5 (claude-sonnet-5) a $3/$15, con un prezzo introduttivo di $2/$10 fino al 31 agosto 2026; e Claude Opus 4.8 (claude-opus-4-8) a $5/$25, entrambi con finestre di contesto da 1M di token. È disponibile anche Claude Fable 5 (claude-fable-5) a $10/$50 per le attività di ragionamento più complesse; questa guida non ne richiede l'uso. Usa quegli ID esatti: una variante con la data, ricordata da un vecchio tutorial, restituirà un errore 404. I prezzi cambiano, quindi controlla platform.claude.com prima di considerare attendibile qualsiasi cifra, anche quelle riportate qui.

La regola da applicare è questa: scegli il modello per ogni nodo, non per l'intera piattaforma. Classificazione, estrazione, riepilogo e routing, cioè le attività fondamentali dell'automazione, funzionano molto bene con Haiku, a un terzo del prezzo di listino di Sonnet e a un quinto di quello di Opus. Riserva Sonnet agli agenti e alle attività di ragionamento in più passaggi. Usa Opus nei pochi workflow in cui una risposta errata costa più dei token consumati. Un workflow con cinque nodi Claude può e dovrebbe combinare modelli diversi.

I due nodi Claude e quale usare nei vari casi

n8n include due integrazioni Anthropic distinte. Scegliere quella sbagliata è l’errore più comune per chi inizia.

Il nodo Anthropic è un normale nodo applicativo: riceve una richiesta e restituisce una risposta. La risorsa Text include l’operazione Message a Model, oltre alle operazioni per analizzare immagini e documenti. Usalo quando la logica del workflow risiede in n8n: trigger, chiamata a Claude, nodo successivo. I workflow 1 e 2 descritti di seguito usano questo nodo o l’equivalente basato su chain.

Il nodo Anthropic Chat Model è un sub-nodo, cioè un componente secondario che fornisce il modello a un nodo principale come AI Agent o Basic LLM Chain. Non ha un trigger né un output autonomo. Espone il selettore del modello e opzioni di campionamento come Maximum Number of Tokens e Sampling Temperature. Ricorda inoltre una precisazione della documentazione di n8n: le espressioni nei sub-nodi vengono sempre risolte rispetto al primo elemento in input, non rispetto a ciascun elemento. Inserisci quindi le espressioni per singolo elemento nei campi prompt del nodo principale, non nel sub-nodo.

Workflow 1: webhook in, summary out

Il flusso base dell’automazione AI: tutto ciò che viene inviato con POST a un URL viene riepilogato e arriva in Slack o nella casella di posta.

  1. Nodo Webhook, metodo HTTP POST, percorso summarize. n8n fornisce un URL di test e un URL di produzione; quello di produzione riceve richieste solo quando il workflow è attivo.
  2. Nodo Anthropic, Message a Model, modello claude-haiku-4-5, Max Tokens circa 300.
  3. Nodo Slack (oppure Send Email), che pubblica il testo della risposta in un canale.

È nel prompt che le espressioni di n8n interagiscono con Claude. Il corpo di una richiesta POST viene inserito in $json.body, quindi il campo del messaggio utente è simile al seguente:

Summarize the following feedback in three bullets, then one line:
verdict: praise | complaint | churn-risk. No preamble.

{{ $json.body.text }}

Inserisci le istruzioni sul ruolo e sul formato nel campo del prompt di sistema del nodo, non nel messaggio utente. Il prompt di sistema resta costante, mentre il payload varia. Questo mantiene stabile il comportamento e rende il prompt comprensibile anche tra sei mesi. Esegui il test direttamente dal VPS:

curl -X POST https://n8n.example.com/webhook/summarize \
  -H 'Content-Type: application/json' \
  -d '{"text": "Third support ticket this month about slow disk IO..."}'

Il costo per esecuzione con Haiku è contenuto: un payload di 1,200 token più il prompt costa circa $0.0012 in ingresso, mentre 300 token in uscita costano $0.0015, cioè circa un quarto di centesimo. Mille esecuzioni al mese costano meno di $3. Lo stesso nodo configurato per usare Opus 4.8 costa circa cinque volte tanto. Questo rapporto, moltiplicato per ogni workflow creato, spiega perché è importante scegliere il modello per ciascun nodo.

Workflow 2: da RSS pianificato a righe strutturate

Ora vediamo un flusso eseguito a intervalli regolari, con output strutturato: legge un feed RSS ogni ora, classifica ogni elemento e aggiunge le righe a un foglio.

  1. Schedule Trigger, ogni ora.
  2. RSS Read, con l'URL del feed. Restituisce un elemento per ogni articolo.
  3. Basic LLM Chain, con un sottonodo Anthropic Chat Model impostato su claude-haiku-4-5 e un sottonodo Structured Output Parser che contiene uno schema JSON.
  4. Google Sheets (oppure Postgres), per aggiungere una riga per ogni elemento.

Il Structured Output Parser trasforma la richiesta "Claude, restituisci JSON" da una semplice aspettativa a un contratto: valida la risposta del modello rispetto allo schema e, se la validazione non riesce, segnala chiaramente l'errore per quell'elemento invece di scrivere righe non valide. Ad esempio:

{
  "type": "object",
  "properties": {
    "category": { "type": "string", "enum": ["release", "security", "tutorial", "other"] },
    "relevance": { "type": "number" },
    "one_line_summary": { "type": "string" }
  },
  "required": ["category", "relevance", "one_line_summary"]
}

Il prompt della chain fa riferimento all'elemento del feed:

Classify this article for a VPS hosting audience.

Title: {{ $json.title }}
Content: {{ $json.contentSnippet }}

Il calcolo dei costi cambia: il consumo è per elemento, non per esecuzione. Cinquanta articoli all'ora, 24 ore al giorno, corrispondono a 36,000 chiamate Claude al mese: con Haiku il costo può essere di circa $40–90, in base alla lunghezza degli articoli; con Opus è circa cinque volte superiore. Deduplica gli elementi prima del nodo LLM, usando un semplice IF per verificare i link già presenti oppure il nodo Remove Duplicates di n8n. Il numero di chiamate diminuisce drasticamente, perché la maggior parte dei controlli orari non trova nuovi contenuti. Il token più economico è quello della chiamata che non esegui.

Workflow 3: un agente AI che usa gli strumenti

I primi due workflow sono pipeline: sei tu a decidere i passaggi. Un nodo AI Agent inverte questo approccio: fornisci a Claude un obiettivo e alcuni strumenti, quindi è lui a decidere quali strumenti chiamare e in quale ordine, fino al completamento dell'attività. n8n richiede un sotto-nodo di modello chat e almeno un sotto-nodo strumento collegato.

Un esempio concreto è un assistente operativo che risponde alla domanda «cosa non funziona e perché» usando i dati del monitoraggio:

  1. Chat Trigger (oppure un webhook): qui arriva la domanda.
  2. AI Agent, con un sotto-nodo Anthropic Chat Model configurato su claude-sonnet-5. Gli agenti pianificano e concatenano le chiamate agli strumenti; Haiku può gestire agenti semplici con un solo strumento, ma Sonnet è il livello minimo sensato quando gli strumenti aumentano.
  3. Un nodo HTTP Request collegato come strumento, indirizzato alla API di stato di Uptime Kuma o a un endpoint Zabbix. Un secondo strumento HTTP può chiamare qualsiasi altro servizio che esponga un'API REST.

Due impostazioni svolgono la maggior parte del lavoro. Il System Message dell'agente definisce l'attività: «Sei un assistente operativo. Usa lo strumento di stato per controllare lo stato corrente dei monitor prima di rispondere. Riporta soltanto i monitor non disponibili, indicando la durata». La description di ogni strumento non è documentazione per gli utenti: indica a Claude quando chiamarlo. «Restituisce in JSON lo stato corrente up/down di tutti i servizi monitorati» viene usata nei momenti corretti; «status API» può essere ignorata o usata in modo errato. Quando colleghi il nodo HTTP Request come strumento, abilita l'opzione Optimize Response e seleziona i campi JSON necessari. In caso contrario, ogni risposta API dettagliata viene inserita nel contesto del modello come token di input, con il relativo costo.

Imposta Max Iterations sull'agente (il valore predefinito è 10) sul numero minimo che funziona. Questa impostazione determina la differenza tra «l'agente ha rinunciato dopo 4 chiamate agli strumenti» e un ciclo con una dozzina di richieste successive al modello. Considera anche il modello di fatturazione: a ogni iterazione viene reinviata l'intera conversazione accumulata, inclusi il messaggio di sistema, la domanda e tutti i risultati precedenti degli strumenti, come token di input. Un'esecuzione dell'agente con 6 iterazioni può arrivare facilmente a 20,000 token di input cumulativi e 2,000 token di output: con il prezzo introduttivo di Sonnet 5 sono circa $0.06, oppure circa $0.09 con il prezzo standard di $3/$15. In pratica, il costo è quello di circa 20 esecuzioni di una semplice procedura di riepilogo. Se stai aggiungendo molti strumenti a un unico agente, questo è il punto in cui eseguire server MCP sul tuo VPS diventa un'architettura più pulita.

Guardrail dei costi, perché nessuno controlla

Un workflow non presidiato richiede i controlli che una persona alla tastiera applica implicitamente. Ci sono quattro livelli, dal meno costoso al più costoso.

Max Tokens su ogni nodo Claude. È un limite rigido per l'output. Un summarizer richiede 300 token, un classifier 100. Questo limita la componente più costosa del bilancio ($5–$25 per milione di token di output contro $1–$5 per l'input) e funziona anche come freno in caso di esecuzione incontrollata: un errore nel prompt che fa divagare Claude costa 300 token, non 8,000.

Un modello per ogni nodo. È già stato spiegato sopra; nella gamma attuale consente di moltiplicare il prezzo per un fattore da cinque a dieci e richiede dieci secondi per essere configurato.

Limita i loop. Imposta Max Iterations sugli agenti. Configura un timeout del workflow nelle impostazioni del workflow, in modo che un'esecuzione bloccata termini invece di continuare indefinitamente. Presta attenzione anche a Retry On Fail per nodo: è lo strumento corretto per gli errori transitori, ma i retry moltiplicano i costi. Max Tries impostato su 3 con Wait Between Tries di 5000 ms può addebitarti fino a tre tentativi per ogni elemento prima di arrendersi in caso di errore persistente. Non aggiungere mai un retry attorno a un nodo che ha già completato con successo un'operazione costosa.

Un workflow di errore come ultima protezione. Crea un workflow che inizi con il nodo Error Trigger e pubblichi su Slack il nome e l'errore del workflow fallito, quindi impostalo come Error Workflow nelle impostazioni di ogni workflow AI. Questo intercetta il caso peggiore: un workflow avviato da una pianificazione che genera un errore a ogni esecuzione, ogni ora, per una settimana, consumando token prima di terminare. Abbina questa configurazione a un limite mensile di spesa nella Anthropic Console e controlla la pagina di utilizzo della Console nei primi giorni dopo aver attivato qualsiasi esecuzione pianificata. Se vuoi capire esattamente per che cosa ti viene addebitato il costo, la guida all'utilizzo dei token lo analizza in dettaglio.

Modalità di errore, con le stringhe visualizzate

Il nodo fallisce immediatamente con "Authorization failed - please check your credentials." L'API ha restituito 401. Il corpo della risposta è:

{"type": "error", "error": {"type": "authentication_error", "message": "invalid x-api-key"}}

La causa può essere una chiave incollata in modo errato, troncata o con spazi bianchi finali, oppure il placeholder di un tutorial. Ricrea la credenziale n8n e incollala di nuovo. Se funzionava ieri, verifica se la chiave è stata revocata nella Console oppure se il ripristino di un volume ha riportato a una credenziale cifrata con un N8N_ENCRYPTION_KEY diverso.

Le esecuzioni falliscono a raffiche con un 429 rate_limit_error, con un messaggio simile a "Number of request tokens has exceeded your per-minute rate limit." I limiti di frequenza sono organizzati in finestre di un minuto e n8n rende molto semplice avviare simultaneamente cinquanta esecuzioni webhook o RSS. Risolvi il problema alla radice: elabora gli elementi in sequenza con Loop Over Items invece che in parallelo e configura Retry On Fail con Max Tries impostato su 3 e Wait Between Tries sul valore massimo di 5000 ms. n8n limita questo campo a 5000 ms. Quando serve un backoff più lungo, in modo che i nuovi tentativi ricadano nella finestra del minuto successivo, inserisci un nodo Wait nel percorso di errore oppure elabora gli elementi uno alla volta. La risposta include un'intestazione retry-after che indica esattamente quanto attendere. L'attesa fissa di n8n non può leggerla, quindi devi implementare autonomamente la pausa più lunga.

404 not_found_error durante l'indicazione del modello. Il corpo della risposta ripete l'errore di digitazione:

{"type": "error", "error": {"type": "not_found_error", "message": "model: claude-haiku-4.5"}}

Potresti avere usato punti invece di trattini (4.5 per 4-5), un suffisso con la data copiato da un post di blog obsoleto oppure un modello ritirato. Correggi l'ID utilizzando l'elenco aggiornato. Il problema si verifica spesso quando si digita direttamente nel campo del modello come espressione invece di selezionare il modello dal menu a discesa.

Claude risponde a una domanda che non hai posto. Non compare alcun errore e l'esecuzione termina correttamente. Un'espressione n8n che fa riferimento a un campo mancante, ad esempio {{ $json.body.text }} quando il payload usa message, inserisce nella richiesta il valore letterale undefined. Claude risponde quindi a una richiesta priva di contenuto utile. Se il nodo referenziato non è stato eseguito affatto, viene visualizzato "Referenced node is unavailable". Un campo mancante, invece, non genera errori. Prima di attivare il workflow, eseguilo sempre una volta con dati reali e leggi la richiesta effettivamente elaborata nel pannello di input del nodo. L'editor delle espressioni mostra in anteprima il valore risolto e, se controlli, undefined è visibile proprio lì.

FAQ

Come collego Claude a n8n?

Crea una API key nella Anthropic Console all'indirizzo platform.claude.com, quindi in n8n aggiungi una credenziale di tipo Anthropic e incollala nel campo API Key. Ogni nodo Claude, il nodo app Anthropic e il sotto-nodo Anthropic Chat Model fanno riferimento a quella credenziale salvata. n8n la cifra con N8N_ENCRYPTION_KEY, quindi esegui il backup di quella chiave: in caso contrario, perderai le credenziali insieme al volume.

Quanto costa un workflow AI per esecuzione?

Stima i token per esecuzione, quindi moltiplica il risultato per i prezzi del modello per milione di token. A luglio 2026, Haiku 4.5 costa $1/$5 per milione di token di input/output, mentre Sonnet 5 costa $3/$15 ($2/$10 in offerta introduttiva fino ad agosto 2026). Una sintesi tramite webhook con Haiku costa circa un quarto di centesimo; un'esecuzione di un agente con Sonnet e diverse chiamate agli strumenti si avvicina a $0.06–$0.10, perché a ogni iterazione l'intera conversazione viene inviata nuovamente come input. Verifica l'esecuzione nella pagina dei consumi della Console invece di affidarti alle stime.

Quale modello Claude devo usare per le automazioni n8n?

Usa Haiku 4.5 per classificazione, estrazione, sintesi e instradamento, cioè per carichi elevati in cui velocità e prezzo sono prioritari. Usa Sonnet 5 per i nodi AI Agent e il ragionamento in più passaggi. Usa Opus 4.8 soltanto quando il costo di una risposta errata è abbastanza elevato da giustificare il prezzo di listino di $5/$25: cinque volte Haiku e poco meno del doppio di Sonnet. Imposta il modello per nodo, non per workflow: un workflow può usare tutti e tre i modelli.

Come impedisco a un workflow n8n di spendere troppo per Claude API?

Applica più livelli di protezione: imposta un valore basso per Max Tokens in ogni nodo Claude, configura Max Iterations per gli agenti, definisci un timeout del workflow e usa impostazioni conservative per Retry On Fail, in modo che gli errori non moltiplichino il consumo di token. Aggiungi quindi un workflow Error Trigger che invii un avviso in Slack quando un workflow AI non riesce, e imposta un limite di spesa mensile nella Anthropic Console come soglia massima che nulla sul VPS può superare.

Le chiamate agli strumenti degli AI Agent hanno un costo aggiuntivo?

Non esiste un costo separato per gli strumenti, ma gli strumenti non sono gratuiti: ogni risultato viene restituito al modello come token di input e a ogni iterazione dell'agente l'intera conversazione fino a quel momento viene inviata nuovamente. Una risposta API molto prolissa passata senza filtri può superare di gran lunga il prompt effettivo. Abilita Optimize Response negli strumenti HTTP Request e restituisci soltanto i campi necessari all'agente.