Vai al contenuto
megapromotingParliamone

Competenza · CRM e vendite

Un sistema in cui si vede chi è stato raggiunto, attraverso quale canale e cosa segue.

Costruiamo il sistema commerciale di un'organizzazione: organizzazioni e contatti, un percorso di stadi, i canali che portano dati da soli — chiamata, email, modulo, voice agent — e i freni che bloccano gli invii prima che diventino un problema. Non vendiamo il nostro CRM; ne costruiamo uno per il modo in cui lavori tu.

Già costruitoDue implementazioni proprie, in produzione, citate qui sotto. (1) MEGA CRM — il sistema con cui il nostro team tiene la propria attività commerciale: `server.js` ha 9.516 righe e 99 route HTTP, nel repository ci sono 96 migrazioni SQL e circa 95.000 righe di TypeScript nell’interfaccia, e l’ultimo commit è del 18 agosto 2026. (2) I connettori CRM della piattaforma Kallina: 12 funzioni server per amoCRM, 4 per Bitrix24, più un flusso OAuth documentato per Zoho CRM e 10 funzioni per Google Sheets. La precisazione che conta: **MEGA CRM non è in vendita.** Lo mostriamo come prova di mestiere, non come prodotto — non ha un isolamento rigoroso dei dati tra clienti e non ha un flusso di installazione che non presupponga accesso al server. Il servizio è “costruiamo per voi un sistema come questo”, non “vi diamo una licenza del nostro”.

La maggior parte delle aziende non ha un problema di CRM, ha un problema di registrazione: non si sa chi è stato contattato, tramite quale canale, cosa è stato detto e cosa segue. Uno strumento pronto risolve questo quando il suo lavoro somiglia al lavoro per cui lo strumento è stato pensato. Quando non somiglia — perché lavorate con amministrazioni pubbliche e con aziende private allo stesso tempo, o perché metà dei contatti arriva da un voice agent — finite per forzare lo strumento, e il team tiene la verità in un file separato. Allora vale la pena costruire qualcosa.

Il sistema che mostriamo come prova è quello con cui lavoriamo noi. È strutturato su progetti separati, ciascuno con il suo tipo di organizzazione e con il suo schema di campi, così la stessa applicazione funziona sia per un municipio, sia per un'azienda privata, senza nuove colonne nel database a ogni nuovo tipo. Sotto l'organizzazione stanno i contatti, sopra stanno le campagne. Un lead sale lungo un percorso di sette stadi, da «non contattato» fino a «contratto firmato», e può essere raggiunto tramite nove canali diversi, dalla chiamata del voice agent fino alla visita.

La parte difficile, e quella che si impara sulla propria pelle, non è l'invio. È l'arresto. Il sistema ha orari di lavoro scritti nel codice, liste di esclusione, deduplicazione sull'indirizzo scritto in minuscolo — non sull'organizzazione —, un periodo di raffreddamento tra campagne, un tetto giornaliero ripartito tra le campagne e un interruttore che rifiuta di avviare l'orchestrator, senza possibilità di aggiramento. Ognuno di questi è stato aggiunto dopo che una volta è mancato. Li elenchiamo non come lista di funzioni, ma come lista di lezioni.

La seconda cosa che costruiamo quasi ogni volta è l'alimentazione automatica. Un CRM in cui i dati vengono scritti a mano si svuota in tre settimane. Da noi, la chiamata del voice agent si scrive da sola sulla scheda dell'organizzazione, con transcript e riepilogo, e sposta il lead più avanti nel percorso se l'esito della chiamata lo giustifica. Le risposte alle email vengono raccolte dalla casella di posta ogni dieci minuti e collegate all'invio che le ha provocate. Le aperture e i clic vengono tracciati separatamente. L'uomo interviene per decidere, non per inserire dati.

Prevenzione dello spam nel CRM — le richieste che meritano di essere seguite · video in rumeno, con sottotitoli e trascrizione in italiano

