Onboarding clienti

Guida Operativa Onboarding SMDC v4 — Studio Martinelli
ONBOARDING
◆ GUIDA OPERATIVA · ONBOARDING CLIENTI

Onboarding Nuovo Cliente
SMDC v4

Procedura completa per l’inserimento di un nuovo cliente: validazione dati, Drive, utente WordPress, meta WP e record Airtable. Da consultare ad ogni sessione di onboarding.

SMDC v4 Uso interno Studio Guida operativa
📅 Aggiornata 07/03/2026
⚙️ Script: SMDC_Onboarding_v4
⏱️ Lettura: ~10 min
📋 Sezioni: 13
01

Cosa serve prima di iniziare

Verifica di avere tutto pronto prima di avviare qualsiasi run. Dati mancanti o errati bloccano la pipeline a metà.

  • Cognome / nome oppure ragione sociale del cliente
  • Codice fiscale o partita IVA corretti e verificati
  • Indirizzo email reale con casella attiva — va bene anche una casella Aruba del dominio studio, purché reale (vedi Sezione 03)
  • Numero di telefono, se disponibile
  • Foglio CLIENTI_ONBOARDING aperto nel browser
  • Progetto Apps Script SMDC_Onboarding_v4 aperto nell’editor
02

Regola fondamentale

L’onboarding automatico legge dal foglio INPUT soltanto le righe con status = NEW. Prima di eseguire, assicurati che solo i clienti che vuoi processare abbiano questo valore.

Regola operativa sintetica:
INSERISCI CLIENTE IN INPUT  →  METTI STATUS = NEW  →  LANCIA ONBOARDING

⚠️
Consiglio operativo: se stai provando un nuovo tipo di email o un caso speciale, lancia 1–2 clienti alla volta. Non fare batch grandi con dati incerti.
03

Clienti senza email  ⚠️ CASO SPECIALE

🚫
Non usare alias massimo+xxx@… — Google Drive li rifiuta con errore Bad Request. Serve sempre una casella email reale e funzionante.

Procedura da seguire per clienti senza email:

1

Crea casella Aruba reale

Dal pannello Aruba, attiva una casella @studiocommercialistamartinelli.it con il nome appropriato al cliente.

2

Registra un account Google con quell’email

Vai su accounts.google.com → seleziona “Usa la mia email esistente” → inserisci la casella Aruba appena creata. Non creare un indirizzo @gmail.

3

Salva le credenziali su Bitwarden

Registra email + password con riferimento chiaro al cliente (es. CICCIONI PIERGIORGIO — Aruba + Google).

4

Aggiorna il foglio CLIENTI_ONBOARDING

Inserisci la nuova email nella riga del cliente nel tab INPUT. Solo dopo aver fatto questo, procedi.

5

Imposta status = NEW e lancia lo script

Solo dopo aver completato tutti i passi precedenti, imposta status = NEW ed esegui onboardingRun().

◆ Clienti in HOLD — Email da creare

ClienteEmail da creare su ArubaStatus
CICCIONI PIERGIORGIO[email protected]HOLD
CONDOMINIO VIA ARIOSTO[email protected]HOLD
MORIV SRL[email protected]HOLD
S.I.M. SRL[email protected]HOLD
SALERIO RITA[email protected]HOLD
04

Procedura passo per passo — 7 step

1

Preparare la riga nel foglio INPUT

  1. Apri il foglio CLIENTI_ONBOARDING e vai al tab INPUT.
  2. Compila o verifica i campi: cognome, nome, codice_fiscale, email, telefono.
  3. Imposta status = NEW.
⚠️
Se l’email contiene +, il provisioning Drive fallirà. Usa sempre caselle reali.
2

Controllare che solo i clienti voluti siano in NEW

  1. Scorri visivamente tutta la colonna status.
  2. Lascia NEW solo sulle righe da processare in questo run. Nessuna eccezione.
3

Aprire il progetto Apps Script

  1. Apri il progetto SMDC_Onboarding_v4 (link in Sezione 06).
  2. Apri il file SMDC_Onboarding_Orchestrator.gs.
  3. Dal menu a tendina delle funzioni seleziona onboardingRun.
4

Eseguire il run

  1. Clicca Eseguiuna sola volta.
  2. Attendi il completamento. Non cliccare di nuovo: il LockService blocca le esecuzioni parallele.
5

Controllare il LOG_ONBOARDING

  1. Apri il tab LOG_ONBOARDING nel foglio.
  2. Cerca l’ultimo run_id.
  3. Verifica che per ogni cliente compaiano questi passaggi in sequenza:
