Mail
Automation
Un agente che legge le mail non lette, impara il tuo stile dalle inviate e prepara bozze di risposta in Gmail. Non manda niente: le bozze le controlli e le invii tu.
In una frase, e a chi serve
Cos’è. Uno script Python locale che usa Claude Code headless (claude -p) per scrivere le risposte, salvate direttamente in Gmail come bozze.
Il problema che risolve. Rispondere alle mail ripetitive è lento, ma l’invio automatico è rischioso. Qui l’AI prepara e tu invii: la velocità senza il rischio.
Perché è fatto così. Gira in locale sull’abbonamento (zero costo extra, niente API key). OAuth perché lo script lavora fuori dalla chat, ed è idempotente: salva gli id già lavorati.
- TomasSvuota la posta più in fretta: apre Gmail e trova le bozze già pronte da rivedere.
- Collaboratore tecnicoInstalla, dà le credenziali Google una volta sola e lancia lo script quando serve.
- Uso internoStrumento interno: non è esposto a clienti, aiuta solo chi risponde alle mail.
Stack e strumenti
| Strumento | Ruolo nel progetto | Perché scelto |
|---|---|---|
| Claude Code headless motore | Scrive la bozza leggendo la mail e lo stile appreso. | Usa l’abbonamento: nessuna API key. |
| Gmail API + OAuth accesso | Legge le non lette e salva le bozze in Gmail. | Serve perché lo script gira da solo. |
| Python + venv runtime | Orchestrazione: run.py, learn_style.py. | Locale, dipendenze isolate. |
data/processed.json stato | Traccia gli id già lavorati. | Idempotenza: niente bozze doppie. |
secrets/credentials.json segreti | Credenziali Google OAuth, solo locale. | Mai nel repo. |
Comandi
| Comando | Quando | Cosa fa |
|---|---|---|
python learn_style.py | Una volta, e per aggiornare | Impara lo stile dalle inviate → data/style_profile.md. |
python run.py | Quando vuoi | Prepara le bozze per le non lette (salta le automatiche). |
Come funziona - il flusso
Un giro dello script, da mail non letta a bozza pronta. L’ultimo passo, l’invio, resta a te.
Login
OAuth Google la prima volta, il token resta salvato in locale.
OAuthImpara stile
Legge le mail inviate e crea lo style_profile.md.
Leggi non lette
Prende le mail non lette e salta quelle automatiche.
Gmail APIScrivi bozza
Claude scrive la risposta nel tuo stile e la salva in Gmail.
claude -pInvia
Apri Gmail > Bozze, controlli e invii a mano.
manualeprocessed.json, quindi rilanciare run.py non crea bozze doppie.Dove finiscono le cose
| Cartella / file | Contenuto |
|---|---|
core/ | La logica dello script. |
data/ | style_profile.md + processed.json. |
secrets/ | credentials.json (OAuth), mai nel repo. |
run.py · learn_style.py | Uso quotidiano · apprendimento dello stile. |
Onboarding collaboratore + spiegazione cliente
Da zero a produttivo
- Crea il venv e
pip install -r requirements.txt. - Su Google Cloud abilita la Gmail API e scarica
credentials.jsoninsecrets/. - Lancia
python learn_style.py(login browser una volta). - Lancia
python run.py, poi controlla Gmail > Bozze.
Le competenze minime
Python di base e terminale, più saper creare credenziali OAuth su Google Cloud. Nient’altro: il testo lo scrive Claude.
Regola d'oro: mai committare secrets/credentials.json o i token. Restano solo in locale.
«È un assistente che ti pre-scrive le risposte alle mail nel tuo tono. Tu apri, dai un’occhiata e invii: risparmi tempo senza perdere la tua voce.»
Nessuna mail parte senza che tu l’abbia letta e approvata.
- Non invia nulla. Prepara soltanto bozze, l’invio è sempre a mano.
- Segreti in locale. Credenziali e token solo in
secrets/, mai nel repo. - Salta le automatiche. Newsletter e notifiche vengono ignorate, niente bozze inutili.
Paletti, limiti e stato
Da fare più avanti
| Pianificazione | Lanciarlo a orari fissi (cron) resta da valutare. |
| Filtri | Affinare quali mail saltare. |