La trascrizione completa

Salve! Nell’analisi di oggi dissezioniamo un problema che assolutamente qualsiasi azienda che vuole scalare finisce per incontrare a un certo punto. Come automatizziamo esattamente la prospecting commerciale senza che tutto si trasformi davvero in uno spam fastidioso e aggressivo? Vogliamo crescere, vogliamo efficientizzare, chiaro. Ma oggi guardiamo sotto il cofano di un materiale tecnico affascinante per vedere come si previene lo spam con esattamente 6 meccanismi chiari, ad anello, integrati in un sistema ceramico davvero sicuro. Non si tratta solo delle impostazioni standard che spuntiamo e poi ce ne dimentichiamo, ma di architetture reali, fatti e cifre. Entriamo nei dati! Bene, in breve, ecco la struttura della nostra discussione. Partiamo dal problema dell’accelerazione senza freni, poi analizziamo un caso di studio, l’incidente dei 42 messaggi, passiamo al nucleo dell’analisi, cioè i 6 meccanismi di protezione, parliamo della corretta gestione delle disiscrizioni e chiudiamo con il classico dilemma: quando conviene costruire un sistema e quando è meglio comprarlo.

Cominciamo! Quindi, la domanda essenziale da cui partiamo è questa. Come ci assicuriamo che l’automazione che implementiamo non diventi semplicemente spam? Qui c’è una linea incredibilmente sottile. L’intenzione dietro è sempre buona: vogliamo contattare persone, generare vendite, ma se il sistema viene lasciato accelerare alla cieca, senza verifiche tecniche molto rigide codificate direttamente nella sua struttura, l’impatto sul brand può essere disastroso. Arriviamo alla sezione 1, accelerazione senza freni. Guardiamo il problema fondamentale dell’evidenza in questi sistemi automatici. Pensatela come una macchina molto potente, ma senza un sistema frenante. Quando un software standard non si allinea con la realtà quotidiana del lavoro, le cose vanno rapidamente fuori controllo. Per esempio, diciamo che il team interagisce sia con amministrazioni pubbliche sia con aziende private.

Strutture decisionali completamente opposte, no? I loro dati semplicemente non entrano negli stessi campi rigidi di un CRM generico. E cosa succede nella pratica? Le persone iniziano a tenere la verità separata, tramite file Excel o note sulla scrivania, mentre l’automazione principale continua a funzionare a vuoto su dati sbagliati. Questo significa semplicemente caos. E la nostra fonte ha qui una citazione assolutamente geniale, una verità brutale del settore. Un CRM in cui i dati si scrivono a mano si svuota in 3 settimane. È molto logico. Le persone si stancano, compaiono errori e il morale cala. Le persone di vendita devono costruire relazioni, non essere robot di inserimento dati. Che si tratti di un agente vocale intelligente che trascrive automaticamente le chiamate, o di e-mail che si sincronizzano da sole in background ogni 10 minuti, l’idea è chiara.

L’alimentazione automatica dei dati non è più un lusso. È la base obbligatoria di qualsiasi sistema funzionante. Passiamo alla seconda sezione, l’incidente dei 42 messaggi. Analizziamo l’anatomia di un fallimento reale. 42. Non è solo un numero qualsiasi, ma una storia reale di una campagna di prospecting che ha innescato una vera riforma tecnica. Vi rendete conto? Una sola casella postale ha ricevuto esattamente 42 messaggi nel giro di poche ore, nello stesso giorno. Ovviamente il team tecnico ha pensato per prima cosa: ok, è un bug, un banale loop nel codice che invia all’infinito. Ma quando ha guardato più attentamente nel database, la realtà era molto più complessa di così. La spiegazione? Il sistema era stato impostato per estrarre e inviare messaggi per organizzazione, non per indirizzo e-mail.

