Salvo che il contratto dica il contrario, i workflow sviluppati dall'agenzia probabilmente non sono tuoi — e questo conta molto meno di quanto sembri. Ciò che determina se puoi cambiare fornitore senza soffrire non è il codice: è a nome di chi è intestato l'account Meta dove vive il tuo numero WhatsApp, chi possiede la chiave di cifratura di n8n e di chi sono le API key che i tuoi flussi consumano. Un JSON di n8n si rifà in poche ore. Un numero WhatsApp con due anni di storico, no. Prima di firmare, quello che va negoziato è l'accesso e l'uscita, non la proprietà intellettuale.
Una precisazione: questa non è consulenza legale e StriqTech non vende servizi legali. È ciò che si rompe nella pratica quando una PMI cambia fornitore di automazione, e cosa chiedere perché non si rompa.
I cinque asset in discussione, ordinati per quanto costa perderli
Non esiste un unico "questo è mio": ci sono cinque cose diverse con regole diverse.
- Il numero WhatsApp e l'account Meta in cui è registrato. Irrecuperabile senza collaborazione, e l'unica voce dell'elenco che non si può ricomprare.
- Lo storico delle conversazioni e la base contatti. Se si perde, è perso.
- Gli account e le API key che i tuoi flussi consumano (OpenAI, Google, Tiendanube, Mercado Libre — queste ultime due sono le piattaforme di e-commerce e marketplace dominanti in America Latina — più il tuo ERP). Recuperabili, ma se sono intestati al fornitore te ne accorgi il giorno in cui vengono interrotti.
- Il corpus del bot: i documenti con cui risponde. L'hai prodotto tu e quasi mai lo hai in un formato utilizzabile.
- I workflow. L'unica cosa di cui parlano i contratti, e la più economica da ricostruire.
La discussione tipica parte dal punto 5 e non arriva mai al punto 1.
Il numero WhatsApp è l'asset che non si può rifare
Se usi l'API ufficiale di Meta (Cloud API), il tuo numero non vive da solo: è registrato in una WABA (WhatsApp Business Account), e quella WABA vive dentro un Business Manager, oggi chiamato portafoglio aziendale. La domanda da fare, testuale, è: il Business Manager è intestato alla mia azienda o all'agenzia?
Se il portafoglio è tuo e l'agenzia entra come partner, il giorno in cui te ne vai revochi il suo accesso dalle Impostazioni aziendali e il numero non si muove: cinque minuti. Se il portafoglio è dell'agenzia, il numero lo paghi tu e la linea è intestata a te presso l'operatore, ma l'asset digitale vive dentro una struttura che non controlli.
Con la collaborazione del fornitore se ne esce con una migrazione della WABA o del numero tra portafogli: si coordina, serve il PIN di verifica in due passaggi e di solito si risolve in giorni senza interrompere il servizio. Verifica la procedura in vigore nel momento in cui la esegui, perché Meta la modifica spesso, e metti in conto che i template approvati potrebbero dover essere ricaricati dall'altra parte.
Senza collaborazione non c'è nessun pulsante: resta un caso di assistenza Meta con documentazione societaria, oppure un numero nuovo. E un numero nuovo non significa solo cambiare le insegne — il livello di messaggistica riparte dal basso, il livello iniziale è di solito di 250 destinatari unici ogni 24 ore e sale in base al comportamento nell'arco di settimane. Perdi la reputazione accumulata, non un dato di contatto.
Se il tuo bot gira su Evolution API o su qualsiasi ponte non ufficiale, non c'è nessuna WABA: c'è una sessione di WhatsApp Web legata a una SIM. La SIM è tua, ma lo stato della sessione, i contatti sincronizzati e lo storico stanno nell'istanza del fornitore, e quel dump va richiesto per contratto.
I workflow di n8n sono JSON, ma senza la chiave di cifratura sono mezzo JSON
Un workflow di n8n si esporta dall'interfaccia, dall'API pubblica con un GET /api/v1/workflows, oppure da console con n8n export:workflow --all --output=workflows.json. Questo ti dà la logica completa: nodi, connessioni, condizioni, codice.
Quello che non ti dà sono le credenziali: sono cifrate con la chiave dell'istanza (N8N_ENCRYPTION_KEY). Il comando n8n export:credentials --all --decrypted le restituisce in chiaro, ma richiede di essere dentro il server e di avere quella chiave. Senza di essa, importando i flussi in una nuova istanza vedrai tutti i nodi con la credenziale scollegata e qualcuno dovrà reinserire a mano ogni API key.
Da qui nasce il deliverable che quasi nessuno chiede e che vale più del JSON: l'elenco di ogni servizio esterno che i tuoi flussi toccano, con l'account a cui appartiene e a cosa serve. Dodici righe in un foglio di calcolo, e la differenza tra due ore di riconnessione e due giorni di archeologia.
Se la tua automazione non è su n8n, cambia il dettaglio e non il principio. In Make esporti il blueprint di ogni scenario in JSON dall'interfaccia. In Zapier non esiste un export nativo equivalente, quindi l'unica protezione reale è che gli Zap vivano nel tuo account con l'agenzia aggiunta come membro del team, non il contrario: se stanno dall'altra parte, il giorno in cui te ne vai vanno rifatti a mano, uno per uno, guardando gli screenshot (n8n vs Zapier nel 2026).
La base di conoscenza del bot non sono gli embedding: è il corpus
Quando il bot risponde con RAG sulle tue informazioni, ci sono due cose memorizzate: i documenti originali e la loro rappresentazione vettoriale in un database come Supabase con pgvector, Qdrant o Pinecone.
I vettori non sono portabili. Un embedding generato con text-embedding-3-small di OpenAI ha 1.536 dimensioni e ha senso solo dentro quello stesso modello: se il prossimo fornitore ne usa un altro, bisogna rielaborare tutto da zero. Chiedere "il database vettoriale" è chiedere il residuo.
Quello che va chiesto è il corpus: i PDF, il catalogo esportato, le domande frequenti, il listino prezzi, nel loro formato originale. Più tre cose che di solito restano solo nella testa di chi l'ha costruito: come è suddiviso il testo (dimensione del chunk e sovrapposizione), il prompt di sistema e le regole di passaggio a un operatore umano. Quelle regole sono mesi di messa a punto su casi reali della tua azienda: sono tue per buon senso, e conviene che lo siano anche per iscritto.
Le conversazioni sono dati personali e il titolare sei tu
Qui il terreno legale è più solido che nella discussione sul codice. Se i tuoi clienti scrivono al WhatsApp della tua azienda, sei tu il titolare del trattamento e il fornitore è un responsabile che tratta quei dati per tuo conto. In Spagna e in Italia questo comporta un contratto di responsabile del trattamento ai sensi dell'articolo 28 del GDPR, con un obbligo molto utile: al termine del servizio, il responsabile restituisce o cancella i dati secondo quanto sceglie il titolare. In Argentina vige la Legge 25.326 con una logica equivalente.
Se il sistema di assistenza è Chatwoot, i contatti si esportano in CSV dall'interfaccia e lo storico completo tramite API (/api/v1/accounts/ID/conversations) oppure con un pg_dump se il database è tuo. Se il fornitore gestisce un'istanza condivisa, il dump grezzo non può dartelo senza esporre altri clienti — non è malafede, è architettura — ma l'export filtrato del tuo account sì.
Istanza tua, istanza dedicata o istanza condivisa: cosa cambia davvero
Ogni architettura definisce il tuo livello minimo di portabilità prima ancora che il contratto dica una sola parola.
Infrastruttura tua. L'account Hetzner, DigitalOcean o Supabase è intestato alla tua azienda e lo paghi tu; il fornitore entra come collaboratore. Un VPS che regge n8n più Postgres costa tra USD 10 e 25 al mese. Il giorno in cui cambi fornitore, cambi una password. In cambio, qualcuno deve aggiornare e verificare i backup.
Istanza dedicata sull'infrastruttura del fornitore. Il tuo n8n e il tuo database, ma nel suo account. È la soluzione più comune ed è ragionevole, perché ti risparmia l'amministrazione. La portabilità dipende dal contratto: tecnicamente tutto è trasferibile — un server si sposta di account, un database si esporta per intero, la chiave di cifratura si consegna.
Istanza condivisa multi-tenant. Tutti i clienti sullo stesso n8n. È la più economica da gestire ed è per questo che esiste. Il tuo livello minimo è il JSON dei tuoi workflow più l'export dei tuoi dati: la chiave di cifratura e il dump grezzo non te li daranno mai perché non sono soltanto tuoi. Se il prezzo mensile è particolarmente basso, probabilmente sei qui. Non è sbagliato, ma bisogna saperlo.
Le sei domande che si fanno prima di firmare, non dopo
Sono il sottoinsieme sulla titolarità di una valutazione del fornitore più ampia (le 12 domande prima di firmare); queste sei sono quelle che poi non si sistemano da sole. Falle via email e non per telefono: è la risposta scritta quella che poi serve per reclamare.
- A nome di quale azienda restano il Business Manager di Meta e la WABA? Chiedi l'ID della WABA.
- Il mio n8n sarà un'istanza dedicata o condivisa? Chi ha la chiave di cifratura?
- Le chiavi di OpenAI, Google e le integrazioni con i miei sistemi sono sul mio account o sul tuo?
- In quale account cloud e in quale Paese vivono il database e le conversazioni?
- Se oggi ti chiedo un export completo, in quanti giorni lavorativi arriva e cosa include?
- Se smetto di essere cliente, cosa succede esattamente il giorno 31?
La quinta è la più informativa. Un fornitore che lavora in modo pulito risponde con una tempistica e un elenco. Uno che improvvisa risponde con una domanda.
Le clausole da chiedere, e quella che ti protegge davvero
Bastano quattro paragrafi. Non serve un contratto di venti pagine per un'implementazione da USD 1.500.
- Titolarità e licenza. Quanto sviluppato specificamente per il cliente viene ceduto al cliente; sui componenti riutilizzabili del fornitore, licenza perpetua, irrevocabile e senza royalty per continuare a operare e modificare. Così si chiude la questione senza chiedere all'agenzia di regalarti la sua libreria interna, che è ciò che blocca la trattativa.
- Titolarità degli account. Elencati: Business Manager, WABA, dominio, account cloud, account dei fornitori di IA. Intestati al cliente dal primo giorno.
- Export su richiesta. Diritto di richiederlo in qualsiasi momento, senza costi, con una tempistica definita (5 giorni lavorativi è ragionevole) e un elenco tassativo di cosa include. Senza elenco, la clausola non serve.
- Uscita ordinata. 30 giorni di transizione pagati alla tariffa in vigore, consegna documentata e cancellazione certificata dei dati a 60 o 90 giorni dalla fine del servizio.
E ora quella che vale più delle altre quattro messe insieme, perché non dipende dalla buona volontà di nessuno: un backup automatico verso una destinazione che controlli tu. Un workflow programmato la domenica alle 3 di notte che interroga l'API della tua stessa istanza e deposita il JSON di tutti i flussi in un Drive o in un bucket tuo. Quattro nodi, venti minuti di configurazione. Aggiungici l'export settimanale dei contatti. Il giorno in cui nasce un conflitto commerciale, hai già tutto e la conversazione cambia tono da sola.
Come si fa un'uscita ordinata, e quanto costa farla male
Scenario elaborato con intervalli tipici di mercato, non con cifre verificate di un cliente specifico. Studio odontoiatrico di 12 persone, 14 mesi con lo stesso fornitore, sei workflow in n8n (appuntamenti, promemoria, gestione delle urgenze, registrazione pazienti, fatturazione, report settimanale), bot WhatsApp con RAG su 60 documenti.
Uscita ordinata — account intestati allo studio e clausola di export nel contratto. Quattro settimane, in questo ordine:
- Settimana 1. Comunicazione scritta di mancato rinnovo e richiesta formale dell'export. L'operatività continua e si continua a pagare: nessuno spegne ancora nulla.
- Settimana 2. Arriva il pacchetto. Il fornitore entrante lo esamina e segnala cosa manca prima che il rapporto si interrompa, che è l'unico momento in cui reclamare serve a qualcosa.
- Settimana 3. Migrazione: importare i flussi nella nuova istanza, caricare ogni credenziale, spostare la WABA se necessario, far girare i due sistemi in parallelo per un paio di giorni.
- Settimana 4. Passaggio definitivo. Si revocano gli accessi dell'agenzia uscente su Meta, sul cloud e su ogni integrazione, si ruotano tutte le chiavi e parte il termine per la cancellazione certificata dei dati.
I numeri di quell'uscita: export incluso in 5 giorni lavorativi, mese di transizione a tariffa in vigore USD 250, e da 8 a 14 ore del fornitore entrante a USD 45-70 l'ora, tra USD 360 e USD 980. Totale da USD 610 a 1.230, stesso numero, storico intatto, senza interruzione del servizio.
Uscita disordinata — WABA nel portafoglio dell'agenzia, istanza condivisa, API key di OpenAI del fornitore:
- Ricostruire i sei workflow senza documentazione, alla stessa tariffa: da 25 a 40 ore, tra USD 1.125 e USD 2.800.
- Numero nuovo: insegna dello studio, cancelleria, sito, profilo Google e bio di Instagram, tra USD 400 e USD 900 di progettazione e stampa. Più il livello di messaggistica di nuovo da 250 destinatari giornalieri.
- Template: ricaricarli dall'altra parte e attendere l'approvazione.
- Storico di 14 mesi di conversazioni: non si recupera a nessun prezzo.
- Totale: da USD 1.525 a 3.700, da quattro a otto settimane, e le richieste che arrivano al vecchio numero durante la transizione.
La differenza tra i due scenari non l'ha decisa un avvocato il giorno della lite. L'ha decisa chi ha creato il Business Manager il primo giorno.
Quando NON conviene pretendere che tutto stia sulla tua infrastruttura
Tutto questo può essere letto come "chiedi tutto, ospita tutto, controlla tutto", e sarebbe un cattivo consiglio per la maggior parte delle PMI che ci scrivono.
Se hai meno di 50 persone e nessun profilo tecnico interno, essere titolare del server significa essere titolare del problema. n8n pubblica nuove versioni praticamente ogni settimana e alcune rompono dei nodi. I backup non servono se nessuno li ha provati con un ripristino. E quando il bot smette di rispondere una domenica alle 21, la proprietà del server non risponde al telefono. Avere il docker-compose.yml in mano non ti dà autonomia se nessuno nel tuo team sa leggerlo: ti dà l'illusione dell'autonomia, che è peggio, perché ti fa abbassare la guardia su ciò che conta davvero.
L'equilibrio che funziona: gli account intestati a te, l'operatività nelle mani di chi la sa gestire. Sei titolare del Business Manager, dell'account cloud e delle API key, hai il backup settimanale nel tuo Drive e non amministri nulla.
È anche sano accettare che ci sono cose che il fornitore trattiene a ragione: la sua libreria interna di nodi, i suoi template di partenza, il suo stack di monitoraggio. Quello non è il tuo progetto, è il suo prodotto. Chiederlo non ti dà nulla di utile e ti complica la trattativa su ciò che davvero ti serve.
La prova che si fa al mese 2, non al mese 20
Quando il rapporto va bene e nessuno è arrabbiato, manda una email di una riga: voglio il pacchetto di export completo per archivio interno. Guarda cosa arriva e in quanto tempo.
Se arrivano il JSON dei workflow, l'elenco dei servizi collegati, il CSV dei contatti, il corpus del bot e i testi dei template, hai un fornitore con cui puoi discutere qualsiasi altra cosa. Se arriva in ritardo, incompleto o con una spiegazione del perché non serva, sai già quanto ti costerà il giorno in cui vorrai andartene — e sei ancora in tempo per rimediare.
Anche l'audit gratuito di 15 minuti di StriqTech serve a questo: se hai già automazioni attive con un altro fornitore, verifichiamo a nome di chi è intestata ogni cosa e cosa ti manca per poterti spostare senza perdere il numero. Non serve che ci assumi per quella verifica. Scrivici a info@striqtech.com.
Domande frequenti
I workflow di n8n realizzati dall'agenzia sono miei?
Salvo cessione espressa per iscritto, la titolarità di solito resta a chi li ha sviluppati: un fornitore indipendente non cede i diritti per il solo fatto di emetterti fattura. Chiedi una clausola di cessione su tutto ciò che è stato realizzato su misura per la tua azienda e una licenza perpetua e irrevocabile d'uso sui componenti riutilizzabili del fornitore. Ciò che è sempre tuo, qualunque cosa dica il contratto, sono i dati dei tuoi clienti e i tuoi account.
Come recupero il mio numero WhatsApp se è rimasto nel Business Manager dell'agenzia?
Con la collaborazione del fornitore è una migrazione della WABA o del numero tra Business Manager: si coordina, serve il PIN di verifica in due passaggi e di solito si risolve in giorni senza cambiare il numero. Senza collaborazione non esiste un pulsante di salvataggio: si finisce in un caso di assistenza Meta con documentazione societaria, oppure con un numero nuovo. Per questo la titolarità del Business Manager si definisce prima di collegare il numero, non dopo.
Che cosa devo chiedere esattamente nell'export prima di andarmene?
Sei cose: il JSON di tutti i workflow, l'elenco di ogni servizio esterno che toccano con il relativo account ed endpoint, un dump o CSV di contatti e conversazioni, il corpus originale del bot (PDF, catalogo, FAQ) con la sua configurazione di chunking, i prompt di sistema e il testo dei template WhatsApp approvati. Gli embedding non servono a nulla se il prossimo fornitore usa un altro modello.
Conviene che n8n stia sul mio server?
Conviene che l'account cloud sia intestato a te; che sia tu ad amministrare il server quasi mai conviene se hai meno di 50 persone e nessun profilo tecnico. n8n pubblica nuove versioni ogni settimana, il database ha bisogno di backup verificati e qualcuno deve intervenire quando si blocca di domenica. Il punto d'equilibrio ragionevole: l'account Hetzner, DigitalOcean o Supabase è tuo e lo paghi tu, il fornitore entra come collaboratore.
Il fornitore può interrompermi il servizio se discutiamo su una fattura?
Sospendere l'operatività per mancato pagamento, con preavviso scritto di 10 o 15 giorni, è una clausola ragionevole e quasi tutti i fornitori seri ce l'hanno. Trattenere l'export dei tuoi dati o l'accesso ai tuoi account come leva per farsi pagare è un'altra cosa. Separa le due cose nel contratto: il debito si discute per via commerciale, la consegna dei dati non si subordina a nulla.
Implementalo nella tua azienda in 72 ore
Parliamone 15 minuti. Senza costi, senza impegno. Faccio l'audit di un processo e ti mostro il ROI previsto.
Scrivici su WhatsApp