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 API key dalla Anthropic Console all'indirizzo platform.claude.com, quindi apri Settings, API Keys e crea una chiave con un nome simile a n8n-vps. La chiave viene mostrata una sola volta. Durante la creazione, la Console chiede anche di scegliere una scadenza; annota la data, perché una chiave scaduta interrompe un workflow non presidiato con lo stesso errore 401 descritto più avanti nella sezione dedicata ai problemi. Aggiungi fondi all'account o configura la fatturazione: l'utilizzo dell'API viene addebitato per token e pagato con crediti prepagati. Un abbonamento Pro non copre questo utilizzo, ma i piani Claude Max e Team ora includono crediti mensili per la Claude API (100 $ con Max 5x, 200 $ con Max 20x, fino a 500 $ condivisi con Team), che puoi attivare collegando un'organizzazione Console nelle impostazioni di fatturazione di claude.ai. Questi crediti pagano chiamate API come quelle eseguite da n8n, non coprono Claude Code e scadono alla fine di ogni ciclo di fatturazione. Se speravi di creare questi tre workflow senza pagare, la FAQ sui prezzi di Anthropic indica che i nuovi utenti ricevono una piccola quantità di crediti gratuiti per testare l'API. Un nuovo account Console può quindi provare questi workflow usando i crediti iniziali prima di aggiungere la fatturazione. Quando terminano, ogni chiamata a Claude viene addebitata per token. Alcune operazioni non hanno costi aggiuntivi oltre ai token, ad esempio l'endpoint per il conteggio dei token e fino a 1,550 ore gratuite di esecuzione del codice al mese per organizzazione. Nessuno di questi tre workflow usa però l'esecuzione del codice. Cosa coprono i crediti API gratuiti descrive i dettagli.
In n8n: Credentials, Create credential, seleziona Anthropic, incolla la chiave nel campo API Key e salva. Ogni nodo Claude di ogni workflow usa questa credenziale memorizzata. Non incollare mai la chiave direttamente in un nodo.
Due note operative. Primo, n8n cifra le credenziali memorizzate con N8N_ENCRYPTION_KEY. Se imposti esplicitamente questa variabile d'ambiente nel file compose seguendo la guida di n8n, la credenziale sopravvive alla ricreazione dei container. Se invece lasci che n8n ne generi una e poi perdi il volume, ogni credenziale memorizzata, inclusa questa chiave, diventa testo cifrato irrecuperabile. Esegui subito il backup della chiave se non lo hai già fatto. Secondo, considera l'archivio delle credenziali di n8n come il perimetro di impatto: chiunque possa usare la tua credenziale Anthropic può effettuare richieste con la tua chiave. Nella Community edition sei tu e il proprietario dell'istanza; la documentazione di n8n lo esprime così: "Only the instance owner and the user who creates them can access workflows and credentials". Gli altri account Member non possono quindi accedervi. La condivisione di workflow e credenziali è una funzionalità a pagamento di n8n self-hosted (Business o Enterprise). Dopo aver condiviso un workflow, i relativi editor possono usare ogni credenziale utilizzata da quel workflow. 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, alla voce Settings, in modo che un'istanza compromessa o fuori controllo abbia un tetto massimo.
La scelta del modello si effettua per singolo nodo
Il menu a discesa dei modelli nei nodi Claude di n8n viene popolato dinamicamente dall'API, quindi mostra i modelli a cui la tua key può accedere. I modelli utilizzati in questa guida, con i prezzi API per milione di token di input/output a ottobre 2026, sono: 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 $2/$10; e Claude Opus 4.8 (claude-opus-4-8) a $5/$25, entrambi con finestre di contesto di 1M 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 esattamente questi ID. claude-haiku-4-5 è un alias dello snapshot bloccato claude-haiku-4-5-20251001, che funziona a sua volta, ma un ID con data copiato da un vecchio tutorial potrebbe indicare un modello ritirato e causare un errore. I prezzi cambiano, quindi controlla platform.claude.com prima di considerare attendibile qualsiasi cifra letta, anche in questa guida.
Dalla prima pubblicazione di questa guida, Anthropic ha rilasciato modelli più recenti e la documentazione ora indica Haiku 4.5, Sonnet 5, Opus 4.8 e Fable 5 come legacy. Continuano comunque a funzionare. La pagina sulle deprecazioni indica che il ritiro di Haiku 4.5 non sarebbe avvenuto prima del 15 ottobre 2026; quella data è passata e, al 20 ottobre 2026, la pagina indica ancora Haiku 4.5 come attivo, senza alcun avviso di deprecazione. Sonnet 5, Opus 4.8 e Fable 5 non saranno ritirati prima della metà del 2027. Anthropic fornisce un preavviso di almeno 60 giorni prima di ritirare un modello rilasciato pubblicamente. Monitora quindi la relativa pagina sulle deprecazioni se i tuoi workflow fissano Haiku 4.5. La lineup attuale comprende Claude Haiku 5.5 (claude-haiku-5-5, rilasciato il 7 ottobre 2026), da $0.10/$0.50 per prompt fino a 100,000 token e $0.50/$2.50 oltre tale soglia; Claude Sonnet 5.5 (claude-sonnet-5-5) a $2/$10; Claude Opus 5.5 (claude-opus-5-5) a $4/$20; e Claude Fable 5.1 (claude-fable-5-1) a $10/$50. Il tokenizer di Haiku 5.5 conta lo stesso testo come circa il 30% di token in più rispetto a Haiku 4.5. Confronta quindi i costi effettivi per esecuzione nella pagina dell'utilizzo della Console, non soltanto i prezzi di listino.
L'abitudine da adottare è 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 metà del prezzo di listino di Sonnet e a un quinto di quello di Opus. Riserva Sonnet agli agenti e al ragionamento in più passaggi. Usa Opus nei rari workflow in cui una risposta errata costa più dei token utilizzati. Un workflow con cinque nodi Claude può e deve combinare modelli diversi.
I due nodi Claude e quale usare nei diversi casi
n8n include due integrazioni Anthropic distinte. Scegliere quella sbagliata è l’errore più comune per chi inizia.
Il nodo Anthropic è un normale nodo applicativo: una richiesta in ingresso e una risposta in uscita. 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 riportati di seguito usano questo nodo o il relativo equivalente basato su una chain.
Il nodo Anthropic Chat Model è un sub-nodo, cioè un componente di supporto che fornisce il modello a un nodo principale come AI Agent o Basic LLM Chain. Non ha un trigger né un output propri. Espone il selettore del modello e opzioni di campionamento come Maximum Number of Tokens e Sampling Temperature. C’è una precisazione della documentazione n8n che conviene ricordare: le espressioni nei sub-nodi vengono sempre risolte rispetto al primo elemento in ingresso, non rispetto a ciascun elemento. Inserisci quindi le espressioni specifiche per elemento nei campi prompt del nodo principale, non nel sub-nodo. Anthropic aggiunge un’altra limitazione: nei modelli Claude 4.7 e versioni successive, cioè tutti i modelli di questa guida tranne Haiku 4.5, l’impostazione di temperature, top_p o top_k su un valore diverso da quello predefinito restituisce un errore 400. Per questi modelli, lascia non impostati Sampling Temperature, Top K e Top P.
Workflow 1: webhook in, summary out
L’esempio base dell’automazione AI: qualsiasi contenuto inviato tramite POST a un URL viene riassunto e recapitato in Slack o nella casella di posta.
- Nodo Webhook, metodo HTTP POST, percorso
summarize. n8n fornisce un URL di test e un URL di produzione; quello di produzione riceve richieste solo dopo la pubblicazione del workflow. - Nodo Anthropic, Message a Model, modello
claude-haiku-4-5, Max Tokens circa 300. - Nodo Slack (oppure Send Email), che pubblica il testo della risposta in un canale.
Nel prompt le espressioni di n8n vengono utilizzate con Claude. Il corpo della richiesta POST è disponibile 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..."}'Con Haiku, il costo per esecuzione è contenuto: un payload di 1,200 token più il prompt costa circa $0.0012 per l’input, mentre 300 token in output 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.
- Schedule Trigger, ogni ora.
- RSS Read, con l'URL del feed. Restituisce un elemento per ogni articolo.
- Basic LLM Chain, con un sottonodo Anthropic Chat Model impostato su
claude-haiku-4-5e un sottonodo Structured Output Parser che contiene uno schema JSON. - 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 strumenti
I primi due workflow sono pipeline: i passaggi li decidi tu. Un nodo AI Agent rovescia questo approccio: dai a Claude un obiettivo e gli strumenti, e lui decide quali strumenti chiamare e in quale ordine, fino al completamento. n8n richiede un sotto-nodo del modello di chat e almeno un sotto-nodo strumento collegato.
Un esempio concreto è un assistente operativo che risponde a “cosa non funziona e perché” usando il sistema di monitoraggio:
- Chat Trigger (oppure webhook): riceve la domanda.
- 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. - Nodo HTTP Request collegato come strumento, configurato per usare la API di stato di Uptime Kuma o 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 il compito: “Sei un assistente operativo. Usa lo strumento di stato per controllare lo stato corrente dei monitor prima di rispondere. Riporta solo i monitor non disponibili, indicando la durata.” La descrizione di ogni strumento non è documentazione per gli esseri umani: è il criterio con cui Claude decide quando chiamarlo. “Restituisce in JSON lo stato corrente up/down di tutti i servizi monitorati” viene chiamato nei momenti corretti; “API di stato” viene ignorato o usato in modo errato. Quando colleghi il nodo HTTP Request come strumento, abilita l'opzione Optimize Response e seleziona i campi JSON rilevanti. In caso contrario, ogni risposta API dettagliata viene inserita nel contesto del modello come token di input, che vengono fatturati.
Imposta Max Iterations sull'agente (il valore predefinito è 10) al numero minimo che funziona. Questa impostazione fa la differenza tra “l'agente si è fermato dopo 4 chiamate agli strumenti” e un ciclo di una dozzina di passaggi avanti e indietro con il modello. Considera inoltre la struttura della fatturazione: a ogni iterazione viene reinviata l'intera conversazione fino a quel momento, inclusi il messaggio di sistema, la domanda e ogni risultato precedente degli strumenti, come token di input. Un'esecuzione dell'agente di sei iterazioni può facilmente arrivare a 20,000 token di input cumulativi e 2,000 token di output: con Sonnet 5 a $2/$10 sono circa $0.06; considera che una singola esecuzione dell'agente costa circa venti volte una semplice esecuzione di riepilogo. Se inizi ad aggiungere molti strumenti a un solo agente, questo è il punto in cui eseguire server MCP sul tuo VPS diventa un'architettura più pulita.
Controlli sui costi, perché nessuno sta monitorando
Un workflow non presidiato richiede i controlli che una persona alla tastiera applica implicitamente. Quattro livelli, dal meno costoso al più costoso.
Max Tokens su ogni nodo Claude. È un limite rigido all'output. Un nodo di riepilogo richiede 300 token, un classificatore 100. Questo limita la parte più costosa del bilancio (tra i modelli descritti in questa guida, $5–$50 per milione di token di output contro $1–$10 per l'input, con l'output che costa cinque volte l'input per ciascun modello) e funziona anche da freno in caso di esecuzione incontrollata: un errore nel prompt che fa divagare Claude costa 300 token, non 8,000.
Modello per ogni nodo. Il punto è già stato illustrato sopra: tra Haiku 4.5 e Opus 4.8 è una leva sul prezzo di cinque volte, che arriva a dieci volte rispetto a Fable 5 e, nell'intera gamma attuale, da Haiku 5.5 a Fable 5.1 raggiunge cento volte per prompt fino a 100,000 token. Impostarla richiede dieci secondi.
Limita i loop. Imposta Max Iterations sugli agenti. Imposta un timeout del workflow nelle relative impostazioni, così un'esecuzione bloccata termina invece di continuare a girare. Presta inoltre attenzione a Retry On Fail per singolo nodo: è lo strumento corretto per gli errori transitori, ma i tentativi ripetuti moltiplicano i costi; Max Tries impostato su 3 con Wait Between Tries a 5000 ms può addebitarti fino a tre esecuzioni per elemento prima di rinunciare a fronte di un errore persistente. Non racchiudere mai in un retry un nodo che ha già completato con costi elevati.
Un workflow per gli errori come ultima protezione. Crea un workflow che inizi con il nodo Error Trigger e invii a Slack il nome e l'errore del workflow che ha avuto esito negativo, quindi impostalo come Error Workflow nelle impostazioni di ogni workflow AI. Questo intercetta lo scenario peggiore: un workflow attivato da una pianificazione che genera un errore a ogni esecuzione, ogni ora, per una settimana, consumando token a ogni esecuzione prima di terminare. Abbinalo a un limite mensile di spesa nella Anthropic Console e controlla la pagina dell'utilizzo nella Console nei primi giorni dopo l'attivazione di qualsiasi pianificazione. Per capire esattamente che cosa ti viene addebitato, la guida sull'utilizzo dei token lo analizza in dettaglio.
Modalità di errore e stringhe visualizzate
Il nodo fallisce immediatamente con «Authorization failed - please check your credentials.» L'API ha restituito 401. Il corpo della risposta ha questa struttura (le risposte attuali includono anche un campo request_id):
{"type": "error", "error": {"type": "authentication_error", "message": "invalid x-api-key"}}La causa può essere una chiave copiata male, troncata, con spazi finali oppure il segnaposto presente in un tutorial. Ricrea la credenziale n8n e incollala nuovamente. Se funzionava il giorno precedente, verifica nella Console se la chiave è stata revocata o ha raggiunto la data di scadenza, oppure se un ripristino del volume ha riportato a una credenziale crittografata 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 misurati al minuto e applicati tramite un token bucket che si ricarica continuamente. n8n rende molto semplice avviare contemporaneamente 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 3 e Wait Between Tries al valore massimo di 5000 ms. n8n limita questo campo a 5000 ms. Quando serve un backoff più lungo per consentire al bucket di ricaricarsi prima del nuovo tentativo, inserisci un nodo Wait nel percorso di errore oppure elabora gli elementi uno alla volta. Un 429 dovuto al superamento del limite include in genere un'intestazione retry-after che indica per quanti secondi attendere (la documentazione di Anthropic specifica che non tutti i 429 la includono). L'attesa fissa di n8n non può leggere questo valore, quindi devi creare autonomamente una pausa più lunga. Fa eccezione un 429 senza intestazione retry-after e con un error_code pari a enforced_spend_limit_reached: significa che l'organizzazione ha raggiunto il limite di spesa mensile del proprio livello di utilizzo. Nessun nuovo tentativo avrà esito positivo fino al mese successivo o all'aumento del livello.
404 not_found_error relativo al nome del modello. Il messaggio indica l'ID del modello inviato, con una forma simile a:
{"type": "error", "error": {"type": "not_found_error", "message": "model: claude-haiku-4.5"}}Le cause possono essere punti al posto dei trattini (4.5 al posto di 4-5), un suffisso di data errato o inventato oppure un modello ritirato indicato in un vecchio articolo. Correggi l'ID usando l'elenco attuale. Questo problema riguarda spesso chi digita il valore nel campo del modello come espressione invece di selezionarlo 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 inesistente, ad esempio {{ $json.body.text }} quando il payload usa message, inserisce nel prompt la stringa letterale undefined. Claude risponde quindi a un prompt privo del contenuto previsto. Se il nodo referenziato non è stato eseguito, n8n interrompe l'esecuzione con un errore che indica che l'espressione fa riferimento a un nodo che «hasn't been executed yet». La mancanza di un campo, invece, non genera errori. Prima dell'attivazione, esegui sempre il workflow una volta con dati reali e leggi il prompt effettivamente generato nel pannello di input del nodo. L'editor delle espressioni mostra in anteprima il valore risolto e undefined è visibile direttamente, se controlli il campo.
FAQ
Come collegare Claude a n8n?
Create una chiave API 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 memorizzata. n8n la cifra con N8N_ENCRYPTION_KEY, quindi esegui il backup di quella chiave; in caso contrario, le credenziali andranno perse insieme al volume.
Quanto costa un workflow AI per esecuzione?
Stima i token per esecuzione, quindi moltiplicali per i prezzi per milione del modello. A ottobre 2026, Haiku 4.5 costa $1/$5 per milione di token di input/output e Sonnet 5 costa $2/$10. 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 reinviata come input. Verifica l'esecuzione nella pagina dei consumi della Console invece di affidarti alle stime.
Quale modello Claude usare per le automazioni n8n?
Usa Haiku 4.5 per classificazione, estrazione, sintesi e instradamento, cioè per attività ad alto volume 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 solo quando il costo di una risposta errata giustifica il prezzo di listino di $5/$25, cinque volte quello di Haiku e due volte e mezza quello di Sonnet. Le versioni più recenti di Anthropic, Haiku 5.5, Sonnet 5.5 e Opus 5.5, svolgono gli stessi ruoli con prezzi di listino uguali o inferiori. Imposta il modello per ogni nodo, non per workflow: un workflow può combinare tutti e tre.
Come impedire che un workflow n8n spenda troppo per l'API Claude?
Applica più livelli di protezione: un valore Max Tokens basso su ogni nodo Claude, Max Iterations sugli agenti, un timeout del workflow e 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 passato al modello come token di input e a ogni iterazione dell'agente l'intera conversazione accumulata viene reinviata. Una risposta API prolissa passata senza filtri può superare di molto il prompt effettivo. Abilita Optimize Response sugli strumenti HTTP Request e restituisci soltanto i campi necessari all'agente.