Guida ad App Drive
App Drive è la piattaforma per pubblicare, condividere e monitorare le applicazioni web aziendali, comprese quelle sviluppate con strumenti di AI come Lovable, Bolt, v0, Claude e Cursor. Consente inoltre alle agenzie di consegnare le applicazioni dei propri clienti con il proprio marchio. Questa guida descrive funzionalità, modalità d'uso e ruoli: dalla configurazione dell'organizzazione agli inviti, dalla pubblicazione alla condivisione, fino al monitoraggio e alle segnalazioni.
Indice
- Panoramica
- Destinatari
- Glossario
- Primi passi
- Organizzazioni
- Inviti
- Team e permessi
- Pubblicazione delle piattaforme
- Utilizzo delle piattaforme
- Marchio aziendale
- Dati nel cloud
- Database delle piattaforme
- Panoramica delle piattaforme (Hub)
- Agenzie partner e clienti
- Errori e utilizzo con l'AI
- Segnalazioni e integrazioni
- Piani e abbonamento
- Account
- Sicurezza e privacy
- Domande frequenti
Panoramica
Agenzie e software house sviluppano per i propri clienti applicazioni web su misura: CRM, gestione ordini, dashboard. Tradizionalmente le consegnano come semplici link, con indirizzi, credenziali e server diversi: il cliente si trova a gestire strumenti frammentati anziché un servizio unitario.
Con App Drive ogni cliente dispone di un'unica applicazione, con il marchio dell'agenzia, che raccoglie tutte le sue piattaforme:
- disponibile su iPhone, Android e browser, con un solo account;
- le piattaforme si aprono all'interno dell'app, comprese quelle riservate;
- gli utenti dispongono del pulsante Segnala per inviare bug e richieste di modifica, con pagina, schermo e browser già indicati;
- le applicazioni sviluppate con l'AI (Lovable, Bolt, v0, Cursor) si pubblicano rapidamente da GitHub, da un archivio .zip, da un indirizzo web, da Vercel o da Netlify;
- ogni push su GitHub avvia automaticamente build e pubblicazione della nuova versione;
- la condivisione avviene per team o per singolo utente, tramite e-mail;
- accessi e permessi sono definiti dall'organizzazione: chi visualizza e chi pubblica ciascuna piattaforma.
- le piattaforme comunicano tra loro: i dati principali di tutte in un'unica Panoramica e, con i flussi, i nuovi dati trasferiti da un'applicazione all'altra, senza scrivere codice.

Destinatari
| Destinatario | Utilizzo di App Drive |
|---|---|
| Agenzie digitali | Un'organizzazione per ogni cliente: il cliente accede a tutte le sue applicazioni da un unico punto, con il marchio dell'agenzia o con il proprio. |
| Software house | Gestionali e dashboard su misura consegnati come prodotto, con aggiornamenti automatici da GitHub. |
| IT interno delle PMI | Gli strumenti interni di reparti e sedi riuniti in un'unica applicazione, con permessi definiti per team. |
App Drive ospita siti statici: Flutter web, React, Vue, Angular, Svelte, Astro, Next.js con export statico o HTML. L'eventuale backend (Supabase, Firebase o un server dedicato) resta sull'infrastruttura esistente: su App Drive viene pubblicato il frontend. Un'applicazione già pubblicata altrove (Vercel, Netlify, Lovable o un dominio proprio) si aggiunge tramite il suo indirizzo, senza caricare file.
Glossario
| Termine | Definizione |
|---|---|
| Piattaforma | Un'applicazione web pubblicata su App Drive, con indirizzo dedicato https://<nome>.apps.somio.cloud, icona e nome. |
| Organizzazione | Lo spazio di un cliente (o dell'agenzia): utenti, team, piattaforme, marchio e abbonamento. Le organizzazioni sono isolate tra loro. |
| Proprietario del server | Il gestore di App Drive, che crea le organizzazioni e ne invita gli amministratori. Su drive.somio.cloud è Somio. |
| Amministratore | Gestisce la propria organizzazione: utenti, inviti, marchio, integrazioni e abbonamento. |
| Membro | Utilizza le piattaforme a cui ha accesso, pubblica le proprie, crea team e condivide. |
| Team | Un gruppo di utenti della stessa organizzazione con cui condividere determinate piattaforme. |
Primi passi
- Richiedi un invito dalla pagina principale. Durante la beta l'accesso è concesso a un numero limitato di aziende alla volta: ti contatteremo non appena sarà disponibile un posto.
- Ricevuto il codice di invito, apri App Drive nel browser su drive.somio.cloud/app oppure dall'app per smartphone.
- Seleziona Hai ricevuto un invito? Registrati e inserisci codice, e-mail e una password di almeno 12 caratteri. L'account viene creato con il ruolo di amministratore dell'organizzazione.
- Personalizza nome, colore e logo (Marchio aziendale).
- Pubblica la prima piattaforma (Pubblicazione delle piattaforme) e invita i colleghi (Inviti).

In caso di password dimenticata, seleziona Password dimenticata? nella pagina di accesso: riceverai via e-mail un codice per impostarne una nuova.
Navigazione. Nel browser da computer il menu si trova a sinistra ed è suddiviso in tre gruppi: le voci comuni (Piattaforme, Team, Collegamenti), La tua organizzazione (riservato agli amministratori) e Server (riservato al proprietario del server). In basso è disponibile l'account. Su smartphone le stesse voci si trovano nel menu ⋯ in alto a destra.
Organizzazioni
Un'organizzazione è lo spazio di un cliente: utenti, team, piattaforme, marchio e abbonamento. Le organizzazioni sono isolate: utenti, team e piattaforme di un cliente non sono visibili né accessibili agli altri.
Creazione di un'organizzazione
Le organizzazioni sono create dal proprietario del server, da Organizzazioni clienti › Nuova: dopo aver indicato il nome del cliente, apre la relativa pagina e seleziona Invita con l'opzione Amministratore dell'organizzazione attiva. La persona invitata riceve il codice, si registra e assume il ruolo di amministratore, con la possibilità di invitare i propri colleghi.
Su drive.somio.cloud la prima organizzazione viene creata da Somio al momento dell'ingresso nella beta. Per attivarne altre, una per ciascun cliente, scrivi a tickets@somio.it: sono incluse nell'abbonamento.

Più organizzazioni, un unico account
Lo stesso utente può appartenere a più organizzazioni con la stessa e-mail e la stessa password: il personale dell'agenzia accede agli spazi di tutti i clienti e un cliente può abilitare un consulente esterno.
- Cambio di organizzazione: nel browser, seleziona il nome in cima al menu laterale; su smartphone, menu ⋯ › Cambia organizzazione. Si apre Le mie organizzazioni, da cui scegliere quella desiderata.
- Accesso a un'altra organizzazione con un codice ricevuto: da Le mie organizzazioni seleziona Accedi con un codice di invito. In alternativa è possibile registrarsi con il codice utilizzando e-mail e password già in uso.
- Uscita da un'organizzazione: Account › Lascia seguito dal nome dell'organizzazione. Le piattaforme personali in quell'organizzazione vengono eliminate; l'appartenenza alle altre resta invariata.

Inviti
L'accesso ad App Drive avviene esclusivamente su invito: non è prevista una registrazione libera. Un invito è un codice generato nell'app e inviato alla persona interessata, insieme alle istruzioni già predisposte.
Invitare nella propria organizzazione (amministratori)
- Apri Utenti e inviti e seleziona Invita.
- Facoltativo: indica il destinatario. Se specifichi un'e-mail, il codice potrà essere utilizzato solo da quell'indirizzo.
- Imposta la validità del codice in giorni e seleziona Crea invito.
- Condividi il codice. Viene mostrato una sola volta: copialo o inoltralo subito.
Il destinatario apre App Drive, seleziona Hai ricevuto un invito? Registrati e inserisce il codice. Se dispone già di un account App Drive in un'altra organizzazione, utilizza la stessa e-mail e la propria password, oppure Accedi con un codice di invito da Le mie organizzazioni.
La scheda Inviti riporta gli inviti in attesa, utilizzati, scaduti o revocati e consente di revocare un codice non ancora utilizzato.

Autorizzazione a invitare
Per impostazione predefinita solo gli amministratori dell'organizzazione possono invitare nuovi utenti. In Utenti e inviti › Inviti › Chi può invitare è possibile attivare Anche gli amministratori dei team: gli amministratori di un team potranno invitare nuovi utenti direttamente nel proprio team (vedi Team e permessi). Gli utenti così invitati entrano comunque nell'organizzazione con il ruolo di membro.
Gestione degli utenti
In Utenti e inviti, selezionando un utente è possibile:
- sospenderlo: perde l'accesso e la facoltà di pubblicare, e le sue piattaforme vanno offline; nessun dato viene eliminato ed è possibile riattivarlo in qualsiasi momento;
- modificarne i limiti di spazio e di numero di piattaforme;
- generare un codice di reimpostazione della password, qualora non riceva l'e-mail;
- eliminarlo, insieme alle sue piattaforme.
Se l'utente utilizza lo stesso account in altre organizzazioni, compare l'indicazione Anche in altre organizzazioni: sospensione ed eliminazione hanno effetto solo nella propria organizzazione e la password si reimposta con Password dimenticata?.
Team e permessi
Ogni utente visualizza le proprie piattaforme e quelle condivise con i team di cui fa parte. Un team è un gruppo di utenti della stessa organizzazione, ad esempio "Magazzino" o "Amministrazione".
Creazione di un team e aggiunta dei membri
- Apri Team (su smartphone: menu ⋯ › Team e condivisione) e seleziona Nuovo team. Chi lo crea ne diventa amministratore.
- Seleziona Aggiungi membro: viene mostrato l'elenco degli utenti dell'organizzazione non ancora presenti nel team. Cercali per e-mail, selezionane uno o più e conferma con Aggiungi.
- Per chi non dispone ancora di un account, scegli Aggiungi tramite e-mail: se l'organizzazione lo consente (Anche gli admin dei team), App Drive genera un codice che registra la persona e la inserisce direttamente nel team. In caso contrario, l'invito deve essere inviato prima da un amministratore dell'organizzazione.

Gli amministratori del team possono nominare altri amministratori, definire cosa possono fare i membri (aggiungere utenti, condividere le proprie piattaforme nel team), rimuovere utenti o eliminare il team.
Condivisione di una piattaforma
Apri il menu di una tua piattaforma (pulsante ⋯, tasto destro o pressione prolungata) › Condivisione e accessi:
- Persone: inserisci l'e-mail del destinatario e seleziona Condividi. Se appartiene già all'organizzazione, trova subito la piattaforma nella propria home (e riceve un'e-mail, se il server è configurato per l'invio). Se non dispone ancora di un account, App Drive genera un invito: il codice viene mostrato per l'inoltro e, alla registrazione, la piattaforma compare nella home del destinatario. Per ciascun utente scegli Può vedere o Può modificare; gli inviti non ancora utilizzati possono essere ritirati.
- Team: seleziona i team abilitati (o creane uno con Nuovo team). Per ciascun team scegli Può vedere (sola apertura) o Può modificare (anche caricamento di nuove versioni e build da GitHub). Nome, icona, condivisione ed eliminazione restano di competenza del proprietario.
- Link: l'indirizzo da condividere. Con Richiede login attivo, nel browser accedono solo gli utenti autorizzati (il proprietario, le persone e i team selezionati) previa autenticazione; con l'opzione disattivata, chiunque disponga del link può aprirla. Accanto al nome compare un lucchetto. Chi tenta di accedere senza autorizzazione visualizza l'account utilizzato e le indicazioni per richiedere l'accesso.
I membri trovano le piattaforme condivise nella propria home, contrassegnate dall'icona delle persone accanto al nome: possono aprirle (anche se richiedono login), renderle disponibili offline e riordinarle, ma non eliminarle. Chi non è proprietario può soltanto archiviarle, ovvero rimuoverle dalla propria home (vedi La home).
Pubblicazione delle piattaforme
Il punto di partenza è Aggiungi piattaforma: il pulsante in alto nella home da computer, oppure menu ⋯ › Aggiungi app da smartphone. Le origini disponibili sono:
| Origine | Quando utilizzarla |
|---|---|
| Da un indirizzo | L'applicazione è già pubblicata: Lovable, Bolt, Replit, v0, Cloudflare o un dominio proprio. |
| Da Vercel o Netlify | L'applicazione è un progetto Vercel o Netlify: si seleziona dall'elenco e se ne monitorano i deploy. |
| Da GitHub | Il codice risiede su GitHub (compreso quello di Lovable, Bolt e v0, che vi si sincronizzano): App Drive esegue build e hosting a ogni push. |
| Carica un file .zip | La cartella della build è disponibile in locale. |
Con GitHub e .zip l'applicazione è ospitata da App Drive su
https://<nome>.apps.somio.cloud; con indirizzo, Vercel e Netlify resta
sull'hosting originale e App Drive la integra. Nel browser, la voce
Pubblicazione del menu laterale raccoglie le stesse origini e gli account
collegati (GitHub, Vercel, Netlify).
Controllo della build. Prima che una nuova versione vada online App Drive
controlla che index.html trovi tutti i file che carica. Se ne manca
qualcuno la pagina resterebbe bianca: la versione non viene pubblicata, resta
online quella precedente e il messaggio dice cosa correggere. Il caso tipico
è il base di Vite impostato per un altro hosting (/nome-repo/): va messo
base: "/" in vite.config. Se il codice chiama http://localhost, la
versione viene pubblicata ma App Drive avvisa: quegli indirizzi funzionano
solo sul computer dove è stata fatta l'app.
Versione di prova. Dal menu della piattaforma, Versione di prova
pubblica una versione da provare (o da far provare al cliente) prima che
vada online, su un indirizzo suo: https://<nome>--prova.apps.somio.cloud.
Chiede sempre il login, anche se l'app è pubblica, e la vede solo chi può
vedere l'app. Si carica come zip oppure, per le app collegate a GitHub, si
sceglie un branch di prova (es. dev): i push su quel branch aggiornano
la prova, quelli sul branch principale continuano a pubblicare la versione
online, e una build di prova non riuscita non segna l'app come guasta.
Promuovi la rende la versione online (con gli stessi controlli di una
pubblicazione); la versione precedente resta per tornare indietro.
Da GitHub (consigliato)
Ogni push sul branch selezionato avvia build e pubblicazione automatiche, in 2–5 minuti.
- Seleziona Aggiungi app › Da GitHub (nel browser anche Collegamenti › GitHub) e quindi Collega account GitHub. Scegli i repository a cui App Drive può accedere, anche privati, e conferma su GitHub.
- Seleziona Nuova piattaforma da GitHub: indica repository, branch, cartella (per i monorepo) e nome breve dell'indirizzo, quindi Collega e pubblica.
- App Drive aggiunge al repository il workflow
.github/workflows/appdrive-<nome>.ymle il token di pubblicazione. Il tipo di progetto (Flutter, React, Vue, Angular, Svelte, Astro, Next.js con export statico, HTML) viene rilevato automaticamente.
Fino al completamento della prima build, l'icona riporta una clessidra arancione.
Per collegare un repository a una piattaforma esistente, apri il menu della sua icona › GitHub e pubblicazione. Nella stessa schermata sono disponibili le ultime build e il comando per avviare una nuova build.
Variabili di build
Se il progetto viene eseguito in locale con variabili, ad esempio
flutter run --dart-define=SUPABASE_URL=<url> --dart-define=SUPABASE_ANON_KEY=<chiave>
oppure con un file .env contenente variabili VITE_, anche la build su
GitHub deve riceverle:
- Apri il menu della piattaforma › GitHub e pubblicazione › Variabili di build.
- Seleziona Incolla da flutter run o .env e incolla il comando o il file in uso.
- Conferma con Salva e ricompila.
Variabili trovate nel codice. In Variabili di build App Drive elenca
le variabili che il codice usa e non sono ancora impostate (VITE_…,
NEXT_PUBLIC_…, --dart-define, .env.example), con Aggiungi per
ciascuna. Se l'app è collegata a un progetto Supabase, indirizzo e chiave
anon sono già compilati: Aggiungi i valori di Supabase li inserisce
tutti insieme.
Le variabili sono conservate in App Drive, non nel repository. In una web app, tuttavia, confluiscono nel codice del sito e sono quindi leggibili da chiunque lo apra: sono adatti URL e chiavi pubbliche (come la chiave anon di Supabase, protetta dalle Row Level Security), mai chiavi segrete.
Da un archivio .zip
Comprimi la cartella della build web (con index.html nella radice) e
caricala da Aggiungi app › Carica un file .zip. È accettato anche un
singolo index.html. Per gli aggiornamenti: menu della piattaforma ›
Carica una nuova versione.
Ogni percorso non riconosciuto restituisce index.html, a supporto del
routing lato client (React Router, go_router). L'icona è ricavata dal
manifest.json del progetto e può essere sostituita con Cambia icona.
Da un indirizzo (Lovable, Bolt, Replit, v0)
Aggiungi app › Da un indirizzo: inserisci l'indirizzo dell'applicazione
(https://) ed eventualmente un nome. La piattaforma compare nella home con
icona, team, condivisione e "Segnala"; App Drive ne rileva l'hosting (ad
esempio Ospitata su Lovable). Dispone inoltre di un link App Drive,
https://<nome>.apps.somio.cloud, che rimanda al sito.
All'interno di App Drive l'applicazione si apre nell'app; se il sito non consente l'incorporamento, nel browser viene aperto in una nuova scheda (il menu della piattaforma ne indica il motivo).
Da Vercel o Netlify
- Aggiungi app › Da Vercel o Netlify (nel browser anche Pubblicazione).
- Collega l'account con un token personale: su Vercel da Account › Tokens, su Netlify da User settings › Applications › Personal access tokens. Il token è conservato cifrato su App Drive e può essere scollegato in qualsiasi momento.
- Compare l'elenco dei progetti: seleziona Importa. Un progetto già presente nella home (importato da te, da un collega o aggiunto con lo stesso indirizzo) riporta Già nella home e non può essere importato una seconda volta.
Dal menu della piattaforma (Deploy su Vercel o Netlify) sono disponibili lo stato dell'ultimo deploy e, configurando un deploy hook, l'avvio di un nuovo deploy.
Dominio personalizzato
Una piattaforma ospitata su App Drive può rispondere anche a un indirizzo
proprio o del cliente, come app.cliente.it:
- Menu della piattaforma › Dominio personalizzato, inserisci il dominio e premi Continua.
- Nel pannello del dominio crea il record CNAME indicato (nome e valore sono pronti da copiare).
- Premi Verifica: quando il dominio punta ad App Drive diventa attivo, con certificato HTTPS automatico. L'indirizzo dell'app nella home e nei link condivisi diventa quello nuovo; login, dati e monitoraggio funzionano come prima.
Ospita su App Drive: applicazioni riservate
Il login di App Drive protegge il link App Drive di una piattaforma
ospitata altrove, ma non l'indirizzo diretto del sito (ad esempio
<progetto>.vercel.app o <progetto>.lovable.app), che resta accessibile
senza autenticazione a chiunque lo conosca. App Drive non può limitare
l'accesso a un sito che non ospita e lo segnala nella schermata di
condivisione.
Per una protezione completa, apri il menu della piattaforma › Ospita su App Drive e scegli Da GitHub o Carica .zip. Alla prima versione la piattaforma passa ad App Drive mantenendo link, team e impostazioni; da quel momento nessun contenuto è accessibile senza login. Fino ad allora il sito originale resta attivo e può essere dismesso successivamente.
Spazio e numero di piattaforme
Ogni organizzazione dispone di un limite di piattaforme e di spazio definito dal piano (Piani e abbonamento). Lo spazio comprende tutte le versioni conservate. L'utilizzo corrente è visibile in Account.
Utilizzo delle piattaforme
La home
Primi passi. Finché non sono completati, in cima alla home un riquadro indica i passi successivi, ciascuno con il suo pulsante: pubblicare la prima app, condividerla con un collega, proteggerla con il login e, se usa Supabase, collegarne il Back-End. Si chiude con Nascondi.
Seleziona una piattaforma per aprirla. Nel browser la home presenta le piattaforme come schede con anteprima in tempo reale (oppure come icone); su smartphone come icone, secondo lo schema dei sistemi mobili.
-
Archiviazione: menu della piattaforma › Archivia (togli dalla home), oppure il simbolo – in Modifica la home. La piattaforma viene rimossa solo dalla propria home: non viene eliminata e per gli altri utenti nulla cambia. È disponibile in Archivio (nel browser nel menu laterale, su smartphone nel menu ⋯) e può essere ripristinata con Ripristina. Solo il proprietario può eliminare una piattaforma dal server.
-
Ordinamento: menu ⋯ › Modifica la home, quindi trascina le icone. L'ordine è salvato sul server ed è lo stesso su tutti i dispositivi.
-
Menu della piattaforma: con il pulsante ⋯ (nel browser compare passando con il mouse sull'icona), con il tasto destro o, su smartphone, con una pressione prolungata. Comprende condivisione, copia offline, nuova versione, GitHub, nome e icona.
-
Segnali sulle icone (per chi può pubblicare la piattaforma):
- un cerchio che ruota in basso a destra indica una pubblicazione in corso (build da GitHub o funzioni Supabase); al termine la home si aggiorna da sola;
- un punto esclamativo rosso in basso a destra indica che l'ultima build da GitHub non è riuscita: online resta la versione precedente. In GitHub e pubblicazione (anch'essa segnalata) la build è elencata con Perché non compila?; il segno sparisce alla build successiva;
- un numero rosso in alto a destra indica che il Back-End Supabase va rivisto (funzioni non pubblicate o segreti mancanti). Lo stesso numero compare sulla voce Back-End Supabase del menu della piattaforma.
Nel browser, Piattaforme nel menu laterale riporta quante piattaforme richiedono attenzione (build non riuscita o Supabase). Per le piattaforme collegate a GitHub prima di questa funzione, il segnale di build non riuscita si attiva dopo il primo Ricompila, che aggiorna il workflow nel repository.

