🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Automazione con Google Forms utilizzando Google Apps Script

Codegrind Team•Aug 23 2024

L’automazione di Google Forms con Google Apps Script ti permette di creare, gestire e automatizzare moduli per raccogliere dati in modo efficiente e migliorare i processi aziendali. In questa guida, esploreremo come sfruttare Google Apps Script per lavorare con Google Forms e semplificare la raccolta e l’analisi dei dati.

Creazione di Moduli Google Forms

1. Creazione di un Nuovo Modulo

Puoi creare un nuovo modulo Google Forms utilizzando Google Apps Script, impostando le domande e le risposte.

function createNewForm() {
  var form = FormApp.create("Modulo di Feedback");
  form
    .setTitle("Feedback dei Clienti")
    .setDescription("Raccolta di feedback per migliorare i nostri servizi.");

  form.addTextItem().setTitle("Nome");
  form
    .addMultipleChoiceItem()
    .setTitle("Come valuti il nostro servizio?")
    .setChoices(["Eccellente", "Buono", "Sufficiente", "Scarso"]);
  form.addParagraphTextItem().setTitle("Commenti aggiuntivi");

  Logger.log("Modulo creato: " + form.getEditUrl());
}

2. Personalizzazione del Modulo

Puoi personalizzare ulteriormente il modulo, aggiungendo sezioni, immagini e impostando regole di navigazione.

function customizeForm() {
  var form = FormApp.openById("ID_DEL_MODULO");
  form.setConfirmationMessage("Grazie per il tuo feedback!");

  var section = form
    .addSectionHeaderItem()
    .setTitle("Informazioni di Contatto");
  form.addTextItem().setTitle("Email").setRequired(true);

  Logger.log("Modulo personalizzato: " + form.getEditUrl());
}

Gestione delle Risposte

1. Raccolta e Analisi delle Risposte

Puoi raccogliere le risposte del modulo e analizzarle automaticamente utilizzando Google Apps Script.

function collectResponses() {
  var form = FormApp.openById("ID_DEL_MODULO");
  var responses = form.getResponses();

  for (var i = 0; i < responses.length; i++) {
    var itemResponses = responses[i].getItemResponses();
    for (var j = 0; j < itemResponses.length; j++) {
      Logger.log("Domanda: " + itemResponses[j].getItem().getTitle());
      Logger.log("Risposta: " + itemResponses[j].getResponse());
    }
  }
}

2. Esportazione delle Risposte in Google Sheets

Puoi automatizzare l’esportazione delle risposte del modulo in un foglio Google Sheets per una facile analisi e reporting.

function exportResponsesToSheets() {
  var form = FormApp.openById("ID_DEL_MODULO");
  var sheet = SpreadsheetApp.openById("ID_FOGLIO").getActiveSheet();
  var responses = form.getResponses();

  sheet.clear(); // Pulisce il foglio prima di esportare le nuove risposte
  sheet.appendRow(["Timestamp", "Domanda", "Risposta"]);

  for (var i = 0; i < responses.length; i++) {
    var itemResponses = responses[i].getItemResponses();
    for (var j = 0; j < itemResponses.length; j++) {
      sheet.appendRow([
        responses[i].getTimestamp(),
        itemResponses[j].getItem().getTitle(),
        itemResponses[j].getResponse(),
      ]);
    }
  }
  Logger.log("Risposte esportate in Google Sheets.");
}

Automazione delle Operazioni con Google Forms

1. Invio Automatico di Email in Base alle Risposte

Puoi configurare Google Apps Script per inviare email automaticamente in base alle risposte ricevute.

function sendEmailBasedOnResponse() {
  var form = FormApp.openById("ID_DEL_MODULO");
  var responses = form.getResponses();

  for (var i = 0; i < responses.length; i++) {
    var itemResponses = responses[i].getItemResponses();
    for (var j = 0; j < itemResponses.length; j++) {
      if (itemResponses[j].getResponse() === "Scarso") {
        MailApp.sendEmail(
          "team@example.com",
          "Feedback Negativo Ricevuto",
          "Un utente ha lasciato un feedback negativo: " +
            itemResponses[j].getResponse()
        );
        Logger.log("Email inviata per feedback negativo.");
      }
    }
  }
}

2. Creazione di Report Automatici

Puoi generare report automatici basati sulle risposte raccolte e inviarli ai membri del team.

function generateAutomaticReport() {
  var form = FormApp.openById("ID_DEL_MODULO");
  var sheet = SpreadsheetApp.openById("ID_FOGLIO").getActiveSheet();
  var responses = form.getResponses();
  var report = "Report di Feedback\n\n";

  for (var i = 0; i < responses.length; i++) {
    var itemResponses = responses[i].getItemResponses();
    for (var j = 0; j < itemResponses.length; j++) {
      report += "Domanda: " + itemResponses[j].getItem().getTitle() + "\n";
      report += "Risposta: " + itemResponses[j].getResponse() + "\n\n";
    }
  }

  MailApp.sendEmail("team@example.com", "Report di Feedback", report);
  Logger.log("Report generato e inviato.");
}

Conclusione

L’automazione di Google Forms con Google Apps Script ti consente di creare, gestire e analizzare i moduli in modo più efficiente, risparmiando tempo e migliorando la qualità dei dati raccolti. Con queste tecniche, puoi automatizzare ogni aspetto del processo, dalla creazione del modulo alla gestione delle risposte, rendendo i tuoi flussi di lavoro più efficaci e organizzati.