Nonprofit Membership Workflow Beta
Architettura
Come è fatto dentro: i tredici moduli di Apps Script, i trigger che li attivano, la struttura del foglio dati e i servizi esterni collegati.
I componenti
Tredici moduli
Il codice è suddiviso in moduli con responsabilità chiare: la configurazione è separata dalla logica e i dati sensibili vivono in un unico file.
Template dei dati sensibili: nei sorgenti pubblici contiene segnaposto, nel pacchetto configurato contiene webhook Chat, chiavi Stripe, segreti Microsoft 365, Service Account, ID di fogli e cartelle. Da non condividere mai dopo la compilazione.
Configurazione strutturale, mappa delle colonne del foglio, design system delle email e funzioni helper condivise.
Trigger sulla colonna Stato: onboarding o rifiuto differito di 5 minuti, più il log delle modifiche nello Storico.
Ciclo di vita degli abbonamenti Stripe: webhook dei pagamenti, rinnovi, controllo scadenze e rimborsi.
Creazione delle utenze Google Workspace e Microsoft 365 e aggiornamento dei contatti di dominio.
Genera la tessera associativa in PDF con QR code, a partire da un template Google Slides.
Tutti i template delle email transazionali: benvenuto, ammissione, rifiuto, rinnovo, firma e rimborsi.
Riceve le nuove righe da Jotform, invia la prima email di conferma e notifica lo staff su Chat.
Notifiche Google Chat con coda e finestra oraria di invio (09:00–22:30).
Web App separata: portale di consultazione per i membri dell'associazione.
Imposta la firma Gmail istituzionale tramite Domain-Wide Delegation con Service Account.
Tracciamento live del workflow su un foglio separato, per seguire l'esecuzione in tempo reale.
Template del footer di attribuzione condiviso nelle comunicazioni email.
Automazioni
Trigger ed eventi
Tutto parte da pochi trigger di Apps Script, più un endpoint web per i webhook di Stripe.
| Funzione | Tipo | Quando scatta |
|---|---|---|
RouterModuli | onChange · nuova riga | All'arrivo di una domanda da Jotform |
TriggerAmmissione | onEdit · colonna Stato | Quando la Presidenza imposta Ammesso o Rifiutato |
TriggerCancellazioneAbbonamento | onEdit · Stato pagamento | Quando l'admin segna l'abbonamento Cancellato |
TriggerStorico | onEdit · colonne gestionali | Ad ogni modifica delle colonne monitorate |
controlloScadenzeGiornaliero | Giornaliero · 08:00 | Controllo delle quote in scadenza |
processaCodaNotifiche | Giornaliero · 09:00 | Invio delle notifiche Chat in coda |
doPost | Web App · webhook | Eventi di pagamento ricevuti da Stripe |
Il database
Il foglio Risposte
Ogni domanda è una riga. Alle colonne del modulo si aggiungono quelle gestionali, monitorate dai trigger. Di seguito le principali.
| Colonna | Contenuto |
|---|---|
A | Data submission |
B | Tipo associato (Socio Ordinario / Volontario) |
D–H | Anagrafica del socio |
L–Q | Anagrafica del volontario |
AB | ID Pratica |
AJ | Email istituzionale assegnata |
AK | Stato domanda (In Corso / Ammesso / Rifiutato / Decaduto) |
AL | Data di ammissione |
AM | Gruppo (Presidenza / Soci / Volontari) |
AO | Stato pagamento |
AP | Membro ufficiale (compilato dallo script) |
AS–AW | Dati Stripe: transazione, abbonamento, scadenza quota |
AY–BI | Tracciamento delle email inviate |
CONFIG.IDX dentro 1_CONFIG_V8.gs.
Servizi collegati
Integrazioni esterne
Il workflow orchestra diversi servizi Google e di terze parti tramite le loro API.
Jotform
Raccolta delle domande di ammissione.
Google Sheets
Database operativo e storico.
Gmail
Invio delle email transazionali.
Workspace Admin SDK
Utenze e contatti di dominio.
Microsoft 365
Utenze Office e licenze.
Stripe
Quote, abbonamenti e rinnovi.
Google Chat
Notifiche interne allo staff.
Slides + Drive
Generazione delle tessere PDF.
Calendar + Meet
Link riunioni nelle notifiche.
Pronto a installarlo?
Segui la guida passo-passo per configurare il workflow sul dominio della tua associazione.