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.

Tredici moduli

Il codice è suddiviso in moduli con responsabilità chiare: la configurazione è separata dalla logica e i dati sensibili vivono in un unico file.

0_Secrets.gs

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.

1_CONFIG_V8.gs

Configurazione strutturale, mappa delle colonne del foglio, design system delle email e funzioni helper condivise.

2_TriggerAmmissione.gs

Trigger sulla colonna Stato: onboarding o rifiuto differito di 5 minuti, più il log delle modifiche nello Storico.

3_StripeAdmin.gs

Ciclo di vita degli abbonamenti Stripe: webhook dei pagamenti, rinnovi, controllo scadenze e rimborsi.

4_WorkspaceAdmin.gs

Creazione delle utenze Google Workspace e Microsoft 365 e aggiornamento dei contatti di dominio.

5_TesseraGenerator.gs

Genera la tessera associativa in PDF con QR code, a partire da un template Google Slides.

6_Mail.gs

Tutti i template delle email transazionali: benvenuto, ammissione, rifiuto, rinnovo, firma e rimborsi.

7_RouterModuli.gs

Riceve le nuove righe da Jotform, invia la prima email di conferma e notifica lo staff su Chat.

8_NotificheChat.gs

Notifiche Google Chat con coda e finestra oraria di invio (09:00–22:30).

9_MembroPortal.gs

Web App separata: portale di consultazione per i membri dell'associazione.

10_GmailFirma.gs

Imposta la firma Gmail istituzionale tramite Domain-Wide Delegation con Service Account.

11_Tracer.gs

Tracciamento live del workflow su un foglio separato, per seguire l'esecuzione in tempo reale.

12_footer

Template del footer di attribuzione condiviso nelle comunicazioni email.

Trigger ed eventi

Tutto parte da pochi trigger di Apps Script, più un endpoint web per i webhook di Stripe.

FunzioneTipoQuando scatta
RouterModulionChange · nuova rigaAll'arrivo di una domanda da Jotform
TriggerAmmissioneonEdit · colonna StatoQuando la Presidenza imposta Ammesso o Rifiutato
TriggerCancellazioneAbbonamentoonEdit · Stato pagamentoQuando l'admin segna l'abbonamento Cancellato
TriggerStoricoonEdit · colonne gestionaliAd ogni modifica delle colonne monitorate
controlloScadenzeGiornalieroGiornaliero · 08:00Controllo delle quote in scadenza
processaCodaNotificheGiornaliero · 09:00Invio delle notifiche Chat in coda
doPostWeb App · webhookEventi di pagamento ricevuti da Stripe

Il foglio Risposte

Ogni domanda è una riga. Alle colonne del modulo si aggiungono quelle gestionali, monitorate dai trigger. Di seguito le principali.

ColonnaContenuto
AData submission
BTipo associato (Socio Ordinario / Volontario)
D–HAnagrafica del socio
L–QAnagrafica del volontario
ABID Pratica
AJEmail istituzionale assegnata
AKStato domanda (In Corso / Ammesso / Rifiutato / Decaduto)
ALData di ammissione
AMGruppo (Presidenza / Soci / Volontari)
AOStato pagamento
APMembro ufficiale (compilato dallo script)
AS–AWDati Stripe: transazione, abbonamento, scadenza quota
AY–BITracciamento delle email inviate
Mappa completa. Il foglio conta circa 60 colonne. La corrispondenza completa è definita in CONFIG.IDX dentro 1_CONFIG_V8.gs.

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.