L’inbox piena è uno dei ladri di tempo più silenziosi per un developer freelance o un piccolo team. Email che arrivano continuamente, newsletter da leggere, lead da non perdere, ticket di supporto mischiati con le fatture del commercialista. Con n8n e Claude puoi costruire un sistema che classifica, smista e risponde automaticamente — il tutto senza toccare la casella se non quando è strettamente necessario.
In questo tutorial costruiamo un workflow completo: Gmail trigger → classificazione Claude → routing su canali diversi → risposte automatiche → daily digest. Tutto self-hosted su n8n, tutto modificabile senza toccare codice.
Architettura del workflow
Il workflow si articola in cinque fasi: (1) Trigger — Gmail node che si attiva su ogni email in arrivo. (2) Classificazione — chiamata HTTP a Claude che legge mittente, oggetto e preview del testo e restituisce una categoria JSON. (3) Routing — Switch node che smista in base alla categoria. (4) Azione — per ogni branch: risposta automatica, creazione ticket, aggiunta a CRM, o silenzio. (5) Digest giornaliero — alle 8:00 un secondo workflow aggrega le email del giorno e invia un report.
Step 1: Gmail trigger
In n8n aggiungi un nodo Gmail Trigger. Configura OAuth con il tuo account Google (n8n ha la guida integrata). Imposta il trigger su “Message Received” con il filtro in:inbox -in:spam per escludere lo spam già filtrato da Gmail. Il nodo emette l’oggetto email completo: from, subject, snippet (i primi 200 caratteri), body (HTML), date, labels.
Se vuoi processare solo email non lette, aggiungi un filtro: {{ $json.labelIds.includes("UNREAD") }} in un nodo IF subito dopo il trigger.
Step 2: classificazione con Claude
Aggiungi un nodo HTTP Request (POST a https://api.anthropic.com/v1/messages) con gli header x-api-key: {{ $env.ANTHROPIC_KEY }} e anthropic-version: 2023-06-01. Il body:
{
"model": "claude-haiku-4-5-20251001",
"max_tokens": 100,
"messages": [{
"role": "user",
"content": "Classifica questa email in UNA delle categorie: LEAD, SUPPORT, NEWSLETTER, INVOICE, SPAM, OTHER.
Rispondi SOLO con JSON: {"category": "...", "priority": "high|medium|low", "summary": "..."}
Mittente: {{ $json.from }}
Oggetto: {{ $json.subject }}
Contenuto: {{ $json.snippet }}"
}]
}Usa Haiku (il modello più veloce e meno costoso) per la classificazione — non hai bisogno di Opus per categorizzare email. Il costo è circa $0,0002 per classificazione. Dopo il nodo HTTP Request, aggiungi un nodo Set per estrarre il JSON dalla risposta: {{ JSON.parse($json.content[0].text) }}.
Step 3: Switch routing
Il nodo Switch di n8n valuta la categoria e smista su branch diversi:
Regole Switch:
- {{ $json.category === "LEAD" }} → Branch Lead
- {{ $json.category === "SUPPORT" }} → Branch Supporto
- {{ $json.category === "INVOICE" }} → Branch Fatture
- {{ $json.category === "NEWSLETTER" }} → Branch Newsletter
- Default → Branch OtherOgni branch ha la sua logica indipendente, il che rende il workflow facile da modificare — aggiungi o rimuovi branch senza toccare il resto del flusso.
Step 4: azioni per branch
Branch Lead: aggiungi un nodo HTTP Request verso il tuo CRM (HubSpot, Notion, Airtable) per creare un nuovo contatto. Poi aggiungi un nodo Gmail per inviare una risposta automatica di primo contatto generata da Claude: “Ciao [nome], grazie per il messaggio. Ho ricevuto la tua richiesta su [tema], ti risponderò entro 24 ore…”
Branch Support: crea un ticket su Linear, Jira o Notion. Se la priorità è “high”, aggiungi una notifica Slack/Telegram immediata. Claude può generare una risposta automatica con la soluzione a problemi comuni basandosi su una knowledge base che gli fornisci nel prompt di sistema.
Branch Fatture: aggiungi il nodo Gmail per applicare il label “FATTURE” e spostare in una cartella dedicata. Opzionale: nodo Google Drive per salvare l’allegato PDF automaticamente.
Branch Newsletter: applica il label “NEWSLETTER-LETTA” e archivia immediatamente. Le newsletter finiscono nel digest giornaliero invece che nell’inbox.
Step 5: daily digest
Crea un secondo workflow con trigger Schedule alle 08:00 ogni giorno feriale. Usa un nodo Gmail per recuperare le email degli ultimi 24 ore con il label “NEWSLETTER-LETTA” e quelle categorizzate come OTHER. Invia tutto a Claude Haiku con il prompt:
{
"model": "claude-haiku-4-5-20251001",
"max_tokens": 500,
"messages": [{
"role": "user",
"content": "Crea un digest in italiano di queste {{ $json.emails.length }} email. Per ognuna: mittente, argomento principale (1 riga), azione richiesta se presente. Formato: lista puntata.
Email: {{ JSON.stringify($json.emails) }}"
}]
}Invia il digest via Gmail a te stesso o tramite Telegram bot. In 2 minuti al mattino hai il quadro completo di tutto quello che è arrivato.
Gestione errori e reliability
Per rendere il workflow robusto in produzione: attiva l’opzione “Continue on Fail” sui nodi HTTP Request in modo che un errore Claude non blocchi l’intero flusso. Aggiungi un nodo di fallback che in caso di errore applica il label “REVIEW-NEEDED” all’email originale. Configura un Error Workflow in n8n (Settings → Error Workflow) che ti notifica via Telegram quando qualcosa va storto. Per il rate limiting, Haiku ha limiti generosi ma se ricevi molte email in burst aggiungi un nodo Wait da 1 secondo tra le classificazioni.
Risorse correlate
Approfondisci sul blog
- n8n + Claude: automatizza il tuo business con un click
- Creare un agente AI con JavaScript e Claude
- Come automatizzare la gestione email
Documentazione e strumenti
- Libreria workflow n8n — template pronti
- Prezzi e modelli Claude (Haiku vs Sonnet)
- Documentazione nodo Gmail in n8n
FAQ
Posso usare questo workflow con Outlook invece di Gmail?
Sì. n8n ha un nodo Microsoft Outlook nativo con le stesse funzionalità del nodo Gmail. Sostituisci il Gmail Trigger con il Microsoft Outlook Trigger e i nodi Gmail con nodi Outlook per le azioni. L’autenticazione richiede un’app Azure AD registrata con le permission IMAP/SMTP.
Quale modello Claude usare per la classificazione?
Haiku 4.5 è la scelta ottimale per la classificazione email: è il più veloce (risposta in ~300ms), il meno costoso ($0,80/M token input) e più che sufficiente per un task di classificazione semplice. Usa Sonnet o Opus solo per la generazione di risposte elaborate che richiedono ragionamento più profondo.
N8n deve essere self-hosted o posso usare n8n Cloud?
Entrambe le opzioni funzionano. n8n Cloud (a partire da €20/mese) non richiede manutenzione server. Self-hosted su un VPS da €5/mese dà pieno controllo e nessun limite di workflow. Per iniziare usa n8n Cloud, poi migra self-hosted quando hai il workflow stabile.
Come gestisco le email in lingue diverse dall’italiano?
Claude gestisce nativamente decine di lingue. Specifica nel prompt di sistema: “Classifica l’email indipendentemente dalla lingua di provenienza. Se la risposta automatica è necessaria, rispondi nella stessa lingua dell’email originale.” Claude si adatterà automaticamente.

