Automazione e Personalizzazione con Google Apps Script​

24 luglio 2025

Automazione e Personalizzazione con Google Apps Script

a cura di Roberto

Roberto è Product Owner e Team Leader di ForgeDoc, con un solido background da Full Stack Developer(.NET). Quando non sviluppa, coltiva la sua passione per il ciclismo su strada (la domenica lo trovate su Strava con lunghi di 80-100 km), si dedica alla cura della casa (lavoretti di fai-da-te) e ama il buon cibo, soprattutto quello preparato con il suo BBQ in pietra.

Nella realtà aziendale, non è raro che le organizzazioni, soprattutto quelle che desiderano soluzioni rapide e a costo contenuto, si affidino a strumenti gratuiti e smart come Google Workspace. Prodotti come Google Sheets, Docs, Drive, e Calendar si sono diffusi proprio perché offrono una soluzione flessibile, intuitiva e facilmente accessibile, senza la necessità di adottare gestionali complessi e costosi.

Tuttavia, con l’uso crescente di questi strumenti, emerge presto la necessità di ridurre al minimo le attività manuali, specialmente quando si tratta di compiti ripetitivi. Ed è qui che entra in gioco Google Apps Script: una piattaforma cloud che permette di automatizzare processi, integrare applicazioni e personalizzare le funzionalità di Google Workspace. Grazie alla sua semplicità, Apps Script consente a sviluppatori (anche non esperti) di creare soluzioni rapide ed efficaci per aumentare la produttività e ottimizzare i flussi di lavoro.

In questo articolo condividerò le esperienze più rilevanti che ho maturato lavorando su processi di automazione, descrivendo casi pratici concreti e mostrando come questo strumento possa diventare un alleato prezioso per il lavoro quotidiano.

Automazione di attività con Apps Script: Casi pratici

Tra i numerosi scenari d’uso che Google Apps Script offre, l’automazione dei processi è senza dubbio quello che mi ha coinvolto maggiormente nel mio lavoro quotidiano.

Sebbene altre funzionalità, come la creazione di add-on o l’integrazione di API esterne, siano altrettanto potenti e importanti, in questo documento mi concentrerò sugli esempi concreti di automazione che ho implementato.

Questi esempi rappresentano attività che affrontano esigenze comuni, come il trasferimento di dati, la compilazione automatica, il controllo e la verifica delle informazioni, l’integrazione con API esterne e l’invio di email automatizzate come promemoria. Non si tratta di un elenco esaustivo delle possibilità offerte da Apps Script, ma di un approfondimento pratico su come questo strumento possa essere utilizzato per migliorare efficienza e produttività.

1. Trasferimento di dati tra Google Sheets

Un esempio utile è copiare dati da un foglio sorgente a uno di destinazione, applicando logica condizionale per trasferire solo le righe che rispettano determinati criteri.

Codice esempio:

JavaScript
				function trasferisciDatiConFiltro() {
    const sorgente = SpreadsheetApp.openById('ID_DEL_FOGLIO_SORGENTE');
    const destinazione = SpreadsheetApp.openById('ID_DEL_FOGLIO_DESTINAZIONE');

    const foglioSorgente = sorgente.getSheetByName('Foglio1');
    const foglioDestinazione = destinazione.getSheetByName('Foglio2');

    const datiSorgente = foglioSorgente.getDataRange().getValues();
    const datiFiltrati = [];

    // Itera sulle righe (partendo dalla riga 2 per saltare l'intestazione)
    for (let i = 1; i < datiSorgente.length; i++) {
        const riga = datiSorgente[i];
        const valoreTest = riga[1]; // Supponiamo che il valore sia nella colonna 2

        // Esempio di test su valore numerico
        if (valoreTest > 100) {
          datiFiltrati.push(riga); // Trasferisci la riga se rispetta il criterio
        }
    }

    // Scrive i dati filtrati sul foglio di destinazione
    if (datiFiltrati.length > 0) {
        foglioDestinazione.getRange(
            foglioDestinazione.getLastRow() + 1, 1, datiFiltrati.length,
datiFiltrati[0].length
        ).setValues(datiFiltrati);
    }
}
			

2. Integrazione con API esterne

Apps Script permette di collegarsi a servizi esterni utilizzando le API REST. Ecco un esempio di come recuperare dati da un’API pubblica (ad esempio, un’API meteo):

Codice esempio:

JavaScript
				function recuperaMeteo() {
    const url = 'https://api.open-meteo.com/v1/forecast?latitude=45.4642&longitude=9.1900&current_weather=true';
    const response = UrlFetchApp.fetch(url);
    const dati = JSON.parse(response.getContentText());
    Logger.log(`Temperatura attuale: ${dati.current_weather.temperature}°C`);
}
			

Casi d’uso:

  • Recuperare dati meteo per aggiornare report automatici.
  • Integrare Apps Script con piattaforme CRM o di gestione progetti (ad esempio, Salesforce o Trello).

3. Controllo dati e invio di email automatiche

Lo script controlla i dati in un foglio, identifica righe con errori o scadenze passate, e invia email di notifica.

Codice esempio:

JavaScript
				function inviaPromemoria() {
    const foglio = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Foglio1');
    const dati = foglio.getDataRange().getValues();

    dati.forEach((riga, indice) => {
        if (indice === 0) return; // Salta l'intestazione
        const email = riga[2]; // Supponendo che la colonna 3 abbia gli indirizzi email
        const scadenza = new Date(riga[3]); // Supponendo che la colonna 4 abbia le date

        if (scadenza < new Date()) {
            GmailApp.sendEmail(email,'Promemoria scadenza','La tua attività è scaduta!');
        }
    });
}
			

4. Esecuzione di processi con Trigger temporizzati

Modalità di esecuzione degli script

I processi descritti nei casi pratici possono essere eseguiti in tre modalità principali:

1. Da un documento specifico:

  • Gli script possono essere associati a Google Sheets, Docs o altri documenti e lanciati manualmente tramite il menu del documento, configurando quali funzioni rendere visibili all’utente tramite il pannello di controllo in Google Drive.
    • Ad esempio: In Google Sheets, accedi al menu Estensioni > Apps Script.

2. Schedulati come Trigger Temporizzati: I processi possono essere eseguiti automaticamente a intervalli regolari o in base a eventi specifici. Per configurare un trigger:

  • Vai al pannello di controllo dei trigger:
    • Google Drive > Script associato > Panoramica > Trigger.
  • Aggiungi un nuovo trigger e specifica:
    • Funzione da eseguire.
    • Tipo di attivazione (ad esempio, temporizzata o basata su eventi).

3. Trigger da codice per gestione ricorsiva di funzioni: Per funzioni che richiedono tempi di elaborazione lunghi, si può configurare un trigger da codice per evitare che il processo venga interrotto (Google limita l’esecuzione a circa 6 minuti).

Codice esempio per trigger ricorsivi:

JavaScript
				function funzioneLunga() {
    // Logica che richiede molto tempo
    for (let i = 0; i < 100000; i++) {
        // Simulazione di una lunga operazione
        Logger.log(i);
        if (i % 5000 === 0 && ScriptApp.getRemainingDailyQuota() < 2) {
        ScriptApp.newTrigger('funzioneLunga')
            .timeBased()
            .after(1000) // Esegue la funzione dopo 1 secondo
            .create();
        return; // Interrompi qui, il prossimo trigger continuerà
        }
    }
}
			

4. Processi stand-alone: È possibile creare script indipendenti (non legati a documenti specifici) e schedularli per eseguire attività come integrazioni API o report automatici.

ItalyEnglishFrenchGerman