Ricerca globale
Un'unica ricerca per trovare qualsiasi cosa: Cerca in cima al menu laterale, Ctrl+K (⌘K su Mac) da qualsiasi pagina, o la lente in alto sul telefono. Si scrive e compaiono, per gruppi:
- Pagine dell'app (es. Personalizza, Utenti e inviti);
- App, Dashboard e schede, Flussi;
- Clienti (per le agenzie), Persone e team (le persone solo per gli amministratori);
- Nei dati delle schede: le voci delle schede che vedi (un cliente, un ordine, un intervento), lette al momento dalle loro sorgenti, solo nei campi che le schede mostrano. Arrivano una scheda alla volta, dopo il resto.
↑ ↓ e Invio scelgono senza mouse. Toccando una voce dei dati si aprono le righe della sua scheda, già filtrate con quello che hai cercato. Ognuno trova solo ciò che può già aprire; nulla di quello che cerchi viene salvato sul server, e le ricerche recenti restano su questo dispositivo finché l'app è aperta.
Nel browser: menu ridotto e piattaforme affiancate
- Riduci il menu (in basso nel menu laterale) mostra solo le icone, lasciando più spazio alla piattaforma aperta.
- Affianca una piattaforma: con una piattaforma aperta, il pulsante Affianca ne apre un'altra accanto. Trascinando il bordo centrale si regolano le dimensioni (con il doppio clic si torna alla divisione a metà); App Drive memorizza la configurazione. È possibile affiancare al massimo due piattaforme: aprendone una terza si sceglie quale sostituire, e quella sostituita resta aperta in background nello stato in cui era.