LOG_ONBOARDING · Sequenza attesa
VALIDATION   CF_EMAIL_OK
DRIVE        DRIVE_OK
WP_USER      WP_USER_OK
WP_META      WP_META_OK
AIRTABLE     AIRTABLE_OK
ORCHESTRATOR CLIENT_DONE
6

Verificare il risultato nel tab INPUT

  1. Torna al tab INPUT.
  2. Il cliente deve avere:
Stato atteso dopo il run
status        = AIRTABLE_OK
ultimo_step_ok= AIRTABLE_OK

Questo significa che l’onboarding è completato correttamente.

7

Controllo finale consigliato

  • ✅ Utente WordPress creato e attivo
  • ✅ Cartella cliente presente su Drive
  • ✅ Record Airtable creato correttamente
05

Come leggere il LOG_ONBOARDING

Il tab LOG_ONBOARDING è il punto principale per capire se il run è andato bene o dove si è fermato. Cerca sempre l’ultimo run_id per identificare la sessione corrente.

Codice logSignificato
CF_EMAIL_OKValidazione iniziale superata — CF / P.IVA e email sono validi.
FOLDER_CREATE_STARTPartenza creazione struttura cartelle cliente su Drive.
DRIVE_OKCartella Drive creata e condivisa correttamente.
WP_USER_OKUtente WordPress creato correttamente.
WP_META_OKMeta WordPress scritti e verificati.
AIRTABLE_CREATECreazione record Airtable in corso.
AIRTABLE_OKRecord Airtable creato correttamente. Onboarding completato.
CLIENT_DONECliente completato — tutti gli step superati con successo.
RUN_ENDFine del batch con contatore OK / ERROR sul totale dei clienti processati.
💡
Se un cliente non raggiunge CLIENT_DONE, l’ultimo codice nel log indica lo step in cui la pipeline si è fermata. Usa quella informazione per il troubleshooting (vedi Sezione 13).
06

Funzioni script disponibili

onboardingRun() Funzione principale batch. Legge il foglio, prende tutti i clienti con status = NEW e lancia tutta la pipeline automatica.
→ Da usare sempre per onboarding reali.
processaCliente() Processa un singolo cliente all’interno della pipeline.
→ Normalmente non a mano. Serve alla logica interna o a debug controllati.
testClienteSingolo() Test pilota su un singolo cliente specifico.
→ Usa quando vuoi fare una prova tecnica o un collaudo.
verificaConfig() Controlla che la configurazione del sistema sia coerente e tutti i servizi raggiungibili (Drive, WP, Airtable).
→ Esegui prima di sessioni importanti o se sospetti problemi.
riepilogoStatus() Fotografia sintetica dello stato generale: quanti clienti in NEW, AIRTABLE_OK, HOLD, ERROR.
→ Utile per avere una panoramica rapida prima di un batch.
⚙️

Apri SMDC_Onboarding_v4 in Apps Script →

https://script.google.com/home/projects/1cldD8bTesZb0bjfhNJRUHBSvGbu-DCrQ8uq-3haegl2OdZb1cdnj3PLL/edit

07

File script — cosa contengono

  • 🎼

    SMDC_Onboarding_Orchestrator.gs

    Funzione principale batch, gestione LockService (blocco esecuzioni parallele), lettura clienti dal foglio INPUT, run complessivo e contatori finali OK / ERROR.

  • 🔧

    SMDC_Onboarding_Steps.gs

    Step tecnici del provisioning: creazione cartella Drive, creazione utente WordPress, scrittura meta WP, inserimento record Airtable e controlli di verifica post-step.

  • 📋

    SMDC_Onboarding_Log.gs

    Scrittura eventi nel log, codici errore standardizzati, aggiornamento stato nel foglio, funzioni di supporto e audit trail completo delle operazioni.

08

Uso pratico consigliato

ScenarioApproccio
Cliente singolo delicato o caso speciale1 run con 1 solo NEW. Controlla il log attentamente prima di procedere con altri.
Piccolo batch controllato2–5 clienti in NEW, dati già verificati e puliti.
Batch più grandeSolo quando il sistema è stabile, tutti i dati sono già puliti e non ci sono clienti in HOLD.
💡
Prima di sessioni importanti, lancia verificaConfig() per assicurarti che Drive, WordPress e Airtable siano tutti raggiungibili.
09

Checklist rapida — da tenere sempre accanto