Quindi, dal punto di vista logico, l’algoritmo aveva fatto perfettamente il suo lavoro. Aveva trovato 42 aziende giuridicamente distinte. Il problema, ed è una realtà che vediamo spesso nel mercato locale, era che tutte queste 42 entità usavano esattamente lo stesso indirizzo e-mail. Che fosse quello dell’azienda madre o quello dello stesso commercialista esterno che gestiva decine di aziende. Le entità erano uniche sulla carta, ma la destinazione finale del messaggio era una sola. E per mettere le cose in prospettiva, sapete quante persone reali, in carne e ossa, sono state colpite da questa valanga di messaggi? Solo 11. 11 persone che gestivano queste decine di attività. Questo incidente ha dimostrato una cosa molto chiara. Le buone intenzioni e un codice che a prima vista sembra corretto non sono mai sufficienti.

Il database ha sempre associazioni invisibili, e il sistema deve anticiparle. Il che ci porta alla parte più importante, la sezione 3. I sei meccanismi di protezione, cioè i freni codificati direttamente nel cuore del sistema. Ecco la soluzione. La fonte dettaglia un anello di protezione formato da sei meccanismi distinti che si verificano a vicenda. 1. Impostazione di orari di lavoro rigidi, tra le 8 e le 18. Nessuno vuole un’e-mail di vendita la domenica alle 3 di notte. 2. Liste di esclusione permanenti, cioè il blocco di istituzioni sensibili, come scuole o ambasciate. 3. E questo avrebbe prevenuto l’incidente di prima, la deduplicazione obbligatoria sull’indirizzo e-mail convertito in minuscolo, non sul nome dell’azienda. 4. Un periodo di raffreddamento di 5 giorni per qualsiasi indirizzo contattato, per evitare di soffocare il pubblico.

5. Limiti giornalieri rigidi per non infastidire i filtri globali anti-spam. E, infine, il sesto meccanismo, il pulsante di panico. Tra tutti, questo meccanismo sei, cioè il kill switch, o interruttore di emergenza, è un pezzo forte. È stato implementato esattamente dopo quell’incidente con i 42 messaggi. Che cos’è in realtà? Una variabile semplice che, se attivata, semplicemente vieta al sistema centrale di avviarsi ulteriormente. Senza eccezioni, senza alcun comando nascosto di override nel codice. Qualsiasi architettura seria di automazione ha bisogno di un tale pulsante fisico, per così dire, che chiunque in management possa premere senza avere conoscenze di programmazione. Andiamo alla quarta sezione, la corretta gestione delle disiscrizioni. Perché, attenzione, significa molto di più di un semplice link messo in fondo alla pagina.

Una volta inviato il messaggio, se la persona vuole uscire dal database, il processo deve essere impeccabile e blindato. L’analisi ci mostra un processo solido in tre passi. Passo 1. Disiscrizione dall’header con un solo click, che sia conforme ai nuovi standard globali, come RFC 8058. Passo 2. Un centro preferenze visivo, dove la persona può scegliere che tipo di messaggio non vuole più ricevere. Ma il passo 3 è, in realtà, il più critico e quello in cui molti sistemi falliscono. La cancellazione completa. Questo non significa mettere una spunta su inattivo. Significa la cancellazione dell’indirizzo da, attenzione, 6 tabelle diverse del database, più il suo inserimento in una blacklist permanente. Solo così vi assicurate che quell’indirizzo non ricompaia come per magia al successivo import massivo di dati.

E non parliamo solo di tecnologia. Parliamo di rispetto e conformità legali direttamente nel piè di pagina dell’e-mail. Chi siete? Chi è il responsabile DPO? Qual è il fondamento giuridico esatto in base al quale avete inviato il messaggio? E soprattutto, da quale registro pubblico avete estratto inizialmente i dati? La nostra fonte sottolinea una regola d’oro. Questi fondamenti devono essere riverificati a ogni modifica legislativa. Perché? Perché potete avere il sistema più costoso del mondo. Se, sulla base di una legge abrogata, avete trasformato la tecnologia in un rischio finanziario maggiore per l’azienda. Arriviamo all’ultima sezione, la quinta. Quando costruire e quando comprare? Vediamo la risposta corretta per un’infrastruttura commerciale matura. La documentazione affronta questa decisione in modo estremamente obiettivo.

