Avvisi da Moduli GoogleSviluppo e personalizzazione

Un Google Apps Script che le invia via email ogni nuova risposta di Moduli Google, impaginata con chiarezza e alla persona giusta

Di solito pronto in 15 minutiRevisioni incluseControllo di qualità
Pacchetti
Pagamento protettoDettagli
  • Le revisioni previste dal pacchetto sono gratuite.
  • Se non risponde entro 3 giorni dalla consegna, il lavoro viene accettato automaticamente.

Il denaro viene riservato al momento del pagamento e sbloccato solo quando accetta il lavoro.

Un Google Apps Script che le invia via email ogni nuova risposta di Moduli Google, impaginata con chiarezza e alla persona giusta

Esempio di risultato

Esempio per il pacchetto Standard

Unire i file mensili delle vendite di 9 negozi in un unico report Excel

Come si esegue

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Cartella: sales/2026-10, 9 file trovati
2026-11-02 09:14:03 INFO  shop-01.csv: 1.284 righe
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 righe
2026-11-02 09:14:04 WARN  shop-07.csv: saltate 3 righe senza prezzo (righe 88, 412, 913)
2026-11-02 09:14:05 INFO  Fatto: 10.412 righe -> report-2026-10.xlsx (fogli "Vendite" e "Totali")

Impostazioni, non codice

I nomi delle colonne di ogni negozio si trovano in settings.ini, quindi un nuovo negozio o una colonna rinominata è una riga lì:

[columns]
date = Data, Data vendita, Giorno
product = Prodotto, Articolo, Descrizione
quantity = Q.tà, Quantità, Pz
price = Prezzo, Prezzo unitario

Una parte del codice

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Legge il file di un negozio e gli dà i nomi di colonna del report."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: nessuna colonna per '{name}' (cercate: {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

File: un archivio ZIP con merge_sales.py (310 righe), settings.ini, requirements.txt e un README su come installare Python, eseguire lo script e cosa significa ogni messaggio del registro. Il cliente lo esegue sul proprio computer.

Cliente: una piccola catena di 9 cartolerie; ogni negozio invia le vendite del mese in un file CSV o Excel, con nomi di colonna leggermente diversi. Compito: un unico script che legge tutti i file di una cartella, porta le colonne a una stessa forma e scrive un solo report Excel con tutte le vendite e un foglio di totali per negozio.

Il cliente e tutti i dati sono inventati.

Informazioni sul servizio

Moduli Google può avvisarla che è arrivata una nuova risposta, ma non cosa dice, e non al collega che segue quella città o quel servizio. Questo Google Apps Script si avvia ogni volta che qualcuno invia il suo modulo e manda un'email con le risposte impaginate con chiarezza: le domande in grassetto, le risposte sotto e un link al foglio delle risposte. Dallo Standard sceglie chi riceve l'email in base a una risposta, per esempio inviando le richieste di Milano a un indirizzo e quelle di Roma a un altro. Il Premium può inviare una conferma a chi ha compilato il modulo, se il modulo chiede la sua email, e un riepilogo giornaliero a lei. Le email partono dal suo account Google, entro il limite giornaliero fissato da Google. Lo installa lei nel suo account.

Cosa è incluso

  • Cosa riceveUn archivio ZIP con il codice Apps Script e un README che spiega come aggiungerlo al modulo, autorizzare l'accesso e impostare l'attivatore; il codice è visibile anche nella pagina dell'ordine.
  • La risposta completaOgni domanda e risposta direttamente nell'email
  • Un oggetto chiaroes. Nuova richiesta: Nome, Servizio
  • Alla persona giustaDallo Standard, l'indirizzo scelto in base a una risposta
  • Dal suo accountInviata dal suo account Google, entro i limiti di Google
  • Codice leggibileCon commenti, facile cambiare l'email in seguito

