Vademecum · Onboarding collaboratori

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.

Stato: in uso Tipo: agente locale Accesso: Gmail API Costo: nessuna API key
01

In una frase, e a chi serve

Orientarsi in 30 secondi.

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.

A chi serve
  • 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.
02

Stack e strumenti

Con cosa è costruito, e perché.
StrumentoRuolo nel progettoPerché scelto
Claude Code headless motoreScrive la bozza leggendo la mail e lo stile appreso.Usa l’abbonamento: nessuna API key.
Gmail API + OAuth accessoLegge le non lette e salva le bozze in Gmail.Serve perché lo script gira da solo.
Python + venv runtimeOrchestrazione: run.py, learn_style.py.Locale, dipendenze isolate.
data/processed.json statoTraccia gli id già lavorati.Idempotenza: niente bozze doppie.
secrets/credentials.json segretiCredenziali Google OAuth, solo locale.Mai nel repo.

Comandi

ComandoQuandoCosa fa
python learn_style.pyUna volta, e per aggiornareImpara lo stile dalle inviate → data/style_profile.md.
python run.pyQuando vuoiPrepara le bozze per le non lette (salta le automatiche).
03

Come funziona - il flusso

Il pattern del progetto, passo per passo.

Un giro dello script, da mail non letta a bozza pronta. L’ultimo passo, l’invio, resta a te.

01

Login

OAuth Google la prima volta, il token resta salvato in locale.

OAuth
02

Impara stile

Legge le mail inviate e crea lo style_profile.md.

learn_style.py
03

Leggi non lette

Prende le mail non lette e salta quelle automatiche.

Gmail API
04

Scrivi bozza

Claude scrive la risposta nel tuo stile e la salva in Gmail.

claude -p
05

Invia

Apri Gmail > Bozze, controlli e invii a mano.

manuale
Regola chiave. Idempotenza: gli id già lavorati stanno in processed.json, quindi rilanciare run.py non crea bozze doppie.

Dove finiscono le cose

Cartella / fileContenuto
core/La logica dello script.
data/style_profile.md + processed.json.
secrets/credentials.json (OAuth), mai nel repo.
run.py · learn_style.pyUso quotidiano · apprendimento dello stile.
04

Onboarding collaboratore + spiegazione cliente

Allineare chi arriva, e raccontarlo a chi non è tecnico.
Collaboratore - primi passi

Da zero a produttivo

  1. Crea il venv e pip install -r requirements.txt.
  2. Su Google Cloud abilita la Gmail API e scarica credentials.json in secrets/.
  3. Lancia python learn_style.py (login browser una volta).
  4. Lancia python run.py, poi controlla Gmail > Bozze.
Collaboratore - cosa deve saper fare

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.

Come lo spieghi al cliente (non tecnico)

«È 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.

Paletti da spiegare subito
  • 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.
05

Paletti, limiti e stato

Cosa è vero oggi, cosa manca.

Da fare più avanti

PianificazioneLanciarlo a orari fissi (cron) resta da valutare.
FiltriAffinare quali mail saltare.
Stato reale (onesto)
InvioManuale (solo bozze)
EsecuzioneLocale, a mano
Costo APINessuno (abbonamento)
IdempotenzaSì (processed.json)