Automatizzare Google Sheets e Gmail con Google Apps Script
Genera uno script Google Apps Script pronto da incollare: legge il tuo foglio, invia email o crea eventi, gira con un attivatore, evita i duplicati e include modalità di prova e istruzioni. Pensato per ChatGPT, Claude, Gemini e Microsoft Copilot. Include 4 variabili personalizzabili e puoi copiarlo gratuitamente con un clic.
Intermedio · Codice · In attesa di revisione editoriale
Prompt
Agisci come sviluppatore esperto di Google Apps Script e Google Workspace che scrive automazioni solide per team non tecnici.
Contesto:
- Cosa voglio automatizzare: {{attivita}}
- Struttura del foglio (nome della scheda e colonne con una riga di esempio): {{foglio}}
- Quando deve essere eseguito: {{attivatore}}
- Servizi coinvolti (Gmail, Calendar, Drive, Docs, Forms): {{servizi}}
Consegne:
1. Sintesi del flusso in 4-6 passaggi e le ipotesi che fai sui dati.
2. Codice Apps Script completo (JavaScript V8) con:
- Un blocco CONFIG all'inizio (nome della scheda, colonne, mittente, oggetto) modificabile senza toccare la logica.
- Lettura in blocco con getValues() e scrittura in blocco, non cella per cella.
- Una colonna di stato per segnare le righe elaborate ed evitare invii doppi se lo script gira due volte.
- Una modalità di prova (DRY_RUN) che registri cosa farebbe senza inviare nulla.
- Gestione degli errori per riga, log con console.log e un riepilogo finale.
- LockService se c'è rischio di esecuzioni simultanee.
3. Una funzione che crei l'attivatore via codice e l'alternativa manuale dal pannello degli attivatori.
4. Installazione passo passo: Estensioni > Apps Script, incolla, salva, autorizza i permessi (spiega quali permessi chiederà e perché).
5. Limiti da tenere presenti: quote giornaliere di invio e tempo massimo di esecuzione in base al tipo di account; scrivi [DA VERIFICARE nella documentazione sulle quote di Google] invece di cifre esatte.
6. Piano di test con 3 righe di esempio, di cui una con dati vuoti o errati.
Vincoli:
- Niente librerie esterne né servizi a pagamento.
- Non chiedere né salvare password nel codice.
- Se la struttura del foglio non è chiara, chiedimelo prima di scrivere il codice.
Formato: sezioni numerate, il codice in un unico blocco e commenti in italiano.Come usarlo
Descrivi le colonne con una riga reale (senza dati personali). Esegui prima lo script con DRY_RUN attivo, controlla il log e solo dopo disattivalo e crea l’attivatore.
Esempio d'uso
Attività: promemoria via email 3 giorni prima della scadenza di ogni fattura · Foglio: scheda «Fatture» con cliente, email, importo in euro, scadenza, stato · Attivatore: ogni giorno alle 8:00 · Servizi: Gmail.
Esempio di risultato
2. Codice (Apps Script, V8)
const CONFIG = {
SHEET_NAME: 'Iscrizioni',
STATUS_COL: 5, // A=nome, B=email, C=corso, D=data di inizio, E=stato
SUBJECT: 'Benvenuto nel tuo corso',
DRY_RUN: true, // set to false once the test run looks right
};
function sendWelcomeEmails() {
const lock = LockService.getScriptLock();
if (!lock.tryLock(30 * 1000)) return; // another run is in progress
try {
const sheet = SpreadsheetApp.getActive().getSheetByName(CONFIG.SHEET_NAME);
const lastRow = sheet.getLastRow();
if (lastRow < 2) return;
const rows = sheet.getRange(2, 1, lastRow - 1, CONFIG.STATUS_COL).getValues();
let sent = 0;
const statuses = rows.map(([name, email, course, start, status], i) => {
if (status) return [status]; // already processed: skip
try {
if (!/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(email)) throw new Error('invalid email');
const date = Utilities.formatDate(new Date(start), Session.getScriptTimeZone(), 'dd/MM/yyyy');
const body = `Ciao ${name},\n\nbenvenuto nel corso «${course}». Si parte il ${date}.`;
if (CONFIG.DRY_RUN) { console.log(`[DRY_RUN] would email ${email}`); return ['']; }
GmailApp.sendEmail(email, CONFIG.SUBJECT, body);
sent++;
return ['INVIATA ' + new Date().toISOString()];
} catch (e) {
console.log(`Row ${i + 2}: ${e.message}`);
return ['ERRORE: ' + e.message];
}
});
sheet.getRange(2, CONFIG.STATUS_COL, statuses.length, 1).setValues(statuses); // one bulk write
console.log(`Done: ${sent} sent out of ${rows.length} rows`);
} finally {
lock.releaseLock();
}
}
function createTrigger() {
ScriptApp.newTrigger('sendWelcomeEmails')
.forSpreadsheet(SpreadsheetApp.getActive()).onFormSubmit().create();
}
La colonna di stato evita invii doppi se lo script gira due volte. L’invito di Google Calendar si aggiunge nello stesso ciclo, una volta confermato il calendario del corso → [DA COMPLETARE]…
Dati chiave
- Categoria
- Programmazione e sviluppo · Automazioni
- Tipo di output
- Codice
- Livello
- Intermedio
- Pensato per
- ChatGPT, Claude, Gemini e Microsoft Copilot
- Verificato in
- In attesa di verifica editoriale
- Variabili
- Cosa automatizzare, Struttura del foglio, Attivatore e Servizi coinvolti
- Lingua
- Italiano
- Prezzo
- Gratuito, senza registrazione
- Aggiornato
- 07/11/2026
Domande frequenti
Devo saper programmare per usare lo script?
Poco: basta incollare il codice, adattare il blocco CONFIG e autorizzare i permessi. Conviene comunque provarlo su una copia del foglio prima di usarlo con dati reali.
Perché lo script chiede tanti permessi?
Apps Script richiede l’accesso a ogni servizio usato dal codice, come Gmail o Calendar. Controlla l’elenco: se chiede qualcosa che non serve, il codice si può modificare per ridurre i permessi.
A cosa serve questo prompt?
Genera uno script Google Apps Script pronto da incollare: legge il tuo foglio, invia email o crea eventi, gira con un attivatore, evita i duplicati e include modalità di prova e istruzioni.
Con quali strumenti di IA funziona?
È pensato per ChatGPT, Claude, Gemini e Microsoft Copilot. Non lo abbiamo ancora verificato in questi strumenti, quindi i risultati possono variare da uno all'altro.
Come personalizzo il prompt?
Clicca su «Personalizza» e compila le variabili (Cosa automatizzare, Struttura del foglio, Attivatore e Servizi coinvolti). Il testo si aggiorna all'istante e poi puoi copiarlo con un clic. I valori vengono salvati solo nel tuo browser.
Serve esperienza per usarlo?
È di livello intermedio: conviene conoscere l'argomento per fornire un buon contesto e valutare il risultato con occhio critico.
Questo prompt è gratuito?
Sì. Tutti i prompt di HomeCasa Prompts sono gratuiti, senza registrazione né abbonamento. Puoi usarli anche in progetti professionali.
Posso fidarmi dell'output dell'IA?
Consideralo una bozza di alta qualità: verifica sempre dati, cifre e affermazioni importanti prima di pubblicare o prendere decisioni.