Un CRM pronto all’uso, chiavi in mano, è assolutamente ideale. A una sola condizione importante. Che il vostro flusso di lavoro si adatti perfettamente alla logica pensata dai creatori della piattaforma. Tuttavia, la decisione di costruire una soluzione personalizzata diventa l’unica via in tre situazioni chiare. Quando interagite con tipi molto diversi di organizzazioni, quando avete un volume massiccio di automazioni in cui il lavoro manuale diventa impossibile e, soprattutto, quando avete regole di protezione rigide, come quei sei meccanismi che un software da scaffale semplicemente non vi può garantire a un livello così profondo. La buona notizia? Costruire qualcosa di sicuro dietro le quinte non significa buttare dalla finestra gli strumenti che il team già conosce. Questi meccanismi di protezione possono funzionare silenziosamente come uno strato invisibile di sicurezza, mentre si collegano alle interfacce abituali.

Esistono architetture dimostrabili che hanno connettori capaci di eseguire decine di funzioni bidirezionali con sistemi popolari come Amos ERM, Bitrix24, Zohos ERM o persino i classici fogli Google Sheets. In breve, il nucleo di sicurezza rimane intatto, ma l’esperienza utente è altrettanto amichevole. E così, il materiale ci lascia un tema di riflessione piuttosto scomodo che vale la pena portarci dietro. Un sistema commerciale super avanzato che solo il programmatore che l’ha scritto sa ancora come spegnere è davvero un super asset per l’azienda o, in realtà, un rischio inaccettabile? Alla fine della giornata, la trasparenza, quell’interruttore di emergenza messo in bella vista e la documentazione chiara sono le cose che distinguono un semplice marchingegno cieco da un sistema aziendale davvero scalabile, professionale e responsabile. Spero che questa disamina dei meccanismi abbia portato un po’ più di luce su come dovrebbe apparire una corretta automazione. A presto!

Cosa comprende

Il lavoro, per componenti

I dati entrano nel flusso, con deduplicazione su tre chiavi

Un file fino a 50 MB viene caricato e processato in flusso, in batch da 200 righe, così da non superare il timeout del database, e l'avanzamento viene restituito in tempo reale, una riga per ogni passaggio. Prima dell'importazione viene costruito un indice di deduplicazione su tre chiavi — codice fiscale, indirizzo email e telefono — e vengono validati gli indirizzi: formato, domini usa e getta, pattern non validi. La stessa organizzazione non entra due volte con due denominazioni scritte in modo diverso.

Ogni contatto viene scritto sulla scheda dell'organizzazione

Nove canali di comunicazione, dal voice agent e dalla chiamata umana fino alla visita, e un percorso di sette stadi con etichette reali: non contattato, contattato, risposta ricevuta, offerta inviata, interessato attivo, negoziazione, contratto firmato. Accanto a ogni stadio è scritto quale percentuale dovrebbe passare oltre — non come promessa, ma come riferimento per chi guarda il funnel e vuole sapere dove si perde.

La chiamata del voice agent sposta il lead da sola

Quando l'agent termina una chiamata, il risultato entra nel sistema tramite un webhook la cui firma viene verificata: transcript, riepilogo, sentiment, indirizzo della registrazione, durata. L'organizzazione viene identificata tramite il numero di telefono, attraverso una funzione scritta nel database per i formati in cui i numeri compaiono nei dati reali, e la chiamata viene collegata alla sua scheda. Se l'esito è «interessato» o «incontro programmato», il lead sale automaticamente nel percorso e gli viene aggiornata la data dell'ultimo contatto.