Notifiche e numero sull'icona (versione web)
In Account › Notifiche su questo dispositivo si attivano le notifiche del browser, che arrivano anche con App Drive chiusa. Invia una notifica di prova verifica che arrivino.
| Notifica | Chi la riceve |
|---|---|
| Build non riuscita, nuovi errori, funzione Supabase non pubblicata, migrazioni Supabase da applicare | Il proprietario della piattaforma e chi può pubblicarla |
| Consegne di un flusso scadute dopo 24 ore | Chi ha creato il flusso, altrimenti gli amministratori |
| Versione di prova pronta (dopo un push sul branch di prova) | Il proprietario e chi può pubblicarla |
| Nuova versione pubblicata | Chi può aprire la piattaforma, tranne chi l'ha pubblicata |
| Nuovo membro nell'organizzazione | Gli amministratori |
| Analisi AI completata (se dura più di qualche secondo) | Chi l'ha avviata |
| Aggiornamento del server non riuscito | Il proprietario del server |
Toccando una notifica App Drive si apre sulla pagina dell'evento: la build non riuscita, gli errori dell'app, il back end Supabase, la versione di prova, l'app stessa, gli utenti o lo stato del server. Anche il link nelle e-mail di avviso porta lì. Se l'app non esiste più o la pagina non è tra quelle a cui hai accesso, si apre la home.
Ogni evento arriva una volta sola. Le e-mail restano per il proprietario (build, errori, Supabase, server): gli altri eventi arrivano solo come notifiche. Se App Drive è installata come app, la sua icona mostra il numero di cose da guardare.
- Computer e Android (Chrome, Edge, Firefox, Safari su Mac): basta attivarle.
- iPhone e iPad: prima in Safari tocca Condividi › Aggiungi alla schermata Home, poi apri App Drive dalla Home e attivale da lì.
Si attivano per ogni dispositivo e si spengono dallo stesso interruttore.
Su smartphone: schermo intero
Le piattaforme si aprono a schermo intero: le barre del telefono spariscono e in basso resta solo una sottile maniglia. Toccandola compare per qualche secondo la barra con Indietro, Segnala e il pulsante dello schermo intero; trascinandola verso l'alto si torna alla home. Il contenuto resta sempre nell'area sicura dello schermo (notch, angoli arrotondati, barra di sistema), e intorno alla pagina App Drive usa il colore della piattaforma. Il pulsante nella barra disattiva o riattiva lo schermo intero: la scelta resta memorizzata sul dispositivo.
Su smartphone: copie offline
Menu della piattaforma › Rendi disponibile offline: l'app ne scarica una copia, che viene aperta in assenza di rete o se il server non risponde. Quando è disponibile una nuova versione, l'icona mostra un indicatore blu: Aggiorna copia offline (oppure Aggiorna copie offline dal menu ⋯ per aggiornarle tutte).
Operazioni lunghe in background
Le operazioni che richiedono tempo non bloccano l'app: analisi e correzioni con l'AI, pubblicazione delle funzioni Supabase e delle Cloud Functions, migrazioni del database, regole e indici di Firestore, esportazione dei dati. Un riquadro in basso a destra ne mostra l'avanzamento mentre continui a lavorare o cambi pagina; se ne partono più di una, i riquadri si impilano. Su smartphone è una piccola pillola che dice cosa sta succedendo (arancione se serve una decisione): toccala per aprirla, Riduci per richiuderla. Quando serve una tua decisione il riquadro diventa un avviso con i pulsanti per scegliere. Alla fine dice com'è andata: se c'è un risultato da guardare (una diagnosi, un prompt di correzione, il file esportato) resta con Vedi o Scarica finché non lo apri o lo chiudi; altrimenti sparisce da solo dopo qualche secondo. Se nel frattempo sei rimasto sulla stessa pagina, il risultato si apre subito. Non chiudere l'app o il browser finché un'operazione è in corso.
Marchio aziendale
In Personalizza (amministratori) si definiscono nome, colore e logo dell'organizzazione. Gli utenti li visualizzano in cima alla home, sui pulsanti, nella pagina di accesso e nella pagina di login delle piattaforme riservate. Se il logo include già il nome, disattiva Mostra il nome accanto al logo.
Il proprietario del server può personalizzare ogni cliente da Organizzazioni clienti (menu dell'organizzazione › Personalizza): ogni cliente visualizza così il proprio marchio o quello dell'agenzia.

Dati nel cloud
Disponibile con il piano Pro, per le applicazioni ospitate da App Drive.
Le applicazioni sviluppate con l'AI salvano generalmente i dati nel browser: restano su un solo dispositivo e vanno persi cambiando telefono o browser. Con i dati nel cloud vengono conservati da App Drive, senza modifiche al codice.
Dati nel cloud o Supabase? I dati nel cloud servono alle applicazioni senza back end, che salvano tutto nel browser. Se l'applicazione usa già un database (Supabase, Firebase o un server dedicato) non sono necessari: i dati restano dove sono e la pagina lo segnala quando riconosce Supabase. Funzioni e segreti di Supabase si gestiscono da Back-End Supabase.
Menu della piattaforma › Dati nel cloud, quindi scegli:
| Opzione | Comportamento |
|---|---|
| Solo nel browser | Impostazione predefinita: ogni dispositivo conserva una copia separata. |
| Per utente | Ogni utente accede ai propri dati da tutti i suoi dispositivi. |
| Condivisi | Tutti gli utenti dell'applicazione consultano e modificano gli stessi dati, ad esempio un registro condiviso. |
- Con i dati nel cloud la piattaforma richiede il login: accedono solo gli utenti e i team con cui è condivisa. Per renderla nuovamente pubblica è necessario disattivare prima i dati nel cloud.
- Alla prima attivazione App Drive acquisisce i dati già presenti nel browser, senza perdite.
- Nella stessa schermata sono disponibili lo spazio utilizzato, l'esportazione in JSON e la cancellazione completa.
- Limite di 5 MB per utente (o per applicazione, se i dati sono condivisi). Le sessioni di altri servizi (Supabase, Firebase) non vengono mai copiate.
- In modalità condivisa le modifiche degli altri utenti sono visibili alla successiva apertura dell'applicazione.
Database delle piattaforme
Le applicazioni create con gli strumenti AI salvano i dati in modi diversi. App Drive lavora con quello che la piattaforma usa già, senza spostare i dati e senza modificare il codice:
| Il database della piattaforma | Cosa fa App Drive | Dove si collega |
|---|---|---|
| Supabase (Lovable, Bolt…) | Pubblica le funzioni, verifica i segreti, applica le migrazioni del database, collega il login; le tabelle sono disponibili nella Panoramica | Menu della piattaforma › Back-End Supabase |
| PostgreSQL (Neon, Railway, server aziendale…) | Le tabelle nelle schede della Panoramica e nei flussi | Menu della piattaforma › Database PostgreSQL |
| Firestore (Firebase) | Le raccolte nelle schede della Panoramica e nei flussi | Menu della piattaforma › Firebase (Firestore) |
Il menu della piattaforma mostra solo la voce del database che usa: App Drive riconosce Supabase e Firebase dalla build pubblicata e PostgreSQL dal repository GitHub (Prisma, Drizzle o un driver PostgreSQL tra le dipendenze), a ogni nuova versione. Se non lo riconosce, compare Collega un database, che chiede quale. Ogni piattaforma usa un solo database: se ne ha già uno collegato, gli altri non vengono proposti. In ogni caso App Drive legge solo ciò che serve e aggiunge dati solo su autorizzazione: non modifica né cancella mai righe o documenti esistenti (salvo i flussi che aggiornano un record, nei soli campi scelti). Le credenziali restano cifrate sul server e non vengono più mostrate.
Back-End Supabase: funzioni e segreti
Molte applicazioni create con Lovable, Bolt o strumenti analoghi usano Supabase come back end. Dal menu della piattaforma, Back-End Supabase riunisce in una sola pagina quanto serve per tenerlo allineato. I dati restano nel database Supabase: App Drive non li legge e non li sposta (è una funzione diversa dai Dati nel cloud, descritti più avanti).
La voce compare solo per le piattaforme che usano Supabase: App Drive lo
riconosce da solo a ogni nuova versione, dall'indirizzo …supabase.co
presente nella build.
- Progetto: App Drive riconosce il progetto usato dall'applicazione
(dall'indirizzo
…supabase.conella build o nel repository). Collega l'account con un token di accesso creato su supabase.com › Account › Access tokens (conservato cifrato) e conferma il progetto proposto. - Edge Functions: l'elenco delle funzioni presenti in
supabase/functionse di quelle già pubblicate, con versione e data. Pubblica invia la funzione dal repository GitHub collegato (cartella della funzione e codice condiviso in_shared), rispettandoverify_jwtdisupabase/config.toml. Sotto ogni funzione pubblicata da App Drive c'è il suo stato: Allineata al repository (gira il codice di GitHub: il pulsante diventa Ripubblica, utile solo dopo aver cambiato un segreto), Modifiche da pubblicare (il codice è cambiato), oppure, se qualcuno l'ha pubblicata da un altro strumento, "non so se è allineata". Se la pubblicazione non riesce, Diagnosi spiega la causa con l'AI e propone il prompt per lo strumento con cui è stata creata l'applicazione. Con Pubblica a ogni push attivo, dopo ogni build da GitHub vengono pubblicate le funzioni modificate; quelle invariate restano come sono e una funzione non riuscita viene ritentata solo quando cambia il suo codice. Gli esiti compaiono nella stessa pagina e nel registro attività. - Segreti: App Drive legge quali chiavi le funzioni richiedono
(
Deno.env.get) e segnala quelle non ancora impostate sul progetto. Imposta le salva direttamente su Supabase; Dove reperirli? indica con l'AI che cosa sono e in quale servizio recuperarle. I valori non vengono conservati né mostrati da App Drive. Un segreto che non serve (ad esempio di una funzione non usata) si toglie dalle segnalazioni con Ignora e torna con Segnala di nuovo; allo stesso modo Ignora su una pubblicazione non riuscita la toglie dal badge fino alla pubblicazione successiva di quella funzione. Per i segreti che sono un indirizzo (origine consentita, URL del sito o dei redirect) App Drive propone già il valore giusto: l'indirizzo dell'app. - URL di autenticazione: dopo l'accesso e nei link delle e-mail
(conferma, nuova password) Supabase riporta al Site URL del progetto,
che nelle app fatte con uno strumento AI spesso è ancora
localhost:3000o l'anteprima dello strumento. App Drive lo segnala e Correggi la configurazione aggiunge l'indirizzo dell'app pubblicata ai redirect consentiti e, solo se il Site URL punta a localhost o a un'anteprima, lo usa come Site URL; un dominio vero già impostato resta. Lo fa anche da solo quando si collega il progetto. - Migrazioni del database: le modifiche al database che lo strumento AI
scrive in
supabase/migrations. App Drive mostra quali non sono ancora applicate e cosa fa ciascuna in parole semplici ("crea la tabella ordini", "ELIMINA la colonna…"). Applica la prossima e Applica tutte le eseguono in ordine, ognuna in una transazione: se una non riesce non cambia nulla e le successive non partono. Quelle che cancellano dati sono in rosso e chiedono una conferma in più. Se il progetto non registra quali sono già applicate (capita quando le ha applicate lo strumento AI) e l'app funziona, Segna come già applicate le registra senza eseguirle. Le migrazioni vanno in background: un riquadro in basso a destra (in basso su smartphone) mostra l'avanzamento e puoi chiudere la pagina e continuare a usare l'app (non chiudere però l'app o il browser: la migrazione in corso finisce, le successive ripartono da lì la volta dopo). Se serve una decisione, il riquadro diventa un avviso: se una migrazione crea qualcosa che il database contiene già, Segna e continua la segna come applicata e prosegue con le successive, Non modificare si ferma; spuntando Segna così anche le prossime già presenti le successive nella stessa situazione vengono segnate senza chiedere; Rifiuta la toglie dall'elenco e passa alla successiva. Una migrazione che non vuoi si può anche rifiutare senza provarla, dal pulsante accanto: non viene eseguita né segnata come applicata nel progetto, esce dall'elenco, dal numero sull'icona e dagli avvisi, e compare tra le Rifiutate, da dove Ripristina la riporta tra quelle da applicare. Se un'altra persona l'ha già applicata nel frattempo, sparisce dall'elenco; in caso di errore il riquadro lo dice e Dettagli mostra la risposta di Supabase. Non partono mai da sole. Dopo ogni push, se la nuova versione porta migrazioni non ancora applicate, l'icona dell'app in home mostra il numero sul menu Back-End Supabase e il proprietario riceve un avviso (e-mail e notifica) una volta per migrazione.
Accesso automatico. Per le app ospitate su App Drive con Richiede login, l'opzione Accesso automatico all'applicazione fa entrare chi apre l'app già collegato al suo login Supabase, con la stessa e-mail dell'account App Drive: nessuna seconda password. Chi non esiste ancora viene creato nel Supabase Auth del progetto (e-mail confermata). Funziona con il login standard di Supabase (supabase-js); le chiavi del progetto restano sul server di App Drive. Se nell'app ci si scollega, alla prossima apertura da App Drive si viene collegati di nuovo.
Le migrazioni si leggono dal repository GitHub collegato all'app (la
cartella supabase/migrations non è nella build): un'app caricata solo
come .zip non le mostra. Finché la funzione non è attiva sul server, si
eseguono da Supabase con l'editor SQL o con supabase db push.
Collegare un database PostgreSQL
Per le piattaforme con un proprio database PostgreSQL (Neon, Railway, un server dell'azienda…) e senza Supabase: menu della piattaforma › Database PostgreSQL. Serve poter pubblicare la piattaforma.
- Un utente per App Drive. La pagina mostra i comandi SQL da eseguire nella console del database (o da far eseguire allo strumento AI): creano un utente che può solo leggere e aggiungere righe, con una password generata al momento e già inserita nel modulo.
- Il collegamento. Incolla l'indirizzo di connessione
(
postgresql://…) oppure compila host, porta, database, utente, password e schema (di solitopublic). Collega e verifica prova la connessione e conta le tabelle; solo se riesce il collegamento viene salvato.
Da sapere:
- La connessione è sempre cifrata (TLS) e il certificato viene verificato; si può disattivare la verifica solo se il database usa un certificato non riconosciuto.
- Il database deve essere raggiungibile da internet: se accetta solo alcuni indirizzi IP, consenti quello del server di App Drive. Indirizzi della rete interna non sono accettati.
- La password resta cifrata sul server e non viene più mostrata; Modifica il collegamento ne chiede una nuova.
- Dopo il collegamento le tabelle compaiono tra i dati delle schede e dei flussi, come quelle di Supabase, con le stesse regole: si leggono solo le colonne scelte e si inseriscono nuove righe, mai modifiche o cancellazioni (salvo i flussi che aggiornano un record, nei soli campi scelti). Se la piattaforma usa già Supabase vale il progetto Supabase.
Collegare Firestore (Firebase)
Per le piattaforme che salvano i dati in Firestore: menu della piattaforma › Firebase (Firestore). Serve poter pubblicare la piattaforma.
- Una chiave per App Drive. Nella console Google Cloud del progetto Firebase apri IAM e amministrazione › Account di servizio, crea un account (ad esempio "appdrive") con il ruolo Utente Cloud Datastore, poi in Chiavi › Aggiungi chiave › Crea nuova chiave › JSON scarica il file. Funziona anche la chiave generata da Firebase (Impostazioni progetto › Account di servizio), che però dà accesso a tutto il progetto: è preferibile un account dedicato.
- La chiave. Scegli il file JSON (o incollane il contenuto) e, solo se il progetto ha più database Firestore, indica quale. Collega e verifica prova la chiave e conta le raccolte; solo se riesce il collegamento viene salvato.
Da sapere:
- Le raccolte compaiono tra i dati delle schede e dei flussi come le tabelle: i campi (testo, numero, data, sì/no) sono riconosciuti dagli ultimi documenti; campi annidati ed elenchi non sono usati.
- Un flusso può partire dai nuovi documenti se la raccolta ha un campo
con la data di creazione (
createdAt,created_at…, data o numero). Senza, l'app propone il testo da dare allo strumento AI per aggiungerlo. I documenti creati da un flusso ricevono la data di creazione. - Si leggono solo i campi scelti (al massimo gli ultimi 1.000 documenti per scheda) e si aggiungono documenti, mai modifiche o cancellazioni (salvo i flussi che aggiornano un record, nei soli campi scelti). Le regole di sicurezza di Firestore non si applicano all'account di servizio: la scheda mostra i dati a chi può aprire la piattaforma, quindi per dati personali usa un filtro.
- Ogni lettura è conteggiata da Google nel piano del progetto Firebase.
- La chiave resta cifrata sul server e non viene più mostrata; per revocarla elimina la chiave dalla console Google Cloud.
- Una piattaforma usa un solo database: se ha già Supabase o PostgreSQL collegati, vale quello.
Controlli e correzioni del back end
Nelle pagine Database PostgreSQL e Firebase (Firestore), una volta collegato il database, la sezione Controlli confronta il database con il repository GitHub e indica in chiaro cosa sistemare. Controlla di nuovo ripete la verifica; i dati letti non vengono conservati.
Firestore
- Regole di sicurezza: regole "in modalità di prova" scadute o in
scadenza (da quella data l'app non legge né scrive più), regole aperte a
tutti, regole che bloccano tutto, regole pubblicate diverse dal file
firestore.rules. Pubblica le regole del repository le mette in vigore; se il file contiene errori, Google lo rifiuta e restano quelle attuali. - Indici: indici in errore o in costruzione, e indici dichiarati in
firestore.indexes.jsonma non creati (causa dell'errore "The query requires an index"). Crea gli indici mancanti li crea: sono pronti in qualche minuto. - Cloud Functions: funzioni in errore e funzioni presenti nel codice ma
non pubblicate. Pubblica le funzioni dal repository aggiorna con il
codice della cartella
functionsquelle già pubblicate (trigger e impostazioni restano; per TypeScript Google esegue lo scriptbuild); la pubblicazione richiede alcuni minuti e, se la compilazione non riesce, resta in funzione la versione attuale. La prima pubblicazione di una funzione nuova si fa con la CLI di Firebase (firebase deploy --only functions). - Errori recenti: gli errori delle Cloud Functions nelle ultime 24 ore.
- Regole di Cloud Storage (solo se il progetto usa Cloud Storage): gli
stessi controlli delle regole di Firestore, sui file. Se
firebase.jsonindica il file ("storage": {"rules": "storage.rules"}), Pubblica le regole del repository lo mette in vigore sul bucket del progetto. - Login (solo se il progetto usa Firebase Authentication): se gli
indirizzi della piattaforma, compreso il dominio personalizzato, non sono
tra i domini autorizzati, l'accesso con Google, Apple o link via e-mail
dall'app online non riesce (
auth/unauthorized-domain). Autorizza gli indirizzi dell'app li aggiunge; quelli già presenti restano.
Per questi controlli l'account di servizio ha bisogno, oltre a Utente Cloud Datastore, dei ruoli Visualizzatore regole Firebase, Visualizzatore log, Visualizzatore Cloud Functions e Visualizzatore Firebase Authentication; per le correzioni, Amministratore regole Firebase, Amministratore indici Cloud Datastore e Amministratore Firebase Authentication, e per le funzioni Sviluppatore Cloud Functions e Utente account di servizio. Senza un ruolo il relativo controllo indica quale aggiungere (console Google Cloud › IAM).
PostgreSQL
- Migrazioni Prisma (
prisma/migrations) o Drizzle (la cartellaoutdidrizzle.config, di solitodrizzle/): non riuscite o presenti nel repository ma non applicate. Applica le migrazioni le esegue in ordine, ognuna in una transazione, registrandole come fa lo strumento (_prisma_migrationsodrizzle.__drizzle_migrations); una migrazione il cui contenuto è già nel database si può segnare come applicata. Rifiuta, accanto a ogni migrazione o quando l'app chiede cosa fare, la esclude senza eseguirla: non conta più tra le cose da sistemare né negli avvisi; Ripristina la rimette tra quelle da applicare. Con Drizzle le migrazioni vanno in ordine anche quando si segnano: Drizzle considera applicate tutte quelle più vecchie dell'ultima registrata. Le cartelle di semplici file.sqlsenza Prisma o Drizzle non vengono gestite: senza una tabella che registri cosa è già stato eseguito non si può sapere in modo affidabile cosa manca. - Schema: tabelle o colonne dello schema Prisma assenti nel database; tabelle senza chiave primaria.
- Prestazioni: chiavi esterne senza indice. Crea gli indici li aggiunge.
- Permessi: l'utente di App Drive non deve poter modificare o cancellare righe.
- Utilizzo: connessioni attive e dimensione del database.
L'utente di App Drive può solo leggere e aggiungere righe: per migrazioni e indici l'app chiede ogni volta l'indirizzo di connessione del proprietario del database, che viene usato solo per quella modifica e non viene salvato.
I controlli ripartono da soli ogni 6 ore e dopo ogni build da GitHub: quando trovano qualcosa da sistemare, l'icona della piattaforma in home mostra il numero, ripetuto sulla voce del database nel menu e, nella vista con le anteprime, come "Database da rivedere".
Con gli avvisi del back-end attivi, chi possiede la piattaforma riceve anche un'e-mail e una notifica quando questi controlli trovano un problema nuovo: migrazioni da applicare o non riuscite, Cloud Functions in errore, regole aperte, scadute o in scadenza entro 14 giorni, indici mancanti o in errore, indirizzi dell'app non autorizzati nel login, tabelle della Panoramica sparite. Ogni problema viene segnalato una volta sola; chi può pubblicare la piattaforma riceve la notifica. Il messaggio apre la pagina del database. Si disattivano come gli altri avvisi, in Account.
Per entrambi, Dati della Panoramica: campi usati dalle schede che risultano vuoti nella maggior parte dei dati recenti, e tabelle o raccolte non più presenti. Dove la soluzione è nel codice, Copia il prompt per l'AI prepara il testo da incollare nello strumento con cui è stata creata la piattaforma.
Utenti e livelli di accesso
Molte piattaforme hanno più livelli di accesso: amministratori che vedono e cambiano tutto, editor, semplici utenti. Dal menu della piattaforma (pressione lunga sull'icona), Utenti e livelli di accesso mostra quali livelli ha e chi ha quale, e ti fa cambiarlo.
App Drive trova da solo dove il login della piattaforma tiene il livello di ogni persona:
- Supabase o PostgreSQL: una colonna come
role,ruolo,user_roleois_adminnella tabella degli utenti o dei profili (anche come enum di Prisma o con un vincolo CHECK che elenca i valori), oppure una tabella con una riga per ruolo comeuser_roles(lo schema che usa Lovable); con Supabase ancheapp_metadata.roledegli utenti, se le policy lo usano. Se i posti sono più di uno, viene proposto per primo quello usato dalle funzioni (es.has_role()) o dalle policy della piattaforma. In una tabella comeuser_roleschi riceve un livello da App Drive tiene solo quello. - Firebase: un custom claim che le regole di sicurezza leggono (per
esempio
request.auth.token.admin == true) o un campo comerolenella raccoltausersoprofiles.
Se ne trova più di uno, scegli dal menu a tendina quello giusto. Tocca il livello di una persona per cambiarlo; se la piattaforma non elenca i valori possibili puoi scriverne un altro, uguale a come lo usa il codice. Solo quel valore cambia, nient'altro.
- Con PostgreSQL l'utente di App Drive può solo leggere: a ogni modifica
ti chiede la connessione del proprietario del database (usata solo per
quella modifica e non salvata). Per evitarlo, la pagina mostra il comando
che concede solo quel permesso (
GRANT UPDATE ("role") ON …). - Con Firebase il custom claim vale dal prossimo accesso della persona o entro un'ora; servono i ruoli Visualizzatore Firebase Authentication e, per cambiarlo, Amministratore Firebase Authentication.
- Se la piattaforma ha un solo tipo di utente, la pagina lo dice e prepara il prompt per chiedere i livelli allo strumento con cui è stata creata.
Login tramite App Drive. In cima alla pagina, l'interruttore dice se chi apre la piattaforma da App Drive entra da solo nel suo login (l'Accesso automatico) e permette di accenderlo o spegnerlo. C'è per le piattaforme Supabase e Firebase ospitate su App Drive con "Richiede login" attivo; con PostgreSQL la pagina spiega che non è disponibile (il login è quello scritto nel codice della piattaforma), ma i livelli si vedono e si cambiano lo stesso.
Chi può accedere tramite App Drive. Nella stessa scheda scegli chi viene autenticato senza password: Tutti gli utenti con accesso (proprietario, team e utenti con cui la piattaforma è condivisa; è la scelta predefinita), Solo i team selezionati, Solo gli utenti selezionati o Solo il proprietario. Il proprietario è sempre abilitato. Gli altri utenti accedono con le credenziali della piattaforma; su una piattaforma pubblica, se usano "Accedi con App Drive", ricevono un messaggio che spiega che il loro account non è abilitato.
Piattaforme pubbliche: "Accedi con App Drive". Se il server ha la funzione
FEATURE_PUBLIC_AUTO_LOGIN attiva, l'Accesso automatico si può attivare
anche su una piattaforma senza "Richiede login", che resta aperta a tutti:
- gli utenti App Drive autorizzati che la aprono dall'app vengono autenticati senza password, come su una piattaforma privata;
- chi apre il link diretto senza una sessione App Drive (ad esempio dopo il logout dalla piattaforma) vede in basso il pulsante Accedi con App Drive: inserisce le credenziali App Drive e torna sulla stessa pagina già autenticato;
- gli utenti senza account App Drive continuano ad accedere con le credenziali della piattaforma e possono chiudere il pulsante.
Il proprietario della piattaforma personalizza il pulsante nella stessa scheda, sotto l'interruttore:
- visibile o nascosto: nascosto, gli utenti App Drive vengono comunque autenticati quando aprono la piattaforma dall'app;
- testo: ad esempio "Entra con Somio" (massimo 40 caratteri, mostrato così com'è in tutte le lingue); se vuoto, "Accedi con App Drive" nella lingua del browser, con il nome dell'agenzia se c'è un brand personalizzato;
- posizione: in basso a destra o a sinistra.
Al ritorno dall'accesso App Drive, finché la piattaforma non ha caricato la sessione, viene mostrata la schermata Accesso in corso… al posto del login della piattaforma (al massimo per qualche secondo).
Firebase, senza toccare il codice. Con Firebase l'Accesso automatico
si accende solo da qui. App Drive cerca la persona per e-mail in Firebase
Authentication (se manca la crea, con e-mail verificata), le dà il livello
scelto e la fa entrare: la sessione arriva nel browser dove l'SDK di
Firebase la cerca, prima che la piattaforma parta. La chiave web del
progetto viene letta dai file della piattaforma. Servono: il server con
FEATURE_FIREBASE_LOGIN, l'account di servizio con il ruolo
Amministratore Firebase Authentication e il login di Firebase
Authentication attivo nel progetto. Se nel browser c'è già un altro utente
entrato con il login della piattaforma, Firebase tiene quello: basta uscire
una volta.
Profilo di chi entra (Firebase). Prima di accendere l'interruttore,
scegli il profilo con Configura: App Drive legge la collezione degli
utenti della piattaforma (users, user o simili) e mostra i suoi campi.
- Compilati da App Drive: l'e-mail, l'id del login, il livello scelto e la data di creazione, se la collezione li ha;
- Da chiedere a chi entra: gli altri campi, con il tipo (testo, numero,
data, sì/no o una scelta tra i valori trovati). Quelli presenti in quasi
tutti i documenti sono già spuntati: togli o aggiungi quelli che vuoi.
Per i campi sì/no scegli tra Richiedi, Sempre Sì, Sempre No e
Non impostare: con Sempre Sì o Sempre No il valore lo scrive App Drive
in ogni nuovo profilo. Scegli poi come lo vede la persona nel modulo:
Nascosto (non lo vede), Visibile, sola lettura (lo vede ma non
può cambiarlo) o Visibile, modificabile (il valore è una proposta e
può cambiarlo). Campi come
activeoisActivesono già proposti su Sempre Sì. Anche gli altri campi si possono preimpostare con Preimposta un valore: un testo (ad esempiostatus=pending), un numero (ad esempiocredits= 0), una scelta tra i valori ammessi o una data, fissa oppure Data del primo accesso (sempre nascosta). Un campo preimpostato non viene chiesto, con le stesse tre modalità di visualizzazione; - Creazione del profilo da App Drive: acceso, App Drive crea il documento di chi entra per la prima volta; spento, non scrive nulla in Firestore e il profilo lo crea la piattaforma.
Finché il profilo non è scelto, l'accesso automatico non si accende. Alla prima apertura, chi non ha ancora un profilo vede il riquadro Completa il tuo profilo con i campi scelti; Salva e continua crea il suo documento (con id uguale al suo uid). Senza campi da chiedere, App Drive lo crea subito, all'accesso.
Se non entra. Quando l'accesso automatico non riesce, la piattaforma mostra in alto un avviso di App Drive e sotto la persona, in questa pagina, compare il motivo con cosa fare (per esempio il ruolo mancante dell'account di servizio, o la chiave web che accetta solo alcuni siti). Verifica l'accesso automatico prova tutto dal server con il tuo account, come a un'apertura, e dice se funziona. Se funziona ma la piattaforma mostra comunque il suo login, di solito è la piattaforma che fa uscire chi non ha un profilo: configura il profilo qui sopra.
Chi entra da App Drive (Supabase e Firebase). Con l'Accesso automatico (Back-End Supabase, o l'interruttore qui sopra per Firebase), chi apre la piattaforma da App Drive entra nel suo login senza password. Nella sezione Accesso da App Drive scegli con che livello:
- per ogni persona di App Drive che può aprire la piattaforma (tu, i team e le persone con cui è condivisa): il livello viene dato a ogni suo accesso, prima che la sessione cominci, e subito se è già entrata;
- Nuovi utenti: il livello di chi non ne ha uno scelto qui, dato solo al primo accesso; dopo decide la piattaforma (per esempio il suo pannello di amministrazione);
- non impostato: App Drive non tocca il livello.
Sotto ogni persona compare l'esito del suo ultimo accesso: livello dato, oppure il motivo per cui non è stato dato. Molte piattaforme creano la riga del profilo solo quando l'app si apre la prima volta: in quel caso il livello resta in attesa e App Drive riprova ogni minuto per 24 ore, finché la riga c'è. Se la piattaforma non crea mai il profilo da sola (per esempio profili inseriti a mano), attiva Crea il profilo se manca: App Drive aggiunge la riga con la persona, il livello scelto e l'e-mail se la tabella la chiede. Se la tabella ha altre colonne obbligatorie che App Drive non sa riempire (un codice, l'azienda…), alla prima apertura della piattaforma la persona vede il riquadro Completa il tuo profilo (dal basso sul telefono, al centro sul computer) con solo quei campi: testo, numero, data, sì/no, oppure una scelta tra i valori ammessi o tra le righe della tabella collegata (per esempio le aziende). Salva e continua crea il profilo con il livello scelto e ricarica la piattaforma; Più tardi lo rimanda alla prossima apertura.
Campi del profilo (Supabase). Con Crea il profilo se manca acceso, Configura mostra le colonne della tabella dei profili: quelle che App Drive compila da sola (la persona, il livello, l'e-mail, i valori predefiniti del database), quelle obbligatorie (sempre chieste) e le altre, da chiedere se vuoi. I campi si preimpostano come per Firebase: sì/no, testo, numero, data (anche la data del primo accesso) o una scelta tra i valori ammessi dalla tabella (enum, vincoli CHECK, tabelle collegate); anche una colonna obbligatoria può essere preimpostata invece che chiesta. Senza configurazione App Drive chiede solo le colonne obbligatorie che non sa riempire, come prima.
Le persone vengono lette quando apri la pagina e non vengono conservate; ogni modifica resta nel registro attività. La usa chi può pubblicare la piattaforma.
Panoramica delle piattaforme (Hub)
Per i piani che la includono. La attiva Somio.
La Panoramica mette in una pagina le schede di più piattaforme: quanti ordini ci sono oggi, l'incasso del mese, le prossime consegne, lo stato di ogni applicazione. Si apre dal menu, alla voce Panoramica; nel browser è nel menu laterale. Non serve toccare il codice delle piattaforme.
- Ogni piattaforma ha la scheda Stato: versione online, data dell'aggiornamento e, con il monitoraggio attivo, persone ed errori degli ultimi 7 giorni.
- La pagina appare subito con tutte le schede al loro posto: ognuna mostra un'animazione di caricamento finché i suoi dati non sono pronti, poi compare. Una scheda lenta (ad esempio un gestionale che risponde dopo qualche secondo) non fa più aspettare le altre; se non risponde, la scheda lo dice e offre Riprova. Lo stesso vale per le dashboard.
- Le altre schede si creano dall'app, dai dati delle piattaforme (vedi sotto).
- Un tocco su una scheda apre la sua piattaforma (la freccia accanto al titolo lo indica). In alto, l'ora dell'ultimo aggiornamento e il pulsante per aggiornare le schede; su telefono basta anche trascinare verso il basso.
- Ognuno vede solo le schede delle piattaforme che può aprire.
Dove si trova. Nel menu (nel browser, il menu laterale) la voce Dashboard apre la Panoramica, la prima dashboard dell'organizzazione; con ▾ accanto al nome si passa alle altre dashboard o se ne crea una nuova. Flussi, Agenti AI, Sistemi aziendali e Tabelle di valori sono nella voce Dati e automazioni, con lo stato di ciascuno in breve.
Aggiungere una scheda. Aggiungi scheda (da telefono, + in alto) è l'unica porta:
- Crea una scheda: Da quali dati? (un tocco su una lista, una tabella
o un'entità di un sistema), poi Quale scheda?: le schede che quei dati
permettono, già pronte e mostrate con i dati veri (il totale in euro col
suo andamento, per mese, per stato, gli ultimi record, quanti sono).
Aggiungi la mette nella dashboard; Dati collegati prepara una
scheda "per ogni cliente i suoi ordini". Personalizza la apre per
cambiarla: nell'anteprima ogni parte è contornata e si cambia toccandola
(il titolo si rinomina, il numero sceglie cosa calcolare, il grafico per
cosa raggruppare, ogni quanto e che forma, le righe cosa mostrare);
sotto restano le stesse scelte in elenco, già fatte dai nomi e dai tipi
dei campi
(la somma dell'importo in euro, la data per il periodo, lo stato per il
confronto, il collegamento tra clienti e ordini, verificato sui dati) e
basta toccarne una per cambiarla. I campi hanno il nome che gli dà il
gestionale. L'anteprima è sempre visibile; Opzioni avanzate apre
l'editor completo (vedi Viste e dashboard).
- Aggiungi dati da un'altra sorgente combina i dati in qualsiasi scheda: a ogni record si aggiunge quello di un'altra sorgente con lo stesso valore in un campo (a ogni ordine il suo cliente), così si può confrontare il venduto per città del cliente. Il collegamento è proposto dai nomi dei campi e verificato sui dati ("3 su 12 trovano i loro record: prova un altro campo").
- Solo se limita la scheda ai record che servono, scegliendo tra i valori veri del campo (spuntando Aperto e Rilasciato), un periodo per una data, più di o meno di per un numero; per un campo con le email, la persona che guarda la scheda mostra a ognuno solo i suoi.
- La scheda appena aggiunta viene mostrata e illuminata per un istante.
- Calcoli in più: un numero si confronta con il periodo prima o con lo stesso periodo dell'anno scorso; un andamento mostra il valore di ogni periodo, il progressivo o la media mobile; un confronto mostra i primi N e gli altri insieme in "Altri". I periodi delle dashboard comprendono Da inizio anno e Ultimi 12 mesi.
- Con un sistema aziendale, il periodo della scheda e le condizioni sui numeri sono applicati dal gestionale stesso: arrivano solo le righe che servono, più in fretta e anche con molti dati. Una scheda creata così si modifica con le stesse domande (⋯ › Modifica la scheda), con le risposte già date; le altre si aprono nell'editor completo.
- Schede pronte delle app: lo stato delle piattaforme e le schede dichiarate dagli sviluppatori.
- Nota e Sezione (un titolo che raggruppa le schede che seguono).
Modificare, spostare, ridimensionare. Modifica in alto (da telefono, la matita) rende la pagina modificabile dove si trova: si trascina una scheda per spostarla (dalla maniglia ⠿ sul computer, tenendola premuta sul telefono) e se ne trascina l'angolo per allargarla a 2 o 3 colonne o renderla più alta; Fine per chiudere. Su ogni scheda, ⋯ sul computer o la pressione lunga sul telefono: Modifica la scheda, Duplica la scheda, Sposta prima o dopo, la Larghezza (1, 2 o 3 colonne) ed Elimina la scheda, o Togli dalla Panoramica per le schede pronte delle app; il menu è lo stesso in ogni dashboard.
Altezza delle schede. Le schede di una stessa riga hanno sempre la stessa altezza, quella della più lunga, fino a un massimo: quello che non ci sta sfuma in basso, e toccando la scheda si aprono tutte le righe. Una scheda Alta (nel menu, Altezza › Alta, o trascinandone l'angolo in Modifica) ha più spazio, e la sua riga con lei. Una scheda da sola sulla riga è alta quanto il suo contenuto. Le schede create prima delle dashboard (un numero o un elenco sui dati di una piattaforma o di un gestionale), con Modifica la scheda diventano schede come le altre, nella stessa posizione e con gli stessi dati, e si cambiano con le stesse domande.
Una scheda di una dashboard anche nella Panoramica. Nel menu di una scheda di un'altra dashboard, Mostra nella Panoramica la aggiunge in fondo alla Panoramica: è la stessa scheda, non una copia, e se la modifichi cambia in tutti e due i posti. Nella Panoramica ha sotto il titolo il nome della dashboard da cui viene (es. Da Vendite): toccandolo si apre quella dashboard. Lì mostra il periodo predefinito, senza i filtri della dashboard, e la vede solo chi può vedere la dashboard. Al posto di Elimina la scheda c'è Togli dalla Panoramica (anche dal menu della dashboard): la scheda resta nella sua dashboard. Se la elimini dalla dashboard, sparisce anche dalla Panoramica.
Le schede le gestiscono gli amministratori; per i clienti di un'agenzia la Panoramica la gestisce l'agenzia, e gli amministratori del cliente solo se l'agenzia lo permette in Limiti e permessi › Schede della Panoramica.
Trovare una scheda. Nella Panoramica ognuno può cercare per titolo o piattaforma, mostrare una sola piattaforma (menu Tutte le piattaforme) e scegliere la vista: per sezioni (come le ha organizzate chi gestisce la Panoramica) o per piattaforma. Questi filtri valgono solo per chi li usa.
Le schede mostrano i dati letti al momento dalle tue piattaforme; non ne viene conservata una copia.
Creare una scheda senza codice
Nella scelta delle schede, sotto ogni piattaforma: Nuova scheda.
-
Dati: scegli da dove leggere. L'app propone ciò che trova:
-
le liste dei Dati nel cloud (es. "orders"): vanno attivati nella pagina della piattaforma, e la piattaforma va usata almeno una volta;
-
le tabelle di Supabase, se la piattaforma ha un progetto Supabase collegato (vedi Back-End Supabase).
-
le tabelle del database PostgreSQL della piattaforma, se collegato (vedi Collegare un database PostgreSQL in Database delle piattaforme).
-
le raccolte di Firestore, se la piattaforma lo ha collegato (vedi Collegare Firestore in Database delle piattaforme).
Per ogni fonte vedi quanti elementi ha e quali campi, riconosciuti dai dati stessi (testo, numero, data, sì/no).
-
-
Titolo e che cosa mostra: Quanti (un numero), Somma di un campo numerico (es. il totale degli ordini; con In euro è mostrato con il simbolo € e due decimali) o una Lista breve (testo della riga, dettaglio, ordine, da 3 a 10 righe).
-
Filtra per (facoltativo): un campo data oggi, questa settimana, questo mese, da oggi in poi, prima di oggi; oppure un campo uguale a un valore (es. stato = "aperto", fatto = no).
-
Per Supabase, autorizza la lettura: ogni volta che si apre la Panoramica vengono lette solo le colonne usate dalla scheda (al massimo le ultime 5.000 righe), senza conservarne una copia. Attenzione: la scheda conta tutta la tabella e la mostra a chi può aprire la piattaforma, senza le regole di accesso per persona di Supabase (RLS); per dati personali usa un filtro o una tabella di riepilogo.
La piattaforma non usa né i Dati nel cloud né Supabase? Nella nuova scheda, Copia il prompt per l'AI: incollalo nello strumento con cui è stata creata (Lovable, Bolt, v0…), pubblica la nuova versione e attiva i Dati nel cloud. Le sue liste compariranno qui.
Flussi tra le piattaforme
Se attivi sul server, con la Panoramica.
Un flusso collega due piattaforme: quando in una succede qualcosa (es. arriva un nuovo ordine), allora un'altra riceve i campi che scegli (es. compare una nuova attività). Nessuna AI e nessun codice: i dati passano sempre allo stesso modo, e il registro dice com'è andata.
I dati restano nelle tue piattaforme. Quando colleghi due app, il tuo spazio consegna dall'una all'altra solo i campi che hai scelto: viaggiano cifrati e vengono cancellati appena consegnati. Il registro mostra quando e con quale esito, non il contenuto.
Creare un flusso. Dati e automazioni › Flussi › Nuovo flusso: dai un nome, poi scegli Quando e Allora. Si apre una pagina con tutte le liste e le tabelle, divise per piattaforma: cerca per nome della tabella, della piattaforma o di un campo, oppure filtra per Dati nel cloud, Supabase, Sviluppatori.
Creazione guidata. Nuovo flusso procede un passo alla volta: Quando, Solo se (facoltativo, si salta), Allora, Che cosa passa e Verifica e attiva. Su un computer il riepilogo in parole resta a destra e si aggiorna mentre scegli.
- Campi già collegati. Al passo Che cosa passa i campi di arrivo con lo
stesso nome di un campo di partenza, e di tipo compatibile, sono già
collegati. Lo stesso vale per i nomi equivalenti in italiano e in inglese
(
cliente/customer,totale/amount,telefono/phone…): questi sono segnalati con Collegato per somiglianza del nome: controlla. Gli id e le date di creazione non vengono mai collegati in automatico. Collega i campi con lo stesso nome ripete il collegamento dopo una modifica, senza toccare le scelte già fatte. - Prova con l'ultimo record. All'ultimo passo mostra l'ultimo record della partenza (solo i campi usati), se rispetta le condizioni e che cosa arriverebbe. Non scrive, non invia e non conserva nulla. Per una tabella serve prima il consenso all'accesso. Per un webhook in arrivo o un evento degli sviluppatori non c'è un record da usare.
- Che cosa manca. Avanti indica che cosa completare in quel passo. All'ultimo passo l'elenco Per creare il flusso manca porta, con un tocco, al passo da completare.
- Il nome è proposto dalle due piattaforme (es. "Shop → Magazzino") e si può cambiare.
La modifica di un flusso esistente resta in un'unica pagina.
| Quando | Allora |
|---|---|
| Nuovo elemento nella lista dei Dati nel cloud (es. un ordine aggiunto in "orders") | Aggiungi un elemento alla lista dei Dati nel cloud di un'altra piattaforma (dati condivisi): come se qualcuno lo inserisse a mano; compare alla sua prossima apertura |
| Nuova riga nella tabella Supabase (controllata ogni minuto) | Crea una nuova riga nella tabella Supabase: scegli che cosa scrivere in ogni colonna; le altre restano vuote o col loro valore predefinito |
Sotto ogni scelta l'app spiega che cosa succederà, e in fondo Riepilogo riassume il flusso in una frase (es. "Quando in Ordini arriva un nuovo elemento in "orders", aggiungi in Attività un elemento a "tasks" con: titolo = "Consegna {cliente}"; fatto = no").
Una tabella può avviare un flusso solo se ha la data di creazione
(created_at, inserted_at, created…) o un id numerico crescente:
altrimenti non si sa quali righe sono nuove. Quelle senza compaiono in fondo
come Non utilizzabili, con Copia il prompt per aggiungerla da
incollare in Lovable o Bolt.
Poi, campo per campo, che cosa passa:
| Scelta | Esempio |
|---|---|
| Non passato | Il campo resta vuoto. |
| Campo di partenza | scadenza ← consegna (una data va solo in una data; tutto può andare in un testo). |
| Testo fisso | responsabile ← "Magazzino". |
| Testo con i campi | titolo ← "Prepara l'ordine {numero} per {cliente}". |
| Sì / No, Numero fisso | fatto ← No. |
I campi non scelti non escono dalla piattaforma di partenza. In una
lista dei Dati nel cloud puoi anche aggiungere un campo che non c'è
ancora; se gli elementi della lista hanno un id, il nuovo elemento riceve
il successivo.
Da sapere.
- Una lista senza campo
id: anche un elemento modificato conta come nuovo. Le liste create da Lovable, Bolt e simili di solito lo hanno; il prompt per l'AI lo chiede. - Contano solo gli elementi e le righe aggiunti dopo la creazione del flusso (e, per Supabase, dopo averlo riacceso).
- Se la piattaforma di arrivo è aperta proprio mentre arriva un elemento, quando salva non lo perde: la pagina si ricarica da sola appena nessuno sta scrivendo.
- Supabase: autorizza l'accesso quando crei il flusso. Vengono lette solo le colonne usate e inserite nuove righe: mai modifiche o cancellazioni (fanno eccezione i flussi che aggiornano un record, qui sotto). Le colonne obbligatorie della tabella (*) vanno compilate.
- Spegnendo un flusso (interruttore) le consegne in attesa vengono annullate. Il Registro mostra per 30 giorni data, flusso, esito (consegnato, in attesa, scaduto, non riuscito, annullato), tentativi e dimensione.
- Ciò che non arriva entro 24 ore scade e viene scartato: chi ha creato il flusso (o, se non c'è più, gli amministratori) riceve un avviso per e-mail e notifica, al massimo una volta al giorno per flusso, con il link alla Panoramica.
Solo se (condizioni). Sotto Quando, Aggiungi una condizione: il flusso parte solo per i record che le rispettano tutte (fino a 5). Per ogni condizione scegli il campo, la regola e, se serve, il valore:
| Tipo di campo | Regole |
|---|---|
| Testo | è, non è, contiene, è vuoto, non è vuoto (senza distinguere maiuscole e minuscole) |
| Numero | è, non è, è maggiore di, è minore di, è vuoto, non è vuoto |
| Sì/No | è sì, è no |
| Data | è vuoto, non è vuoto |
Esempio: solo se stato è "pagato" e totale è maggiore di 100. Le
condizioni sono controllate prima della consegna: i record che non le
rispettano non escono dalla piattaforma di partenza. Si possono
cambiare anche dopo, modificando il flusso.
Quando cambia un campo. Dopo aver scelto la lista o la tabella di
partenza, scegli Nuovo record (come sopra) oppure Modifica di un campo e
il campo da seguire (es. stato). Il flusso parte quando quel campo di un
record già presente cambia valore, una volta per ogni cambiamento; i
record nuovi vengono solo memorizzati. Unito a una condizione diventa
"quando lo stato diventa spedito".
| Dove | Che cosa serve |
|---|---|
| Lista dei Dati nel cloud | Elementi con un campo id; si vede al salvataggio della pagina |
| Tabella Supabase o PostgreSQL | Una chiave primaria; controllata ogni minuto (fino a 5.000 righe) |
| Raccolta Firestore | Un campo con l'ora dell'ultima modifica (updatedAt): si leggono solo i documenti modificati, senza costi di lettura inutili |
Per capire che cosa è cambiato App Drive conserva di ogni record solo un'impronta cifrata del campo seguito, mai il valore.
Aggiorna un record. Se l'arrivo è una tabella (Supabase, PostgreSQL o
Firestore), sotto Allora scegli Crea un record oppure Aggiorna un
record e indica come trovarlo: il campo della tabella di arrivo che deve
essere uguale a un campo di partenza (es. codice = codice dell'ordine).
Vengono modificati solo i campi scelti in Che cosa passa, mai
cancellazioni; il campo usato per trovare il record non cambia.
- Se il record non c'è ancora (es. lo crea un altro flusso), si riprova per 24 ore; il registro indica nessun record corrispondente.
- Se corrispondono più di 20 record non si aggiorna nulla: scegli un campo più specifico (un codice, non uno stato).
- PostgreSQL: l'utente di App Drive deve poter modificare la tabella
(
GRANT UPDATE ON tabella TO utente;); senza, il registro indica permesso negato. - Trigger, tabella e campo di corrispondenza non cambiano dopo la creazione: per cambiarli crea un nuovo flusso.
Dall'esterno (webhook in arrivo). Un flusso può partire anche da un servizio che non è una tua piattaforma: il modulo contatti del sito, un pagamento Stripe, uno scenario di Zapier o Make. In Quando scegli Da fuori › Una chiamata da un servizio esterno, scrivi da dove arriva (es. "Modulo contatti") e dichiara i campi che invia, con il tipo (testo, numero, sì/no, data; fino a 30). Poi scegli Allora come per ogni flusso.
Al salvataggio l'app mostra una sola volta l'indirizzo segreto
(https://<tuo-dominio>/hub/in/hin_…) con un esempio per provarlo:
incollalo nel servizio che invia i dati.
- Accetta
POSTin JSON o da un modulo web (application/x-www-form-urlencoded), fino a 64 KB. Un modulo invia testo: numeri e sì/no vengono convertiti. - Vengono presi solo i campi dichiarati; gli altri sono ignorati e non vengono conservati. Le condizioni Solo se valgono anche qui.
- L'indirizzo è la chiave d'accesso: trattalo come una password. Del token App Drive conserva solo un'impronta; se lo perdi o è stato diffuso, Crea un nuovo indirizzo dal flusso: il vecchio smette subito di funzionare. Un flusso spento non accetta chiamate.
- Risponde
202con il numero di consegne create (0 se le condizioni non sono rispettate),404per un indirizzo sconosciuto o un flusso spento.
Rileva i campi da una chiamata di prova. Invece di scrivere i campi a mano, premi il pulsante: l'app mostra un indirizzo da inserire nel servizio (es. Stripe › Sviluppatori › Webhook) e attende il primo evento di prova. Quando arriva, elenca i campi trovati, anche quelli annidati, con un esempio: scegli quelli che ti servono. L'indirizzo resta in ascolto 30 minuti e diventa quello del flusso, quindi non devi cambiarlo nel servizio. La chiamata ricevuta serve anche per Test.
- Percorso nel JSON. Ogni campo può indicare dove si trova nei dati
(es.
data.object.customer_email, oppureitems.0.nameper il primo elemento di un elenco). Senza percorso si usa il campo con quel nome al primo livello. - Campo identificativo (doppioni). Molti servizi ripetono una chiamata
se non ricevono risposta in tempo. Scegli il campo che identifica l'evento
(es.
idper Stripe): una chiamata con lo stesso valore entro 24 ore viene ignorata e riceve200conduplicate: true. - Firma del servizio. Con Stripe, GitHub o Shopify incolla il segreto di
firma: App Drive accetta solo le chiamate firmate davvero dal servizio
(le altre ricevono
401), anche se l'indirizzo finisse in mani sbagliate. Per Stripe la chiamata deve essere recente (5 minuti). Il segreto è conservato cifrato e non viene più mostrato. - Prova. Dopo la prima chiamata, Prova usa l'ultima ricevuta nelle 24 ore per mostrarti cosa verrebbe creato, senza scrivere nulla.
- Chiamate. Il pulsante Chiamate del flusso mostra che cosa è successo a ogni chiamata degli ultimi 7 giorni (le 100 più recenti): accettata, ignorata (condizioni Solo se, doppione) o rifiutata (firma non valida, dati non leggibili, oltre 64 KB, troppe chiamate, flusso spento), con il motivo e i campi dichiarati che mancavano. Mai il contenuto. Se ci sono rifiuti, la scheda del flusso lo segnala.
Assistente
Se attivo sul server e per la tua organizzazione.
L'assistente prepara schede e flussi a partire da una richiesta scritta come la diresti a un collega: "le consegne di oggi e l'incasso del mese", "quando arriva un nuovo contatto, crea un'attività". Panoramica › Assistente (in alto).
- La prima volta va attivato da chi gestisce la Panoramica; si spegne dal menu della stessa pagina. Segue l'interruttore Integrazioni › AI e i limiti di utilizzo dell'AI dell'organizzazione.
- Che cosa vede l'AI: solo la richiesta e i nomi delle piattaforme, delle liste, delle tabelle e dei campi, con il loro tipo. Mai i dati: le anteprime le calcola il tuo spazio dopo la risposta. Non scrivere dati personali nella richiesta.
- Niente cambia senza conferma: ogni scheda proposta ha Aggiungi (per Supabase dopo l'autorizzazione), ogni flusso proposto si apre già compilato in Rivedi, da controllare e salvare.
- Le proposte vengono controllate come quelle fatte a mano: se usano liste o campi che non esistono vengono scartate, e la pagina lo dice. Con i sistemi aziendali collegati, l'assistente conosce anche le loro entità e i tipi dei campi (mai i record): può proporre ad esempio "quanti clienti ho in Business Central" o "per ogni nuovo cliente del gestionale, un'attività nell'app". Le schede sui sistemi chiedono la tua autorizzazione come quelle create a mano.
Agenti AI (MCP)
Se attivo sul server, per chi gestisce la Panoramica.
Un agente AI come Claude (Claude Code, Claude Desktop, Cursor o un agente sviluppato dall'azienda) può usare i dati delle tue piattaforme con il protocollo standard MCP (Model Context Protocol): "quanti ordini sono arrivati oggi?", "elenca i contatti di Milano non ancora richiamati", "aggiungi un'attività per Rossi".
Creare un accesso. Dati e automazioni › Agenti AI (MCP) › Nuovo accesso:
- un nome (es. "Claude di Maria");
- le piattaforme: tutte quelle che puoi aprire, oppure solo alcune;
- che cosa può fare: sola lettura, oppure anche aggiungere nuovi record (elementi nelle liste condivise dei Dati nel cloud, righe nelle tabelle). Mai modifiche né cancellazioni; i flussi collegati partono come per ogni nuovo record;
- il consenso: i dati che l'agente legge vengono inviati al servizio AI che usa (es. Anthropic per Claude), secondo i suoi termini. Verifica che sia ammesso dalle regole della tua organizzazione.
Il token si vede una sola volta, con le istruzioni già pronte:
claude mcp add --transport http appdrive https://<tuo-dominio>/mcp \
--header "Authorization: Bearer adm_…"
oppure, nei file di configurazione (.mcp.json, Cursor e simili):
{"mcpServers": {"appdrive": {"type": "http", "url": "https://<tuo-dominio>/mcp",
"headers": {"Authorization": "Bearer adm_…"}}}}
Che cosa vede l'agente.
| Strumento | Che cosa fa |
|---|---|
list_platforms |
Le piattaforme dell'accesso con liste, tabelle e nomi dei campi (senza valori) |
read_records |
I record di una lista o tabella, i più recenti per primi (fino a 100), con campi e condizioni facoltativi |
get_overview |
Le schede della Panoramica, come testo |
add_record |
Solo con "aggiungere nuovi record": un nuovo record in una lista condivisa o in una tabella |
Da sapere.
- L'accesso agisce come chi l'ha creato: vede solo le piattaforme che quella persona può aprire. Se non gestisce più la Panoramica, o il suo account è sospeso, l'accesso smette di funzionare.
- Nessuna copia: ogni richiesta legge i dati come sono in quel momento. App Drive conserva del token solo un'impronta.
- Revoca in qualsiasi momento: l'agente perde subito l'accesso. Fino a 10 accessi per organizzazione e 120 richieste al minuto per accesso.
- Il registro attività riporta creazione, revoca e ogni nuovo record aggiunto da un agente (dove, non il contenuto).
Sistemi aziendali (gestionali ed ERP)
Chi gestisce la Panoramica può collegare i gestionali dell'organizzazione. La funzione non fa parte dei piani standard: è disponibile nei piani che la includono. In Panoramica › Sistemi aziendali, con Collega un sistema, scegli prima il sistema: App Drive usa le impostazioni proprie di ciascuno.
Microsoft Dynamics 365 Business Central:
- Ambiente (ad esempio
Production, dal Business Central admin center) e società (facoltativa se ce n'è una sola; altrimenti, dopo la prima verifica, App Drive mostra le società disponibili); - Microsoft Entra ID: tenant, ID applicazione (client) e client secret di un'app registrata in Entra ID e autorizzata in Business Central (pagina App Microsoft Entra) con un set di autorizzazioni di sola lettura;
- App Drive usa l'API standard v2.0: clienti, fornitori, articoli, ordini e fatture di vendita e acquisto, con i nomi in parole ("Sales invoices").
Oracle NetSuite:
- ID account (Configurazione › Società › Informazioni società; per il
sandbox, ad esempio
1234567_SB1); - Autenticazione basata su token: consumer key e secret di un'integrazione, token ID e secret di un token di accesso. Il ruolo del token deve avere sola lettura e i permessi REST Web Services e SuiteQL;
- il catalogo mostra i tipi di record (standard e personalizzati); i campi di un record vengono letti quando lo scegli, i dati con SuiteQL.
Intuit QuickBooks Online (se attivo sul server):
- basta il nome: al salvataggio si apre Intuit, dove un amministratore dell'azienda QuickBooks accede e autorizza App Drive. Nessuna password viene inserita in App Drive; il collegamento può essere revocato da QuickBooks o scollegando il sistema (App Drive revoca anche l'autorizzazione su Intuit);
- se il collegamento scade o viene revocato, la riga del sistema mostra Collega QuickBooks per ripeterlo;
- il catalogo mostra clienti, fatture, pagamenti, preventivi, ricevute, prodotti e servizi, fornitori e fatture passive; i flussi possono creare nuovi clienti e fornitori.
Epicor Kinetic:
- Indirizzo del servizio della REST API v2, con la società nel percorso
(ad esempio
https://…/api/v2/odata/EPIC06/Erp.BO.CustomerSvc); - utente e password e una chiave API (Epicor Kinetic › API Key Maintenance), inviati a ogni richiesta.
Microsoft Dynamics 365 Sales e Customer Service (Dataverse):
- Indirizzo dell'ambiente, ad esempio
https://contoso.crm4.dynamics.com(dal Power Platform admin center): App Drive usa la Web API di Dataverse; - Microsoft Entra ID: tenant (ID o dominio), ID applicazione (client) e client secret di un'app registrata in Entra ID, aggiunta all'ambiente come utente applicazione con un ruolo di sola lettura;
- il catalogo mostra le tabelle con i nomi visualizzati; le colonne di una tabella vengono lette quando la scegli. Le colonne a scelta (stato, settore…) mostrano il valore visualizzato ("Attivo", "Commercio"), non il codice.
SAP (S/4HANA cloud e on-premise, ECC con SAP Gateway):
- Indirizzo del servizio OData, senza parametri (ad esempio
https://…/sap/opu/odata/sap/API_BUSINESS_PARTNER). App Drive legge il catalogo del servizio ($metadata) e mostra entità e campi con le etichette di SAP; - Mandante (
sap-client, tre cifre) e lingua (sap-language, due lettere), facoltativi: vuoti, valgono quelli predefiniti del sistema; - Autenticazione: utente tecnico e password, chiave API (ad esempio le
sandbox di SAP Business Accelerator Hub, intestazione
APIKey) oppure OAuth 2.0 client credentials (SAP BTP).
Altro servizio OData: qualsiasi servizio OData v2 o v4 (SAP Business One, SuccessFactors…), con le stesse autenticazioni di SAP.
Le credenziali sono cifrate e non sono più visualizzabili. Salva e verifica controlla subito la connessione; in caso di errore viene indicato il motivo (credenziali rifiutate, indirizzo errato, sistema non raggiungibile…). Entità e dati mostra il catalogo con una ricerca e, per ogni entità, un'anteprima delle prime righe, letta al momento e non conservata.
Se un sistema smette di funzionare. Ogni 6 ore App Drive verifica i sistemi collegati; se uno che funzionava non risponde più come dovrebbe (credenziali cambiate o scadute, collegamento QuickBooks revocato, sistema irraggiungibile), chi lo ha collegato (o gli amministratori) riceve un avviso per e-mail, al massimo uno al giorno, e l'evento è nel registro attività. La verifica periodica mantiene anche attivo il collegamento a QuickBooks.
Nella demo. "Prova la demo" mostra già un sistema aziendale, Business Central (demo), con clienti, articoli e ordini di vendita generati attorno alla data di oggi, e quattro schede nella sezione "ERP" della Panoramica. Non si collega a nulla: i dati sono creati dal server di App Drive. Si possono creare schede e flussi (anche verso il sistema: i record restano in memoria); non si può modificare, scollegare o aggiungere un sistema. Ogni notte tutto torna com'era.
Schede sui sistemi aziendali. Nella Panoramica, con Aggiungi scheda › Schede pronte delle app, ogni sistema collegato compare accanto alle piattaforme: Nuova scheda permette di scegliere un'entità (ad esempio "Business Partner" o "Account") e di creare un numero, una somma o un elenco, come per le altre fonti. Una scheda su un sistema aziendale richiede la tua autorizzazione esplicita, perché i dati letti sono visibili a tutti gli utenti dell'organizzazione che accedono alla Panoramica. I dati sono letti al momento, a pagine, fino a 5.000 record (con una breve memoria di un minuto) e non vengono conservati: numeri e somme sono esatti fino a quella soglia; oltre, la scheda mostra ad esempio "5.000+" e indica su quanti record è calcolata. Se il sistema non risponde, la scheda lo indica senza bloccare la Panoramica.
Aprire i record di una scheda. Toccando una scheda di un sistema
aziendale si aprono i suoi record: quelli che la scheda considera (con lo
stesso filtro e lo stesso ordine), con la ricerca e "Mostra altri". Toccando
un record si vedono i suoi campi. Gli amministratori della Panoramica vedono
tutti i campi del record; gli altri utenti solo quelli già mostrati dalla
scheda. Con la scrittura attiva sul server (FEATURE_HUB_SYSTEMS_WRITE) gli
amministratori possono anche modificare il record (vengono inviati solo
i campi cambiati) o crearne uno con Nuovo record: si scrive subito nel
sistema, solo nei campi che il sistema accetta, e l'operazione è riportata
nel registro attività. Nessuna eliminazione.
Flussi che partono dai sistemi aziendali. In Flussi › Nuovo flusso, in Quando, ogni entità di un sistema collegato è un'origine: Nuovo record in "Customers" di Business Central avvia il flusso per ogni nuovo cliente (ad esempio "nuovo ordine confermato → attività nell'app del magazzino"); con le modifiche attive, anche quando cambia un campo. Il sistema viene letto ogni 5 minuti (fino a 5.000 record, solo i campi usati e la chiave); di ogni record App Drive conserva solo un'impronta cifrata, mai i dati, e i record già presenti alla creazione del flusso non lo avviano. Serve un'autorizzazione esplicita.
Flussi che scrivono nei sistemi aziendali. Con la funzione attiva sul server, in Flussi › Nuovo flusso la destinazione può essere un'entità di un sistema collegato, ad esempio Crea un record in "Sales orders" di Business Central: "nuovo ordine nell'app → ordine di vendita in Business Central", "nuovo contatto → cliente in NetSuite". Si scelgono i campi come per le altre destinazioni (un campo dell'origine, un testo fisso o composto, un numero); i campi che il sistema compila da sé (chiavi, date di modifica) non sono proposti. Il flusso richiede un'autorizzazione esplicita e crea solo nuovi record: nessuna modifica né eliminazione. Se il sistema rifiuta un record (un campo obbligatorio mancante, un valore non valido), il tentativo non viene ripetuto e il motivo compare nel registro dei flussi; se il sistema non risponde, il tentativo viene ripetuto per 24 ore. Sono supportati Business Central, NetSuite, Epicor, Dynamics 365 e gli altri servizi OData; SAP non ancora. Per la scrittura l'utente tecnico (o l'app) del sistema deve avere i permessi di creazione sulle sole entità usate.
Mantenere allineato un record. Se l'origine è una lista dei Dati nel
cloud (con il campo id) o una tabella (con la chiave primaria) e sul
server sono attive anche le modifiche nei flussi, la destinazione su un
sistema offre Crea e mantieni allineato: il primo salvataggio di un
record nell'app crea il record nel sistema; le modifiche successive ai campi
usati dal flusso aggiornano quello stesso record (ad esempio "cliente
nell'app → cliente in Business Central": cambia l'indirizzo nell'app,
cambia in Business Central). App Drive ricorda il collegamento tra i due
record conservando solo un'impronta cifrata del record dell'app e la chiave
cifrata del record nel sistema. I record già presenti vengono creati alla
loro prima modifica; un cambiamento in un campo non usato non invia nulla.
Se il record è stato eliminato nel sistema, la modifica viene rifiutata (con
il motivo nel registro) e non viene ricreato. Nessuna eliminazione viene mai
inviata. Supportati: Business Central, NetSuite, QuickBooks (clienti e
fornitori), Dynamics 365, Epicor e gli altri servizi OData v4. Per
l'aggiornamento l'utente tecnico del sistema deve avere anche il permesso di
modifica sulle entità usate. La scheda del flusso mostra quanti record sono
allineati.
Schede e anteprime sono in sola lettura; si scrive solo con i flussi descritti sopra, se attivi. Si consiglia un utente tecnico dedicato con i soli permessi di lettura necessari. Il sistema deve essere raggiungibile da internet (per i sistemi interni alla rete aziendale è in sviluppo un connettore dedicato). Per SAP, verifica con il tuo referente che l'accesso da applicazioni esterne sia coperto dalle tue licenze. Collegamenti, modifiche, verifiche, anteprime e schede sono riportati nel registro attività.
Schede e dashboard
Una scheda può unire i dati di più sorgenti: le liste dei Dati nel cloud, le tabelle di Supabase, PostgreSQL o Firestore e le entità dei sistemi aziendali, anche di sistemi diversi. Esempi: le categorie di Business Central con i loro prodotti; gli ordini dell'app con la città del cliente presa dal gestionale; il venduto del mese rispetto al mese prima.
Creare una scheda con l'editor completo. Da Crea una scheda › Opzioni avanzate. L'editor ha tre passi e l'anteprima sempre visibile:
-
Dati. Scegli i dati di partenza (una riga per ogni record), poi Collega altri dati (al massimo 4 sorgenti):
- App Drive propone il collegamento dai nomi dei campi (es.
CategoryIDconCategoryID); - scegli Un record per riga (es. per ogni prodotto la sua categoria: i suoi campi si aggiungono alla riga) o Più record per riga (es. per ogni categoria i suoi prodotti);
- l'anteprima dice quante righe trovano il loro record (es. 8 righe su 8). I valori si confrontano senza badare a spazi, maiuscole e zeri iniziali.
Tra le sorgenti ci sono anche le tabelle di valori inseriti a mano (vedi sotto).
- App Drive propone il collegamento dai nomi dei campi (es.
-
Calcola.
- Campi calcolati (fino a 5), con una formula:
a.prezzo - a.costo,round(a.totale * 1.22; 2),days(a.scadenza)(giorni da una data a oggi),if(a.totale > 1000; "grande"; "piccolo"),band(a.totale; 100; 500; 1000)(fasce),concat,year,month,min,max,abs. È un linguaggio chiuso, mai codice eseguito: un valore mancante dà un campo vuoto, non un errore. - Filtri: uguale, diverso, contiene, è uno tra (
a, b, c), maggiore, minore, tra (da;a, anche tra due date), vuoto, è chi guarda (il campo e-mail è quello di chi apre la dashboard: "i miei record") e i periodi: oggi, settimana, mese, ultimi 7, 30 e 90 giorni, trimestre, anno, mese scorso, anno scorso, da oggi in poi, prima di oggi. - Raggruppa per un campo; se è una data, per giorno, settimana, mese, trimestre o anno (i periodi senza dati compaiono vuoti, così l'andamento non salta). Colonne: un secondo raggruppamento, per la tabella pivot e i grafici a più serie (es. agenti × mese).
- Totali (fino a 6): conteggio, somma, media, minimo, massimo, valori distinti, rapporto % tra due totali (es. margine su venduto) e quota sul totale %.
- Ordinamento, la data che segue il periodo della dashboard e quale campo segue ciascun filtro della dashboard.
- Campi calcolati (fino a 5), con una formula:
-
Mostra.
- Numero, con il confronto con il periodo precedente, l'andamento degli ultimi sei mesi e le soglie (verde, giallo, rosso: rosso oltre il giallo se più alto è peggio, sotto se più basso è peggio).
- Obiettivo (barra verso un valore).
- Lista e Gruppi (ogni gruppo con i suoi record sotto).
- Tabella (fino a 6 colonne, ordinabile toccando l'intestazione, totali in fondo, righe colorate secondo le soglie).
- Pivot (righe × colonne con i totali).
- Grafico: barre, barre affiancate o impilate, linee, area, torta; più serie con Altri valori o con le colonne scelte in Calcola.
- Formato dei numeri per ogni totale: valuta (€), percentuale, intero, due decimali, compatto (12,4k).
- Larghezza nella dashboard (1, 2 o 3 colonne) e scheda alta.
Una scheda può essere anche una nota di testo (grassetto, elenchi con
-, titoli con#) senza dati.
Serve l'autorizzazione alla lettura dei campi usati, mostrati insieme a chi
vede la scheda. Toccando una scheda si aprono le sue righe, con la ricerca,
coerenti con la scheda: in alto il grafico o il numero, intero; per una
scheda a gruppi, ogni gruppo con tutti i suoi record sotto. Toccando
una barra, una fetta o un gruppo (nella scheda o nella pagina delle
righe) restano solo le righe di quel gruppo (drill-down), con in alto
Solo: … e la × per tornare a tutte. Dalle righe, Esporta in CSV (separato da ;, si
apre in Excel; per una scheda a gruppi, una riga per record con i valori del
suo gruppo). Nessun dato viene copiato: le sorgenti sono lette a ogni
apertura (con una memoria di un minuto, fino a 5.000 record per sorgente).
Dashboard. Dashboard › ▾ accanto al nome: oltre alla Panoramica, più dashboard per reparto o per ruolo, ognuna con nome, icona e chi la vede: tutta l'organizzazione, i team scelti o solo chi l'ha creata.
- Periodo, il primo pulsante in alto (Tutto, Oggi, Settimana, Mese, 30 giorni, Trimestre, Anno, Anno scorso, Dal… al…): vale per tutte le schede che hanno una data, con il confronto con il periodo precedente. Accanto, un pulsante per ogni filtro; un filtro scelto si toglie con la ×.
- Filtri in alto (fino a 4, es. Cliente, Agente, Zona): si definiscono in Modifica dashboard; in ogni scheda si sceglie quale campo segue ciascun filtro. Scegliendo un valore, tutte le schede che lo seguono si filtrano.
- Ogni scheda occupa 1, 2 o 3 colonne della griglia; le sezioni (… › Nuova sezione) separano i gruppi di schede.
- Con … su ogni scheda la si modifica, la si duplica, se ne cambia la larghezza, la si sposta o la si elimina; … › Organizza riordina le schede trascinandole; … › Duplica la dashboard ne crea una copia visibile solo a te.
Ognuno vede una scheda solo se può aprire le piattaforme da cui legge; i dati dei sistemi aziendali secondo il piano dell'organizzazione.
Tabelle di valori. Dati e automazioni › Tabelle di valori: piccole tabelle per i valori che non stanno in nessun sistema, come gli obiettivi per agente, il budget mensile o un listino (fino a 12 colonne di testo, numero o data e 500 righe). Le righe si scrivono o si incollano da Excel. Si usano come sorgente di una scheda e si collegano agli altri dati con un campo comune (es. obiettivo per agente accanto al venduto per agente). I valori sono conservati cifrati; una tabella usata da una scheda non si può eliminare.
Schede, dashboard e tabelle le crea chi gestisce la Panoramica; ogni
creazione, modifica, apertura ed esportazione delle righe è nel registro
attività. Funzione attivabile con FEATURE_HUB_VIEWS.
Dati preparati e misure. Dati e automazioni › Dati preparati: i dati si uniscono una volta sola, con un nome, e poi ogni scheda li usa come una sorgente qualsiasi. Per esempio "Ordini con cliente" sono gli ordini del gestionale, ognuno con la città e l'agente del suo cliente, senza gli annullati.
- Dati: si parte da una sorgente, una riga per ogni suo record, e con Aggiungi dati da un'altra sorgente si aggiunge a ogni riga il record collegato. Se il gestionale dichiara la relazione (Business Central, SAP, Dynamics), il collegamento è quello e porta il segno dal gestionale; altrimenti è proposto dai nomi dei campi. Accanto si vede quante righe trovano il loro record e quante ne trovano più di uno: in quel caso il campo non è univoco e il totale sarebbe sbagliato.
- Misure: i numeri che contano, definiti una volta. Una misura è Quanti sono, Somma, Media, Minimo, Massimo, Valori diversi di un campo, oppure una Percentuale o un Diviso fra due misure (es. Ordine medio = Venduto diviso Ordini), e ha il suo formato (euro, %, intero). Le schede la usano per nome: se la correggi, tutte si aggiornano. Una misura usata da una scheda non si può togliere.
- Campi calcolati (es. Netto = Totale / 1,22) e Solo se (es. senza gli annullati) valgono per tutte le schede.
- Anteprima: le misure con i loro valori e la tabella delle righe, sempre in vista. Toccando il nome di una colonna lo si cambia.
Una misura può anche essere una Formula di altre misure (es. Margine % = (Ricavi − Costi) / Ricavi × 100): si scrive toccando le misure da inserire.
In Crea una scheda i dati preparati compaiono per primi, e le schede
proposte usano le loro misure ("Venduto per mese", "Venduto per città del
cliente"). I dati restano nelle loro sorgenti e si leggono a ogni
apertura, come per le schede; dati preparati usati da una scheda non si
possono eliminare. Funzione attivabile con FEATURE_HUB_DATASETS.
Storico delle misure. Nei dati preparati, Storico › Conserva lo
storico delle misure: ogni giorno si conservano i valori delle misure (il
venduto, gli ordini, la giacenza, il saldo dei clienti), mai le righe, cifrati
e per il tempo scelto (3 mesi, 1 anno, 2 anni). Così si vede come cambiano nel
tempo anche i numeri che il gestionale non data, come giacenze e saldi. Il
valore di oggi è registrato subito; i giorni passati non si possono
ricostruire. In Crea una scheda compare "… · storico", con le misure
giorno per giorno. Spegnendo lo storico, i valori registrati sono cancellati
subito. Funzione attivabile con FEATURE_HUB_HISTORY.
Per sviluppatori: manifesto, script e webhook
Chi sviluppa le piattaforme può anche dichiarare schede, eventi e azioni in
un file appdrive-hub.json accanto a index.html (le schede leggono i Dati
nel cloud):
{
"version": 1,
"cards": {
"ordini-oggi": {
"title": {"it": "Ordini di oggi", "en": "Today's orders"},
"source": "cloud:ordini",
"template": "metric",
"where": {"field": "consegna", "is": "today"},
"label": {"it": "ordini", "en": "orders"}
},
"prossime-consegne": {
"title": "Prossime consegne",
"source": "cloud:ordini",
"template": "list",
"where": {"field": "consegna", "is": "future"},
"sort": {"field": "consegna"},
"item": {"title": "cliente", "detail": "consegna"},
"limit": 5
}
}
}
| Campo | Significato |
|---|---|
source |
cloud: seguito dalla chiave con cui l'applicazione salva i dati nel browser (localStorage). Il valore deve essere JSON: una lista di oggetti, un oggetto di oggetti o un numero. |
path |
Facoltativo: dove si trova la lista dentro il JSON ("ordini", "dati.ordini"). |
template |
metric (un numero) o list (una breve lista). |
where |
Facoltativo: {"field": "...", "is": "today"} (anche week, month, future, past) per le date, oppure {"field": "...", "equals": "aperto"}. |
sum |
Per metric: somma questo campo invece di contare gli elementi. |
sort, limit |
Per list: ordine ("desc": true per il contrario) e righe mostrate, da 1 a 10. |
item |
Per list: il campo del titolo e, se vuoi, quello del dettaglio. |
title, label |
Testi in un'unica lingua o {"it": ..., "en": ...}. |
- Al massimo 12 schede per piattaforma; date e numeri sono mostrati nella lingua dell'app, le date come nell'ora italiana.
- Il file vale per la versione online: con una nuova versione o un ripristino le schede seguono quella versione.
- Gli errori del file compaiono nella scelta delle schede, alla voce della piattaforma; la piattaforma continua a funzionare come prima.
- Eventi e azioni (
events,actions, campistring,number,boolean,date) compaiono nei flussi come "(sviluppatori)". La piattaforma include lo script e li usa nel codice; un'azione può anche andare subito a un webhook https del back end, firmato come i webhook delle segnalazioni (x-appdrive-signature; il segreto si vede una volta sola). Le piattaforme devono richiedere il login.
<script src="/__appdrive/hub.js"></script>
// Piattaforma di partenza: quando succede, lo dice (esce solo ciò che i flussi usano).
AppDrive.emit('ordine.creato', { numero: 1042, cliente: 'Rossi', consegna: '2026-10-21' });
// Piattaforma di arrivo: che cosa fare quando arriva l'azione.
AppDrive.on('attivita.crea', async (dati, info) => {
// info.id è unico: serve a non creare doppioni.
await salvaAttivita({ ...dati, rif: info.id });
});
Se la funzione dà errore la consegna viene ritentata più tardi (al massimo
5 volte). Senza flussi attivi, emit non invia nulla.
Agenzie partner e clienti
Riservato alle agenzie partner, previa attivazione.
Come diventare partner. Se la tua organizzazione usa già App Drive, un amministratore apre il menu ⋯ › Diventa partner (dove la funzione è disponibile) e:
- inserisce i dati dell'agenzia: ragione sociale, partita IVA dell'Unione europea, sede, referente ed e-mail di fatturazione;
- legge il contratto di partnership, lo accetta e firma con nome e cognome;
- preme Firma e diventa partner: l'attivazione è immediata, sul piano Partner Start (vedi Piani e abbonamento). Durante la beta non si paga nulla.
La partita IVA è controllata subito nel formato e poi sul servizio europeo VIES; se VIES non risponde la verifica si ripete ogni giorno, senza bloccare nulla. Lo stato è in Clienti › Profilo partner (icona in alto), con il contratto firmato. Il collegamento a Stripe per incassare dai clienti si fa dopo, solo quando serve (Clienti › Incassi dai clienti): il primo cliente si crea anche senza.
Da lì l'organizzazione può tornare cliente semplice, purché non abbia spazi cliente né un abbonamento Partner Start attivo. Somio può sospendere la partnership (i clienti esistenti continuano a funzionare, ma non se ne possono aggiungere di nuovi né chiedere nuovi pagamenti) o revocarla, sempre indicando il motivo, che compare in Profilo partner.
Se non usi ancora App Drive, richiedi l'adesione dal modulo della pagina principale scegliendo Programma partner (agenzie), oppure scrivi a tickets@somio.it.
Dal menu ⋯ › Clienti l'agenzia gestisce i propri clienti in autonomia:
- Aggiungi cliente: indica il nome ed eventualmente l'e-mail del referente. Il cliente dispone immediatamente di uno spazio isolato, con il logo e il colore dell'agenzia se l'opzione "Con il mio marchio" è attiva. L'agenzia ne è amministratore (accesso dal selettore delle organizzazioni o con Unisciti); il referente riceve un invito come amministratore.
- Per ogni cliente sono riportati app, utenti, costo stimato mensile e, impostando il tuo ricarico, il prezzo al cliente.
- È possibile sospendere, riattivare, rinominare un cliente, invitare ulteriori amministratori e rimuovere un cliente privo di piattaforme.
Modelli di cliente. Dal menu di un cliente già configurato, Salva come modello memorizza limiti e permessi, contratto e canone e pagamenti una tantum. In Aggiungi cliente, Modello di partenza crea il nuovo cliente già configurato allo stesso modo.
Incassi direttamente in App Drive. Se previsto dall'attivazione, in Incassi dai clienti l'agenzia collega il proprio account Stripe (una procedura guidata da Stripe, una volta sola) e redige i propri Contratti; per ciascun cliente configura quindi Contratto e canone e Pagamenti una tantum (ad esempio l'attivazione). Il cliente deve firmare il contratto e saldare gli importi prima di accedere alle applicazioni; in caso di mancato pagamento l'accesso viene sospeso automaticamente. Gli incassi sono accreditati sul conto Stripe dell'agenzia; le firme sono consultabili in Firme.
Per ogni cliente l'agenzia stabilisce inoltre Limiti e permessi: il numero di piattaforme pubblicabili dal cliente (con 0 pubblica solo l'agenzia), il numero massimo di utenti e se il cliente può invitare nuovi utenti, modificare la personalizzazione o configurare le integrazioni. I nuovi clienti nascono con personalizzazione e integrazioni gestite dall'agenzia. I limiti sono riportati nel contratto che il cliente firma e il cliente visualizza, sotto il proprio nome, quello dell'agenzia.
La fatturazione è centralizzata: le applicazioni dei clienti sono incluse nell'abbonamento "A consumo" o "Partner Start" dell'agenzia (vedi Piani e abbonamento › Partner Start). I clienti non visualizzano la sezione Abbonamento; in caso di mancato pagamento da parte dell'agenzia, i clienti vengono sospesi insieme a essa e riattivati al saldo.
Report mensile ai clienti
Per le agenzie partner, dove disponibile.
Il 1° di ogni mese App Drive prepara per ogni cliente il report del mese appena finito, con il marchio dell'agenzia (nome, colore e logo; mai quello di App Drive): piattaforme, aperture (con il confronto sul mese precedente), dispositivi, nuove versioni, errori, segnalazioni e problemi risolti. Contiene solo totali: nessun nome o indirizzo e-mail di chi usa le piattaforme.
Da ⋯ › Report mensili l'agenzia:
- apre il report di ogni cliente, aggiunge una nota (in cima) e lo invia, oppure sceglie Non inviare questo mese;
- da Impostazioni per cliente spegne il report, lo fa inviare da solo il 1° del mese o sceglie l'e-mail a cui mandarlo (altrimenti va agli amministratori del cliente);
- vede se il cliente l'ha letto e il suo commento.
Il cliente riceve un'e-mail con il marchio dell'agenzia e il PDF allegato, e trova i report in ⋯ › Report mensili, dove può premere Tutto chiaro e lasciare un commento all'agenzia.
Errori e utilizzo con l'AI
Statistiche di utilizzo con tutti i piani; errori, problemi e AI con i piani Pro e "A consumo". Per le applicazioni ospitate da App Drive.
App Drive monitora le applicazioni automaticamente, senza installazioni né modifiche al codice. Per ogni applicazione ospitata rileva le aperture e raccoglie gli errori generati dalle pagine nel browser.
Menu della piattaforma › Errori e utilizzo:
- Aperture, visitatori e utenti con accesso negli ultimi 7, 14 o 30 giorni, con andamento giornaliero.
- Errori e visitatori senza errori (la quota di visitatori che non ha riscontrato errori): un valore inferiore al 95% indica un problema da risolvere.
- Problemi: con Analizza con l'AI gli errori e le segnalazioni ("Segnala") vengono aggregati in problemi, con gravità (critico, alto, medio, basso), causa probabile e interventi consigliati.
- Correggi: per ogni problema l'AI predispone la correzione.
- Se il codice risiede su GitHub, la applica su un nuovo branch e apre la pull request: dopo la revisione e il merge, la build si avvia automaticamente.
- In alternativa fornisce un prompt da utilizzare nello strumento con cui è stata sviluppata l'applicazione (Lovable, Bolt, Cursor, v0).
- Verifica: alla pubblicazione della nuova versione il problema passa In verifica. Se l'errore non si ripresenta per due giorni il problema viene chiuso automaticamente; in caso contrario viene riaperto con l'indicazione Tornato dopo la correzione.
- Utenti attivi: per le applicazioni con login sono indicati gli utenti e la frequenza di utilizzo.
Per impostazione predefinita errori, segnalazioni e utilizzo sono visibili al proprietario e a chi può modificare la piattaforma. In Condivisione e accessi › Monitoraggio il proprietario può attivare Condividi errori e utilizzo: anche le persone e i team con "Può vedere" consultano la dashboard, in sola lettura (senza analisi AI, correzioni o cambi di stato).
Dal menu ⋯ › Stato delle app è disponibile il confronto tra tutte le applicazioni: in evidenza quelle con problemi urgenti, con aperture, errori e andamento delle ultime due settimane. In presenza di nuovi errori il menu ⋯ mostra un indicatore e la voce ne riporta il numero: selezionandola si accede agli errori (direttamente a quelli dell'applicazione, se è una sola) e il contatore si azzera.
Nel menu di ogni applicazione, Errori e utilizzo e Segnalazioni dal sito (SDK) sono raggruppati nella sezione Monitoraggio.
Diagnosi della build
Se una build da GitHub non va a buon fine, in GitHub e pubblicazione accanto alla build compare il comando Diagnosi: l'AI analizza il log e illustra la causa e le azioni consigliate. Se manca una variabile di build, è possibile aggiungerla direttamente (Aggiungi seguito dal nome della variabile) e confermare con Salva e ricompila; se è necessario modificare il codice, viene fornito il prompt per lo strumento di sviluppo e il comando Correggi su GitHub: l'AI prepara la modifica su un ramo e apre la pagina della pull request, da accettare con un clic.
Torna alla versione precedente
Se dopo una nuova versione gli errori aumentano nettamente rispetto alla precedente, in Errori e utilizzo compare l'avviso con Torna alla versione N: la versione precedente torna online subito, per tutti, mentre si corregge. La versione attuale resta salvata.
Limiti dell'AI
Per tenere sotto controllo i costi, le richieste all'AI (analisi degli errori, diagnosi, correzioni, istruzioni sui segreti) hanno un limite mensile per organizzazione e uno giornaliero per persona. Le risposte già pronte, come la diagnosi di una build già analizzata, non contano. L'utilizzo del mese è visibile in Integrazioni › AI, insieme alle richieste che hai fatto oggi, e il conteggio si azzera il primo del mese.
Chi gestisce il server trova in Server › Organizzazioni il riquadro AI questo mese: richieste e token usati su tutto il server, con i limiti predefiniti. Accanto a ogni organizzazione compare il suo utilizzo; dal pulsante ⋯ › Limite AI mensile si assegna un limite diverso (vuoto per tornare al predefinito, 0 per nessun limite).
L'AI e i dati
L'AI utilizzata è Claude di Anthropic. Riceve log, errori e (per le pull request) i file del progetto esclusivamente su richiesta esplicita; i valori delle variabili di build non lasciano mai App Drive. Gli amministratori possono disattivarla per l'intera organizzazione in Integrazioni › AI. Gli errori sono conservati per 40 giorni, le segnalazioni per 90; i visitatori sono anonimi (un identificativo casuale del browser) e gli utenti sono identificati solo nelle applicazioni con login.
Segnalazioni e integrazioni
Disponibile con il piano Pro.
Il pulsante Segnala
Su ogni piattaforma, nella barra di App Drive esterna alla piattaforma stessa, è disponibile il pulsante Segnala. L'utente seleziona Bug o Modifica, descrive il caso e conferma con Invia. App Drive aggiunge automaticamente piattaforma, pagina, autore, schermo e browser, rendendo superflui screenshot e descrizioni manuali del contesto.

Destinazione delle segnalazioni
In Integrazioni (amministratori) inserisci l'indirizzo di un webhook e seleziona Invia una prova:
| Strumento | Configurazione |
|---|---|
| Slack | Crea un Incoming Webhook per il canale e inseriscine l'indirizzo: il messaggio arriva già formattato. |
| Zapier o Make | Utilizza Webhooks by Zapier – Catch Hook o il modulo Custom webhook, quindi inoltra la segnalazione alla destinazione desiderata: Trello, Linear, Jira, e-mail o fogli di calcolo. |
| n8n o un server dedicato | Riceve un JSON con kind, message, app, user e context, firmato con il segreto indicato nella pagina. |
In assenza di webhook, le segnalazioni sono inviate per e-mail all'autore della pubblicazione. Se un invio non riesce, App Drive lo ritenta per alcuni secondi e ripiega quindi sull'e-mail; l'esito dell'ultimo invio è riportato in Integrazioni.

Piani e abbonamento
| Base | Pro | A consumo | |
|---|---|---|---|
| Prezzo (beta, IVA esclusa) | 99 €/mese | 249 €/mese | 0,47 € per piattaforma al giorno, senza canone |
| Piattaforme per organizzazione | fino a 7 | fino a 17 | senza limite prefissato |
| Spazio per organizzazione | 1 GB | 3 GB | 10 GB |
| Portale con marchio aziendale, hosting, GitHub e .zip | ✓ | ✓ | ✓ |
| Applicazioni da indirizzo, Vercel e Netlify | ✓ | ✓ | ✓ |
| Utenti, team, condivisione, permessi, più organizzazioni | ✓ | ✓ | ✓ |
| Pulsante Segnala e webhook | — | ✓ | ✓ |
| Dati nel cloud | — | ✓ | ✓ |
| Aperture e utilizzo di ogni applicazione | ✓ | ✓ | ✓ |
| Diagnosi con l'AI di build ed errori, con correzione | — | ✓ | ✓ |
Nessun costo per utente. Il prezzo della beta resta garantito per le aziende che aderiscono ora.
A consumo
Indicato per un numero ridotto di applicazioni o per progetti temporanei: nessun canone, si pagano le piattaforme attive giorno per giorno, con fattura a fine mese. Il conteggio giornaliero comprende tutte le piattaforme dell'organizzazione (anche quelle archiviate, che restano online per gli altri utenti); eliminata una piattaforma, l'addebito cessa dal giorno successivo. Le funzionalità sono quelle del piano Pro. In Abbonamento sono riportati il prezzo per piattaforma al giorno, le piattaforme attive e la stima del periodo e quella a fine mese, se nulla cambia; l'importo esatto è indicato nella fattura di Stripe. Una piattaforma attiva tutto il mese costa circa 14 € (0,47 € × 30 giorni), calcolati a giorni.
Piano su misura
Un'organizzazione può avere un piano concordato, con funzioni e limiti propri: le funzioni si attivano appena il piano è assegnato. In Abbonamento il piano compare con il suo nome e, a seconda dell'accordo:
- con un prezzo suo: il piano è l'unico proposto, con il prezzo al mese o all'anno; Abbonati apre la pagina di pagamento di Stripe, come per gli altri piani (versione web);
- pagamento concordato: nulla da pagare dall'app (bonifico o fattura), nessun avviso e nessuna sospensione;
- come Base e Pro: si sceglie e si paga Base o Pro come sempre; il piano su misura cambia solo funzioni e limiti.
Partner Start
Riservato alle agenzie partner: un canone fisso che include alcune piattaforme (contando anche quelle dei clienti) e un numero di spazi cliente; le piattaforme oltre quelle incluse si pagano a consumo, circa 14 € per app al mese, calcolati a giorni. Le funzionalità sono quelle del piano Pro. Canone e quantità incluse sono indicati in Abbonamento e possono variare nel tempo.
- Prima di scegliere, in Abbonamento è indicato quanto si pagherebbe al mese con le piattaforme di oggi; dopo la scelta, la stima del periodo e quella a fine mese.
- Raggiunto il numero di spazi cliente inclusi non se ne possono creare altri: per averne di più si passa ad A consumo, senza limite.
- Il passaggio tra Partner Start e gli altri piani non comporta perdita di dati: piattaforme, clienti e impostazioni restano invariati.
- Nel pannello Clienti il costo stimato al mese comprende il canone e le sole piattaforme oltre quelle incluse.
Durante e dopo la beta
- Fino al 31 gennaio 2027 App Drive è utilizzabile senza abbonamento, con tutte le funzionalità del piano Pro.
- 30 giorni prima della scadenza gli amministratori ricevono un avviso.
- Dopo il 31 gennaio l'amministratore viene indirizzato in Abbonamento per la scelta del piano; per 7 giorni l'app continua a funzionare regolarmente. Trascorso tale periodo senza abbonamento, l'organizzazione viene sospesa: l'accesso è bloccato e le piattaforme vanno offline, ma nessun dato viene eliminato.
Gli avvisi sono mostrati ai soli amministratori, gli unici abilitati al pagamento.
Pagamento e gestione dell'abbonamento
In Abbonamento (amministratori, nel browser) si sceglie tra Base, Pro e A consumo e si procede al pagamento tramite Stripe: App Drive non ha accesso ai dati della carta. Da Carta, fatture e disdetta si aggiornano il metodo di pagamento, si scaricano le ricevute o si disdice l'abbonamento. Il cambio di piano è possibile in qualsiasi momento: la differenza viene riportata nella fattura successiva.
Se un pagamento non va a buon fine, Stripe lo ritenta per alcuni giorni e le piattaforme restano online. Se l'abbonamento resta insoluto o viene disdetto, l'organizzazione viene sospesa. Per riattivarla, seleziona Paga e riattiva dalla pagina di accesso: al completamento del pagamento tutto torna disponibile.
Il passaggio da Pro a Base non comporta la cancellazione di dati: impedisce soltanto la creazione di nuove piattaforme e i caricamenti oltre i limiti del piano Base.

Nelle app per iPhone e Android è visibile solo lo stato dell'abbonamento: i pagamenti si effettuano dal browser.
Account
In Account (nel browser in basso a sinistra; su smartphone la prima voce del menu ⋯):
- spazio e piattaforme utilizzati rispetto ai limiti;
- cambio password, che chiude le sessioni attive sugli altri dispositivi;
- verifica in due passaggi (facoltativa): vedi sotto;
- lingua: automatica (quella del dispositivo), italiano o inglese;
- le mie organizzazioni, per cambiare organizzazione, accedere con un codice o uscirne;
- elimina account: cancella l'account e le relative piattaforme in tutte le organizzazioni;
- avvisi per e-mail: al proprietario di un'app arrivano build non riuscite, errori mai visti prima, funzioni Supabase non pubblicate e migrazioni del database da applicare, con il collegamento ad App Drive; ogni evento una sola volta. Si disattivano dallo stesso interruttore; Invia un'e-mail di prova mostra come arrivano. Le e-mail hanno il marchio di App Drive o, se l'organizzazione ha un aspetto proprio, il suo nome, colore e logo.
Verifica in due passaggi
Facoltativa, per ogni account: dopo la password l'accesso chiede anche un codice di 6 cifre che cambia ogni 30 secondi, generato da un'app sul telefono (Google Authenticator, Microsoft Authenticator, 1Password, Authy…). Chi ruba la password da sola non entra.
- Account › Verifica in due passaggi › Attiva (o Attiva nell'invito in cima alla home, che compare finché non è attiva; Più tardi lo nasconde fino alla prossima apertura dell'app).
- Nell'app di autenticazione scegli Aggiungi e inquadra il codice QR (o inserisci la chiave a mano).
- Scrivi il codice che l'app mostra e premi Verifica e attiva.
- Salva i 10 codici di recupero (es. nel gestore delle password): ognuno vale una volta al posto del codice dell'app, se perdi il telefono. Non vengono più mostrati; dalla stessa pagina se ne creano di nuovi.
Vale per l'app, le pagine di accesso delle piattaforme private e l'accesso unico (OIDC); per lo stesso account in più organizzazioni basta attivarla una volta. Con la verifica attiva il link di accesso via e-mail non viene inviato e, per entrare in un'altra organizzazione, il codice d'invito si inserisce dall'app dopo l'accesso.
- Telefono perso, senza codici di recupero: un amministratore della tua organizzazione (o il proprietario del server, se l'account è in più organizzazioni) la disattiva da Utenti e inviti › utente › Disattiva la verifica in due passaggi, dopo aver verificato che sei davvero tu.
- Per disattivarla servono la password e un codice.
- Il codice non funziona? Controlla che l'ora del telefono sia automatica. Dopo 5 codici errati bisogna aspettare 15 minuti.
- Nessun servizio esterno: i codici sono calcolati dal server; la chiave è conservata cifrata e i codici di recupero solo come impronta.
I tuoi dati: esportazione, backup, stato del servizio
Esporta i dati (amministratori, menu ⋯ › Esporta i dati, dove disponibile): un file zip con persone e ruoli, team, piattaforme con le loro versioni (e lo zip della versione online, pronto da pubblicare altrove), dati nel cloud, segnalazioni, contratti firmati e registro attività. Non contiene password, chiavi o segreti. Sul computer il download parte da solo; sul telefono si condivide un link da aprire nel browser, valido 30 minuti. Si può esportare una volta ogni 10 minuti e ogni esportazione compare nel registro attività. Le agenzie partner esportano i dati di ogni cliente da Clienti › cliente › Esporta i dati.
Backup. Ogni notte database e file vengono copiati sul server e, cifrati, in un secondo data center della stessa regione (UE o USA): 30 copie giornaliere e 12 mensili. L'integrità è verificata ogni settimana e una prova di ripristino completa è fatta ogni mese.
Stato del servizio. Un servizio esterno controlla ogni minuto che App Drive funzioni e la pagina di stato lo mostra in tempo reale; per disservizi e manutenzioni programmate gli amministratori ricevono un'e-mail. Impegni di disponibilità, tempi di risposta del supporto e uscita dal servizio sono in Continuità e SLA.
Sicurezza e privacy
- Due regioni separate: data center nell'Unione europea o negli Stati Uniti, scelta alla registrazione; i dati restano nella regione scelta.
- Connessioni cifrate; le password sono archiviate esclusivamente in forma non reversibile e non sono leggibili da nessuno, nemmeno da Somio.
- Organizzazioni isolate tra loro.
- Piattaforme riservate accessibili ai soli utenti autorizzati.
- Nessuna pubblicità, profilazione o strumento di tracciamento.
- Accordo sul trattamento dei dati (art. 28 GDPR) disponibile per l'azienda e per i suoi clienti: richiedilo a tickets@somio.it.
I dettagli sono riportati nell'informativa privacy.
Domande frequenti
Come si invita direttamente in un team una persona esterna all'organizzazione? Dal team seleziona Aggiungi membro › Aggiungi tramite e-mail: se l'organizzazione consente agli admin dei team di invitare, App Drive genera un codice che registra la persona e la inserisce direttamente nel team. In caso contrario, un amministratore la invita prima da Utenti e inviti e successivamente la si aggiunge al team.
Ogni utente deve appartenere a un'organizzazione? Sì: ogni account appartiene almeno all'organizzazione del codice di invito. Con lo stesso account è poi possibile accedere ad altre organizzazioni.
I clienti dell'agenzia devono sottoscrivere un abbonamento? No: il prezzo è per agenzia, con clienti illimitati. L'agenzia paga l'abbonamento della propria organizzazione; le organizzazioni dei clienti attivate per suo conto non ricevono avvisi di pagamento.
È possibile pubblicare un'applicazione con backend? App Drive ospita il frontend (sito statico). Il backend resta su Supabase, Firebase o su un server dedicato; le chiavi pubbliche si forniscono tramite le variabili di build.
Se è sufficiente salvare i dati che l'applicazione conserva nel browser, sono disponibili i dati nel cloud.
Cosa visualizza chi apre il link di una piattaforma riservata? Una pagina di accesso con il marchio dell'organizzazione. Accedono soltanto gli utenti autorizzati: l'autore della pubblicazione e le persone e i team con cui la piattaforma è condivisa.
Un'applicazione su Vercel (o Lovable) è stata resa riservata: perché l'indirizzo del sito resta accessibile? Perché il sito non è ospitato da App Drive: il login protegge il link App Drive, non l'indirizzo diretto. Per una protezione completa utilizza Ospita su App Drive.
Un'applicazione sviluppata con l'AI perde i dati al cambio di dispositivo. Come si risolve? Attivando i dati nel cloud (piano Pro): senza modificare l'applicazione, i dati vengono conservati su App Drive.
Cosa accade ai dati in caso di mancato pagamento? L'organizzazione viene sospesa senza alcuna cancellazione: al pagamento tutto torna disponibile. Per richiedere la cancellazione completa dei dati, scrivi a tickets@somio.it.
Le piattaforme funzionano anche offline? Su smartphone sì, se la piattaforma è stata resa disponibile offline. I dati che la piattaforma recupera da un proprio server richiedono comunque la connessione.
Assistenza Scrivi a tickets@somio.it.