UN ASSISTENTE DIGITALE

UN ASSISTENTE DIGITALE

Una storia che si ripete: arrivo in ufficio, apro l'app del pronto intervento, scarico l'export Excel, lo metto in una cartella, unisco i dati con quelli dei giorni precedenti, copia e incolla e....non lo faccio in realtà, mi piacerebbe, ma ci vuole troppo tempo.

Il problema

Coordino un'azienda che gestisce acquedotti anche in zone collinari e dissestate con km di tubi vecchi e pressioni variabili. Il pronto intervento è una delle attività più importanti. Quando un tubo perde, manca l'acqua, c'è poca pressione, o un tubicino gocciola, gli utenti chiamano il call center (esterno). L'operatore apre un ticket su un'app gestionale — fatta bene, per carità — che manda ai colleghi reperibili o in turno un una notifica via sms ed email per ogni segnalazione.

L'app funziona. Ma se voglio fare analisi? Se voglio sapere quanti guasti ci sono stati a Stradella questa settimana? O confrontare i dati con il mese scorso?

Devo:

  1. Entrare nell'app
  2. Esportare un file Excel
  3. Scaricarlo
  4. Metterlo in una cartella
  5. Unirlo ai precedenti
  6. Aprire tutto e cercare quello che mi serve

Con 3.000 segnalazioni all'anno, questo diventa una perdita di tempo maggiore dell'utilità. E condividere i dati con i colleghi? Auguri.

L'idea: "Ma io ricevo già le email..."

Un giorno, guardando la casella piena di notifiche, mi sono chiesto: perché devo riscaricare tutto dall'app se ho già le informazioni nelle email?

Le email del gestionale sono strutturate, sempre con gli stessi campi: numero ticket, comune, indirizzo, tipo di guasto, urgenza. Certo, non sono perfette — a volte la formattazione cambia, la descrizione è scritta in modi diversi a seconda dell'interpretazione dell'operatore — ma le informazioni ci sono.

🖼️ Esempio email di ticket in ingresso (clicca per aprire)
Workflow n8n Flusso 1
Il flusso n8n che elabora i ticket giornalieri

E così, seguendo un corso aziendale sull'intelligenza artificiale, il docente ha parlato di una cosa che si chiama n8n. Nella pausa sono andato a vedere cosa fosse e ho capito subito: "Ho trovato quello che mi serve". Sembrava facile, a portata di tutti, concettualmente comprensibile. Spinto dalla curiosità, con in mente le emails del pronto intervento, volevo fare qualche esperimento.

Ho deciso di provare. Qualche video su YouTube (per imparare veloce è fantastico), fare l'installazione, un tutorial, l'aiuto dei vari "ChatGPT"... e via.

Cosa succede oggi (senza che io faccia nulla)

Ogni mattina alle 8:00, un "assistente digitale" fa questo lavoro per me:

☑ Apre Gmail e legge le email delle ultime 24 ore
☑ Riconosce quali sono ticket veri (e ignora il resto)
☑ Estrae i dati: comune, indirizzo, tipo di guasto, urgenza
☑ Raggruppa le segnalazioni simili (Via Roma 46 + Via Roma 48 = stesso problema)
☑ Salva tutto in un database condiviso con i colleghi
☑ Mi manda un riepilogo chiaro, già pronto

🖼️ Esempio email report automatico giornaliero (clicca per aprire)
Workflow n8n Flusso 1
Il flusso n8n che elabora i ticket giornalieri

Ogni lunedì e venerdì, un secondo "assistente" genera un report settimanale con:

☑ Statistiche per comune (chi ha più guasti?)
☑ Statistiche per tipo di problema (perdite? mancanza acqua?)
☑ Grafici a barre pronti da allegare
☑ Un commento discorsivo scritto dall'AI

Il tutto arriva nella mia casella email e in quella dei colleghi. Apro, leggo, so già tutto.

🖼️ Esempio report automatico settimanale (clicca per aprire)
Workflow n8n Flusso 1
Il flusso n8n che elabora i ticket giornalieri

I vantaggi

Database sempre aggiornato — Tutti i ticket in un posto solo, consultabile in tempo reale. Basta cartelle Excel sparse.

Condivisione immediata — I colleghi accedono allo stesso database. Niente più "mi mandi il file aggiornato?".

Analisi veloci — Quanti guasti a Broni questo mese? Un filtro e ho la risposta.

Storico completo — Anni di dati, tutti interrogabili.

"Ma io non sono un programmatore..."

E qui sta la magia di strumenti come n8n.

Come funziona? Immagina di avere una rete di nodi intelligenti, ognuno con una funzione specifica. Li posizioni nello spazio, li colleghi con dei fili, e loro fanno il lavoro. Non scrivi codice: trascini i nodi su uno schermo e crei il percorso tra loro.

Ecco come ragiona il mio "assistente digitale", passo dopo passo:

  1. Il trigger (la sveglia) — Alle 8:00 di mattina, scatta. Come un timer che dice: "Ehi, è ora di lavorare!"
  2. Il blocco Gmail — Si collega alla mia casella email e pesca tutte le email arrivate nelle ultime 24 ore. Gli ho detto: "Prendi solo quelle che arrivano dal call center".
  3. Il blocco "analizza testo" — Ogni email viene letta. Il sistema cerca parole chiave: "Ticket", "Comune", "Indirizzo", "Urgenza". Se le trova, estrae i dati. Se non le trova, scarta l'email (era una newsletter, non un ticket).
  4. Il filtro — È un ticket vero o spazzatura? Se manca il numero ticket, via. Se c'è, avanti.
  5. Il database — I dati puliti vengono salvati in una tabella. Prima però controlla: "Questo ticket l'ho già visto?" Se sì, non lo salva due volte.
  6. L'intelligenza artificiale — Tutti i ticket del giorno vengono passati a un'AI che li riassume in linguaggio umano: "Oggi 8 segnalazioni, 3 a Stradella per mancanza acqua, 2 a Broni..."
  7. L'email finale — Il riepilogo parte e arriva nella mia casella. Pronto da leggere col caffè caldo.