L'invio ha freni, non solo accelerazione

Orari di lavoro scritti nel codice: 08:00–18:00, fuso orario Chisinau, da lunedì a sabato. Liste di esclusione per scuole, licei, asili, ambasciate e consolati. Deduplicazione sull'indirizzo scritto in minuscolo — non sull'organizzazione, distinzione che conta enormemente quando più aziende usano la stessa casella postale. Raffreddamento di cinque giorni tra campagne per lo stesso indirizzo. Tetto giornaliero globale, ripartito proporzionalmente tra le campagne, più un tetto per esecuzione, così gli invii si distribuiscono su più ore, non in blocco.

Un interruttore che non si può aggirare

L'orchestrator delle campagne verifica una variabile d'ambiente prima di ogni altra cosa. Se è impostata, rifiuta di avviarsi ed esce — non esiste argomento da riga di comando che possa bypassarlo, non esiste «forza». È stato aggiunto il 1 maggio 2026, dopo un incidente di invii duplicati. Un sistema che invia al tuo posto ha bisogno di un arresto che possa premere qualcuno che non è programmatore.

Disiscrizione in un solo clic, in tre fasi

La prima fase è l'intestazione standard di disiscrizione in un clic, conforme a RFC 8058 — il requisito imposto dai grandi provider di email per gli invii in volume. La seconda è un centro preferenze, dove la disiscrizione può anche essere annullata. La terza è la cancellazione completa su richiesta, che elimina l'indirizzo da sei tabelle, lo aggiunge a una lista permanente di blocco e lascia una traccia nel registro. Tutte e tre sono protette con un token legato al destinatario, così nessuno può disiscrivere qualcun altro.

Le risposte e le reazioni vengono raccolte da sole

Le risposte alle email vengono lette dalla casella postale tramite Microsoft Graph, ogni dieci minuti, e collegate automaticamente all’invio che le ha generate. Lo stato della consegna viene sincronizzato dal fornitore di invio. Le aperture sono tracciate con pixel, i clic tramite redirect, mentre i pannelli di deliverability mostrano i domini con problemi. Un servizio separato monitora il credito residuo presso i fornitori a pagamento e invia un avviso prima che finisca — non dopo.

Ricerca per ciò che fa un’organizzazione, non solo per come si chiama

Oltre alla ricerca nel testo completo, la domanda viene trasformata in un vettore con un modello di embedding e la corrispondenza viene eseguita nel database tramite una funzione proprietaria, con soglia di similarità regolabile (predefinita 0,25) e con limitazione per progetto. In pratica: «aziende che fanno trasporto refrigerato» trova anche organizzazioni che non hanno nessuna di quelle parole nella denominazione.

Collegamento al CRM di cui disponete già

Se il Suo team lavora già in un CRM, non lo sostituiamo per riflesso. Abbiamo scritto ed eseguito il connettore per amoCRM — 12 funzioni server, incluso il flusso OAuth completo, il refresh del token e la verifica dello stato — più Bitrix24 con OAuth e webhook, una guida OAuth per Zoho e dieci funzioni per Google Sheets, dalla lettura della struttura di un foglio fino all’importazione dei contatti.

Come si presenta

Il percorso, passo dopo passo.

01

Prima il modello, poi l’interfaccia

Che cos’è per Lei un’organizzazione, che cos’è un contatto, che cos’è un’opportunità, quali campi sono obbligatori e quali sono solo utili. Questa discussione sembra lenta ed è l’unica che non si può recuperare più tardi: un modello sbagliato si paga in ogni report che chiede in seguito.

02

Il percorso e gli stadi, scritti come regole, non come abitudine

Gli stadi attraverso cui passa un lead, cosa lo fa avanzare e cosa lo fa tornare indietro, chi è responsabile in ciascuno. Scriviamo anche le regole automatiche — quale esito di chiamata fa salire il lead, quale inattività lo fa scendere — perché un percorso che si muove solo quando qualcuno si ricorda di premere non è un percorso, è un elenco.