Come funziona

  1. 1
    CompitoLei invia le domande del modulo e chi deve ricevere cosa
  2. 2
    CodiceScriviamo lo script e la guida all'installazione
  3. 3
    Lo proviLo aggiunge a una copia del modulo e invia una risposta di prova
  4. 4
    ModificheChiede modifiche nei limiti del pacchetto e invia eventuali messaggi di errore

Cosa ci serve da lei

Le domande del suo modulo (uno screenshot o l'elenco), gli indirizzi che devono ricevere gli avvisi e, dallo Standard, la regola su chi riceve cosa, per esempio in base a città o servizio. L'oggetto ed eventuale testo da mettere nell'email. Per una conferma a chi ha compilato il modulo (Premium), il testo di quell'email e la domanda che chiede l'indirizzo. Se il suo modulo salva le risposte in un foglio Google.

Le chiederemo:

  • A cosa serve il modulo?
  • Chi deve ricevere gli avvisi?
  • Come deve essere l'email?
  • Altro da inviare?

Confronto dei pacchetti

PacchettiBaseUn avviso15 €StandardAvvisi con impostazioni30 €PremiumStrumento di avvisi60 €
Tempi di consegna1 giorno2 giorni3 giorni
Revisioni123
Codicefino a 150 righefino a 400 righefino a 1.000 righe
File di codice1fino a 3fino a 8
File di impostazioniNoSìSì
Messaggi di errore chiari e un logNoSìSì
Opzioni di avvio e una guida per eseguirlo a orari programmatiNoNoSì
Guida all'installazione e all'avvio (README)SìSìSì
LinguaggioGoogle Apps ScriptGoogle Apps ScriptGoogle Apps Script
Ordina BaseOrdina StandardOrdina Premium

Pagamento protetto

Paga al momento dell'ordine, ma il denaro viene sbloccato solo per un lavoro accettato.

  • Prezzo fissoIl prezzo del pacchetto non cambia dopo il pagamento.
  • Il denaro viene riservatoAl pagamento, l'importo viene solo riservato. Passa a Dleex quando accetta il lavoro.
  • Verificato prima della consegnaOgni risultato passa un controllo di qualità prima di arrivare a lei, e lo vede nella pagina dell'ordine prima di accettarlo.
  • Revisioni gratuiteRichieda revisioni nell'ambito del suo brief tante volte quante ne prevede il pacchetto.
  • Accettazione dopo 3 giorniSe entro 3 giorni dalla consegna non accetta il lavoro né richiede una revisione, il lavoro viene accettato automaticamente. Se scrive nella chat dell'ordine dopo la consegna, l'ordine resta in attesa; dopo la nostra risposta potremmo far ripartire i 3 giorni e glielo indicheremo nella chat.
  • Rifacimento o rimborso totaleSe il risultato non corrisponde al suo brief e le revisioni non hanno risolto il problema, oppure il lavoro richiede più del doppio dei tempi di consegna previsti, scriva nella chat dell'ordine: rifaremo il lavoro o le rimborseremo l'intero pagamento.
Come funziona →

Domande e risposte

Può inviare una conferma alla persona?

Nel Premium sì, se il modulo chiede il suo indirizzo email. L'email parte dal suo account Google, quindi si presenta come qualsiasi email inviata da lei.

Funziona se il modulo è nell'account di qualcun altro?

Lo script deve essere aggiunto da un editor del modulo, e le email partono dall'account di quella persona. Il README spiega i passaggi.

Può inviare un SMS o un messaggio in chat al posto dell'email?

Questa offerta invia email. Un messaggio verso un servizio con API pubblica, come un canale Slack tramite il suo webhook in entrata, può essere aggiunto nei limiti del pacchetto se configura lei quel webhook.

Avete accesso al mio modulo?

No. Aggiunge lei il codice e ne autorizza l'accesso nel suo account. Ci basta uno screenshot delle domande.

Non hai trovato la risposta?

Pacchetti