Ci sono voluti tentativi, errori, un po' di pazienza all'inizio per capire il meccanismo. Ma una volta che funziona... funziona per sempre.

Il segreto non è essere esperti. È notare dove perdi tempo e chiederti: "Devo proprio farlo io, ogni volta?"

Nel video di sotto l'agente al lavoro, lui perde il tempo per te. I componenti sono i nodi.

0:00
/0:07

📎 Appendice tecnica

Per i curiosi che vogliono sapere cosa c'è sotto il cofano.

Stack tecnologico

  • n8n (self-hosted) — macchina generatrice di automazioni open source
  • Gmail API — nodo di lettura email in arrivo
  • Baserow (self-hosted) — database no-code per archiviare i ticket
  • Google Gemini Flash — AI per generare i commenti discorsivi
  • QuickChart — generazione grafici a barre

Flusso 1: Gestione giornaliera

[Trigger ore 8:00]
       ↓
[Gmail: leggi email ultime 24h]
       ↓
[JavaScript: parsing con regex]
  → Estrae: ID, data, comune, indirizzo, caso, descrizione
  → Gestisce formati variabili e pulizia testo
       ↓
[Filtro: è un ticket valido?]
       ↓
   ┌───┴────┐
   ↓        ↓
[Baserow]  [Aggrega per AI]
   ↓        ↓
[Check     [LLM: genera
duplicati]  riepilogo HTML]
   ↓        ↓
[Salva]    [Email report giornaliero]

Flusso 2: Report settimanale

[Trigger: lunedì e venerdì ore 8:00]
       ↓
[Baserow: leggi ticket ultimi 7 giorni]
       ↓
[JavaScript: calcola statistiche]
  → Ticket per comune
  → Ticket per tipo problema
  → Ticket per giorno
  → Tabelle pivot HTML
       ↓
   ┌───┴────┬────────┐
   ↓        ↓        ↓
[Grafico  [Grafico  [Grafico
 comuni]   tipi]    giorni]
       ↓
[Merge grafici → immagini base64]
       ↓
[LLM: genera commento discorsivo]
       ↓
[Componi HTML finale + allega Excel]
       ↓
[Email report settimanale ai colleghi]

Prompt AI (sintesi)

L'AI riceve istruzioni per scrivere esattamente 5 frasi nei reports:

  1. Saluto fisso
  2. Periodo e totale ticket
  3. Giorni con più segnalazioni (con giorno settimana)
  4. Comuni più critici
  5. Tipi di problema più frequenti

Regole rigide: solo fatti numerici, niente suggerimenti o valutazioni.

Ho buttato il flusso dentro Flow e gli ho detto di adattarlo ad una acquedotto futuristico

Costi operativi

Componente Costo
n8n €0 (self-hosted)
Baserow €0 (self-hosted)
Gemini Flash ~€0 (tier gratuito)
VPS Già presente

Costo marginale: praticamente zero (8 ore di configurazioni piu' saltuari affinamenti)

Flusso che carica i ticket
📋 Flusso 1: Descrizione tecnica dei nodi (clicca per espandere)
# Nodo Cosa fa
1Schedule TriggerSi attiva ogni giorno alle 8:00
2Gmail - Get MessagesRecupera le email delle ultime 24 ore
3Code - ParserEstrae ID, Comune, Indirizzo, Caso, Descrizione
4IF - Ticket Valido?Scarta email non pertinenti
5Loop Over ItemsElabora i ticket uno alla volta
6Baserow - CheckVerifica se il ticket esiste già
7IF - È nuovo?Salta i duplicati
8Baserow - SalvaInserisce il ticket nel database
9Code - AggregaUnisce i ticket in un testo per l'AI
10LLM + GeminiGenera il riepilogo discorsivo
11Gmail - SendInvia il report via email
Flusso report periodico
Tabella flusso2 ghost · HTML Copia
📋 Flusso 2: Descrizione tecnica dei nodi (clicca per espandere)
# Nodo Cosa fa
1Schedule TriggerSi attiva ogni Lunedì e Venerdì alle 8:00
2Baserow - Get RowsRecupera i ticket degli ultimi 7 giorni dal database
3Code - AggregatoreUniforma i dati e prepara il testo per l'AI
4Code - StatisticheCalcola totali per Comune, Tipo Problema, Giorno
5Code - Dati GraficoPrepara i dati nel formato per generare i grafici
6QuickChart - ComuniGenera grafico a barre dei ticket per comune
7QuickChart - TipiGenera grafico per tipo di problema
8QuickChart - GiorniGenera grafico dell'andamento giornaliero
9Merge GraficiUnisce i tre grafici in un pacchetto
10Conversione ImmaginiConverte i grafici in base64 per l'email
11LLM + GeminiGenera commento di 5 frasi sui dati
12Merge Statistiche + AICombina tabelle e commento AI
13Componi HTML FinaleAssembla il report completo con grafici
14Edit FieldsPrepara i dati per l'export Excel
15Convert to FileGenera il file Excel (.xlsx) allegato
16Merge FinaleUnisce report HTML + allegato Excel
17Gmail - SendInvia il report settimanale ai colleghi