03

I canali che portano i dati da soli

Le chiamate dalla telefonia o dall’agente vocale, le risposte dalla casella postale, i moduli dal sito, i webhook da altri sistemi. Ogni canale viene connesso e testato separatamente, e per ciascuno stabiliamo cosa accade con i dati che non corrispondono a nulla nel database — perché quelli sono quelli che si perdono in silenzio.

04

I freni prima dell’accelerazione

Orari di invio, liste di esclusione, deduplicazione, raffreddamento, limiti, disiscrizione, arresto di emergenza. Li inseriamo prima della prima campagna, non dopo il primo reclamo. È la parte in cui la nostra esperienza costa meno e vale di più, perché è fatta di errori già pagati.

05

Consegna: procedure, ruoli, documentazione

Chi ha quale ruolo, come si aggiunge una persona, come si interrompe una campagna, dove guardare quando qualcosa non è partito, cosa fare in caso di richiesta di cancellazione. Un sistema commerciale che solo il costruttore sa fermare è un rischio, non un asset.

Un centro. Intorno, ciò che vi entra — su percorsi separati.IL CENTRO SI APPOGGIA A CIÒ CHE LO CIRCONDA
I canali che convergono sulla stessa scheda: la chiamata dell’agente vocale, la chiamata umana, l’e-mail e la risposta nella casella postale, il modulo sul sito, il webhook da un altro sistema — e i freni che decidono cosa torna indietro.

I dati

Cosa tocchiamo, dove risiedono e quanto rimangono

Le domande che pone chiunque abbia un responsabile della protezione dei dati — poste qui prima che le ponga lui.

Dove risiedono i dati e come sono strutturati
PostgreSQL tramite Supabase, con 96 migrazioni versionate. La struttura è gerarchica: progetti, sotto di essi organizzazioni con campi flessibili in JSONB e vettore di ricerca nel testo completo, sotto di essi contatti, mentre le campagne dipendono dal progetto. Ogni progetto definisce il proprio schema di campi — per questo la stessa applicazione gestisce sia amministrazioni pubbliche sia aziende private, senza che il database cresca a ogni nuovo tipo di organizzazione.
Cosa compare nel piè di pagina di ogni email inviata
L’identità completa dell’azienda — denominazione, codice fiscale, sede legale — l’indirizzo del responsabile della protezione dei dati, il fondamento giuridico invocato e da dove proviene l’indirizzo: registri pubblici e profili pubblici, detto esplicitamente, non sottinteso. In più, disiscrizione in un clic e una variante di riserva, con risposta in una sola parola. Ciò che riguarda il fondamento giuridico viene ricontrollato a ogni modifica della legge — un invio massivo che cita un fondamento superato è un problema anche se il resto è impeccabile.
Chi vede cosa
L’accesso avviene tramite autenticazione, i percorsi dell’applicazione sono chiusi dietro un gate, e l’area di amministrazione ha un gate in più. I ruoli sono separati: amministrazione, proprietario, vendite, prospezione e un ruolo distinto per l’agent automatizzato — perché un agent che scrive nel sistema non deve avere i diritti di un uomo. Non esiste registrazione aperta.
Cosa verifichiamo esplicitamente all’installazione
Che ogni secret sia effettivamente impostato sul server: il secret con cui si firmano i webhook in ingresso e il secret con cui si firmano i token di disiscrizione. Sono verifiche che sembrano formali finché non lo sono più: una verifica di firma non ha cosa confrontare se il secret manca, e un token prevedibile è un token che non protegge nessuno. Le inseriamo nell’elenco di consegna, non nelle supposizioni.
Cosa viene cancellato su richiesta e cosa rimane
La cancellazione completa rimuove l’indirizzo da sei tabelle e lo inserisce in una lista permanente di blocco, così che un import successivo non lo riporti indietro. Rimane una traccia nel journal, con il motivo — perché bisogna poter dimostrare, dopo un anno, che la richiesta è stata soddisfatta. Restano anche gli aggregati statistici, che non identificano nessuno.

