Google Apps Script: automazioni base per Workspace

Introduzione

Google Apps Script e' un linguaggio basato su JavaScript che permette di automatizzare Gmail, Drive, Sheets, Docs, Calendar e ogni altro servizio Workspace. E' gratuito, eseguito sui server Google e accessibile da qualsiasi browser senza installare nulla. Con poche righe di codice puoi sostituire integrazioni esterne costose.

Casi d'uso tipici

  • Invio email automatiche da Sheet (mail merge)
  • Generazione PDF da template Docs
  • Sincronizzazione tra Sheet e applicazioni esterne via API
  • Notifiche Slack/Chat quando un Form viene compilato
  • Reminder automatici basati su date in Calendar/Sheet
  • Backup automatici di Drive

Aprire l'editor

Due modi per accedere all'editor:

  1. Da un documento: in un Sheet/Doc/Slide vai su Estensioni > Apps Script. Lo script e' legato al documento
  2. Standalone: vai su script.google.com e clicca Nuovo progetto. Script indipendente

Sintassi base

Apps Script usa JavaScript ES6+ con classi globali per servizi Google. Esempio: leggere un range da uno Sheet:

function leggiDati() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const range = sheet.getRange("A1:C10");
  const valori = range.getValues();
  Logger.log(valori);
}

Premi il bottone Esegui. La prima volta serve autorizzare gli scope (Google chiede consenso per accedere a Sheets).

Esempio: invio email da Sheet

Hai un foglio con colonne A (email), B (nome), C (messaggio). Script per inviare email personalizzata a ciascuno:

function inviaEmail() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const dati = sheet.getRange(2, 1, sheet.getLastRow() - 1, 3).getValues();

  dati.forEach(riga => {
    const [email, nome, messaggio] = riga;
    if (email) {
      GmailApp.sendEmail(
        email,
        `Ciao ${nome}`,
        messaggio
      );
    }
  });
}

Trigger: eseguire automaticamente

Gli script possono partire automaticamente. Vai nell'editor > menu sinistro Trigger (icona orologio) > Aggiungi trigger. Tipi:

  • Time-driven: ogni ora, ogni giorno, settimanalmente
  • On form submit: quando un Form viene compilato
  • On edit: quando un Sheet viene modificato
  • On open: all'apertura del documento
  • On change: cambio struttura del foglio

Esempio: notifica Chat su nuova risposta Form

function notificaSuRisposta(e) {
  const risposte = e.values;
  const webhook = "https://chat.googleapis.com/v1/spaces/...";

  const payload = {
    text: `Nuova risposta Form: ${risposte[1]} - ${risposte[2]}`
  };

  UrlFetchApp.fetch(webhook, {
    method: "post",
    contentType: "application/json",
    payload: JSON.stringify(payload)
  });
}

Imposta trigger On form submit. Ad ogni risposta arriva notifica nello Space Chat.

Servizi disponibili

  • SpreadsheetApp: leggere/scrivere Sheet
  • GmailApp / MailApp: invio email
  • DriveApp: gestire file Drive
  • DocumentApp: editare Docs
  • SlidesApp: editare Slides
  • CalendarApp: creare/modificare eventi
  • FormApp: creare Forms programmaticamente
  • UrlFetchApp: chiamare API esterne (HTTP)
  • PropertiesService: storage chiave-valore per dati persistenti

Quote e limiti

Apps Script ha quote giornaliere variabili in base al tipo di account:

  • Gmail invii: 100/giorno (account gratuiti), 1500 (Workspace)
  • UrlFetch: 20.000 chiamate/giorno
  • Tempo esecuzione: max 6 minuti per esecuzione (30 min per Workspace)
  • Trigger: max 20 per script

Debugging

Usa Logger.log(variabile) per loggare. Vedi i log dal menu Esecuzioni nell'editor. Per debug step-by-step usa breakpoints cliccando sul numero di riga.

Sicurezza

  • Non hard-codare API key: usa PropertiesService.getScriptProperties()
  • Limita gli scope autorizzati al minimo necessario (manifesto appsscript.json)
  • Per script aziendali, l'admin Workspace puo' controllare gli script attivi nella console admin

Deploy come API o webapp

Uno script puo' essere deployato come:

  • Web App: endpoint HTTPS che restituisce HTML/JSON (utile per dashboard)
  • Add-on: estensione visibile in Sheets/Docs/Gmail per il dominio
  • API executable: chiamabile da altre app esterne

Conclusione

Apps Script democratizza l'automazione: anche team senza developer dedicati possono ridurre lavoro ripetitivo. G Tech Group sviluppa script custom Workspace e add-on aziendali, integrando Sheets/Drive con CRM, ERP e applicazioni cloud terze.

Hai trovato utile quest'articolo?