Spunta ogni punto prima e dopo ogni sessione di onboarding.

CHECKLIST ONBOARDING · Sessione completa
 1.    Compilo / verifico la riga nel tab INPUT
 2.    Per clienti senza email → casella Aruba + account Google
 3.    Imposto status = NEW
 4.    Controllo che SOLO i clienti giusti siano in NEW
 5.    Apro SMDC_Onboarding_v4 in Apps Script
 6.    Seleziono onboardingRun()
 7.    Clicco Esegui — una sola volta
 8.    Controllo LOG_ONBOARDING → tutte le voci _OK
 9.    Verifico status = AIRTABLE_OK nel tab INPUT
10.    Controllo utente WP + cartella Drive + record Airtable
11.    Promemoria Airtable post-onboarding (vedi Sezione 10)
10

Promemoria Airtable — post-onboarding

Dopo che l’onboarding è completato (AIRTABLE_OK) è buona pratica fare un rapido controllo nel database Airtable per attivare i flag necessari alle automazioni successive.

🔗
Link Airtable: INSERIRE_QUI_LINK_BASE_AIRTABLE_STUDIO
  • Apri la tabella CLIENTI nella base Airtable dello studio.
  • Verifica che il cliente sia stato creato con tutti i campi corretti.
  • Controlla il flag CLIENTE_ATTIVO — se il cliente è operativo, impostalo su TRUE.
  • Controlla il campo WHATSAPP_ATTIVO — se il cliente usa WhatsApp per notifiche F24, attiva il flag.
⚠️
Questi flag vengono utilizzati dalle automazioni successive: notifiche F24, comunicazioni periodiche e workflow interni dello studio. Non trascurarli dopo ogni onboarding.
11

Posizione del Google Sheet di onboarding

Il foglio CLIENTI_ONBOARDING si trova sempre in questa posizione su Drive:

Google Drive └── Studio Martinelli — Archivio └── CLIENTI_ONBOARDING └── CLIENTI_ONBOARDING (Google Sheet)
⚠️
Usare sempre questo foglio specifico. In futuro potrebbero esistere copie o fogli di test — non usarli per onboarding reali.
12

Cosa NON modificare negli script

Alcune parti del codice costituiscono l’architettura del sistema. Modificarle senza piena consapevolezza può interrompere l’automazione per tutti i clienti.

🚫 Zone vietate — non toccare

  • SMDC_Onboarding_Orchestrator.gs — contiene la logica principale batch e il sistema di sicurezza LockService.
  • CONFIG e costanti di sistema — modificare solo se si sa esattamente cosa si sta facendo e si ha approvazione esplicita.
  • Ordine degli step: VALIDATION → DRIVE → WP_USER → WP_META → AIRTABLE. L’ordine non è casuale e non va alterato.

In caso di necessità di modifica strutturale, concordare sempre con chi gestisce l’architettura del sistema prima di procedere.

13

Se l’onboarding non funziona — troubleshooting

Controlla sempre in questo ordine prima di fare qualsiasi altra cosa:

1

Verifica status nel foglio INPUT

Il cliente ha status = NEW? Se non è NEW, lo script non lo ha processato.

2

Verifica l’email

È un’email reale? Contiene +? È associata a un account Google? Se no, segui la procedura della Sezione 03.

3

Cerca il run_id nel LOG_ONBOARDING

Esiste un nuovo run_id? Se non c’è nessun log, lo script non è partito. Controlla che onboardingRun() sia selezionato nel menu funzioni.

4

Identifica lo step di blocco

L’ultimo codice nel log indica dove la pipeline si è fermata. Consulta la tabella qui sotto per interpretarlo.

Guida al blocco — step per step
-- Step bloccato → cosa controllare --

VALIDATION      Codice fiscale / P.IVA errato, o email non valida / con alias +
DRIVE           Problema creazione o condivisione cartella Drive
WP_USER         Problema creazione utente WordPress
WP_META         Problema scrittura meta WordPress
AIRTABLE        Problema collegamento o struttura base Airtable

Errori tipici frequenti:

  • EMAIL
    Alias con + — Drive rifiuta con Bad Request. Usare sempre caselle reali.
  • GOOGLE
    Email non associata ad account Google — Drive non può condividere la cartella.
  • BATCH
    Più clienti in NEW del previsto — il batch parte su tutti. Controllare sempre prima di eseguire.
  • LOCK
    Doppio click su Esegui — inutile. LockService blocca esecuzioni parallele automaticamente.
  • CF/IVA