Un caso

Un indirizzo ha ricevuto 42 email in un giorno. Non era un loop.

La situazione

In una campagna di prospezione su organizzazioni, una sola casella postale ha ricevuto 42 messaggi nello stesso giorno. La prima ipotesi, quella comoda, è un loop nel codice. Non lo era.

Cosa abbiamo costruito

L’estrazione dei destinatari era fatta per organizzazione, non per indirizzo. Quarantadue organizzazioni usavano la stessa casella postale — situazione assolutamente comune nell’ambiente d’affari locale, dove un commercialista, una società madre o un amministratore servono più entità. Ogni organizzazione era, correttamente, un destinatario unico; l’indirizzo no. Il numero totale di persone coinvolte in quell’incidente è stato 11. La correzione è stata in tre parti, non in una: la deduplicazione è stata spostata sull’indirizzo scritto in minuscolo, è stato introdotto un raffreddamento di cinque giorni tra campagne per lo stesso indirizzo, e tutti gli script di invio sono stati obbligati a passare attraverso un modulo comune di protezione — quello che rifiuta di registrare un invio senza identificatore della campagna. Lo stesso giorno è stato aggiunto anche l’interruttore che ferma completamente l’orchestrator, senza possibilità di aggiramento.

Cosa è emerso

Oggi, la deduplicazione per indirizzo, la lista delle disiscrizioni, i filtri di dominio e il raffreddamento di cinque giorni sono garanzie del modulo comune, non abitudini dello script che capita di essere eseguito. Uno script manuale scritto in fretta non può più aggirare le protezioni, perché non ha più il permesso di inviare da solo.

Cosa non dice il caso

La lezione non si trasferisce automaticamente: ogni database ha la propria forma di duplicato. In uno è l’indirizzo email, in un altro è il numero di telefono di un gruppo di aziende, nel terzo è una persona con due funzioni. La prima cosa che facciamo in un nuovo import è cercare qual è lì la forma di duplicato — non presumiamo che sia la stessa.

Domande

Cosa ci chiedono le persone prima di chiamare

Mi vendete il CRM con cui lavorate voi?

No, e il motivo è tecnico, non commerciale. Il nostro sistema è costruito per un solo team: non ha una separazione rigorosa dei dati tra clienti e non ha un flusso di installazione che non presupponga l’accesso al server. Per poterlo dare a qualcuno, bisognerebbe riscrivere esattamente queste due cose. Lo mostriamo per lo stesso motivo per cui un falegname mostra il proprio laboratorio — dice più del mestiere di quanto faccia una brochure. Quello che vendiamo è la costruzione di un sistema per il modo in cui lavorate voi.

Perché dovrei costruire, invece di comprare un CRM già pronto?

Nella maggior parte dei casi non dovrebbe, e glielo diciamo noi. Uno strumento già pronto è la risposta corretta quando il Suo lavoro assomiglia all’ipotesi per cui è stato pensato. La costruzione diventa giustificata in tre situazioni concrete: ha tipi di organizzazioni fondamentalmente diversi che non entrano nello stesso insieme di campi; metà delle interazioni arriva da sistemi automatici che devono scrivere da soli nella scheda; oppure ha bisogno di regole di invio che lo strumento non Le dà e che non può permettersi di violare. Se non si applica nessuna di queste situazioni, Le diciamo di acquistare.

Potete collegare il sistema al CRM che usiamo già?

Sì. Abbiamo scritto ed eseguito il connettore per amoCRM — 12 funzioni di server, con flusso OAuth, refresh del token, recupero dei lead e controllo dello stato — e per Bitrix24, con OAuth e webhook. Per Zoho CRM abbiamo documentato il percorso OAuth per le regioni dei data center. E quando la source of truth reale del team è un foglio di calcolo, abbiamo dieci funzioni per Google Sheets, dalla lettura della struttura del foglio fino all’importazione e all’aggiornamento dei contatti.

Come arrivano concretamente le chiamate nel CRM?

Tramite un webhook firmato, inviato alla fine della chiamata. Il sistema prende il numero di telefono e cerca l’organizzazione tramite una funzione scritta apposta per i formati in cui compaiono i numeri nei dati reali — non tramite un confronto di stringhe, che perderebbe metà dei casi. La chiamata viene salvata con transcript, riepilogo, sentiment, indirizzo della registrazione e durata, collegata alla scheda, e la regola nel codice può far avanzare il lead nel percorso in base all’esito della chiamata.

Come vi assicurate di non finire per inviare spam?

Con sei meccanismi che si controllano a vicenda, non con una buona intenzione: orari di invio, liste di esclusione per tipo di istituzione, deduplicazione per indirizzo scritto in minuscolo, raffreddamento di cinque giorni per lo stesso indirizzo, limiti giornalieri e per esecuzione, e un interruttore che ferma l’orchestratore senza possibilità di aggiramento. Sotto c’è il caso concreto che ci ha insegnato perché la deduplicazione va fatta per indirizzo, non per organizzazione.

Cosa succede quando qualcuno chiede di non essere più contattato?

Ha tre livelli, tutti protetti con un token legato al destinatario. La disiscrizione con un clic, direttamente dall’intestazione dell’email, in conformità con RFC 8058. Un centro preferenze, dove la decisione può anche essere annullata. E la cancellazione completa, che rimuove l’indirizzo da sei tabelle e lo aggiunge a una lista permanente di blocco — così che un import fatto sei mesi dopo non lo riporti indietro. L’ultima parte è quella che la maggior parte dei sistemi non riesce a fare.

Dove stanno i dati e chi può vederli?

In un database PostgreSQL, sull’infrastruttura concordata all’inizio del progetto, con migrazioni versionate — cioè ogni modifica della struttura è un file, non un intervento manuale. L’accesso è basato su ruoli distinti, con un ruolo separato per gli agenti automatici, perché un sistema che scrive nel database non deve avere i diritti di una persona. Non esiste registrazione aperta e non esiste una superficie pubblica.

Potete importare il nostro vecchio database, comprese le duplicazioni?

Sì, e proprio le duplicazioni sono il motivo per cui l’importazione è costruita così. Il file viene elaborato in streaming, in lotti da 200 righe, con un indice di deduplicazione su codice fiscale, email e telefono costruito prima della scrittura, più la convalida degli indirizzi: formato, domini usa e getta, pattern non validi. Ciò che non coincide non viene scartato in silenzio — viene segnalato, così decidi tu.

Mi garantite una crescita delle vendite?

No. Possiamo garantire che saprai chi è stato raggiunto, tramite quale canale, cosa è stato detto e cosa segue — e che il sistema si ferma da solo quando dovrebbe. I numeri di risultato dipendono dall’offerta, dal mercato e dal team che chiama, cioè da cose che non controlliamo. Non pubblichiamo percentuali di miglioramento che non abbiamo misurato, né per noi né per altri.

Su cosa si basano le affermazioni sopra (24 fonti)

24 di esse sono codice e file dei nostri repository. Non ne pubblichiamo il nome né la riga: insieme, in un'unica pagina, descriverebbero con troppa precisione come sono costruiti sistemi che non sono solo nostri. Le esaminiamo con te, nel repository, su richiesta — la verifica resta possibile, solo che avviene in una discussione.

Cosa vorresti che funzionasse meglio?

Raccontaci il tuo processo. Insieme stabiliamo cosa vale la pena costruire, cosa possiamo collegare e come verifichiamo il risultato.

Parliamone