SaaS B2B · programmi partner per startup

Piattaforma di scouting e outreach per startup: dalle fonti pubbliche di lancio a un primo contatto personale e verificato

Una pipeline quotidiana che individua startup in fase iniziale su fonti pubbliche di lancio, verifica i contatti e gestisce un outreach personale con limiti di invio, opt-out, tracciamento delle risposte e passaggio al CRM.

Cliente
Cliente riservato
Settore
SaaS B2B · programmi partner per startup
Anno
2026
01 02 03

La sfida

Un'azienda SaaS gestisce un programma che offre il proprio prodotto a condizioni speciali alle startup in fase iniziale. Ogni giorno compaiono nuove startup su piattaforme di lancio, community di sviluppatori, directory di startup e bacheche regionali, e trovarle a mano richiede molto tempo. Contattarle era accettabile solo se ogni messaggio era personale, partiva entro limiti rigorosi, identificava il mittente e poteva essere rifiutato con una semplice risposta.

La soluzione

Abbiamo costruito una pipeline quotidiana che raccoglie i nuovi lanci, analizza il sito di ogni startup alla ricerca di canali di contatto, verifica gli indirizzi, assegna un punteggio al lead e mette in coda un primo messaggio localizzato e sottoposto ad A/B test. L'invio rispetta limiti giornalieri, orari e per dominio, con un warm-up progressivo. Risposte e rimbalzi vengono letti via IMAP: qualsiasi risposta interrompe la sequenza, l'IA la classifica e i lead positivi passano nel CRM del cliente. I manager lavorano in una dashboard con ruoli, code di approvazione, gestione di template e mittenti, statistiche per variante ed esportazione CSV.

Come si collega

  1. 01 Raccolta dei nuovi lanci
  2. 02 Crawling dei siti ed estrazione dei contatti
  3. 03 Verifica degli indirizzi
  4. 04 Punteggio e deduplicazione
  5. 05 Approvazione del manager
  6. 06 Invio personale con limiti
  7. 07 Risposte e passaggio al CRM

Cosa abbiamo realizzato

  • Connettori per piattaforme pubbliche di lancio, community di sviluppatori, directory di startup e bacheche regionali
  • Crawler dei siti web che estrae i canali di contatto, con rendering headless opzionale per i siti che funzionano solo con JavaScript
  • Validazione e verifica degli indirizzi e-mail, punteggio dei lead e deduplicazione
  • Sequenze di outreach localizzate e con A/B test, con warm-up progressivo e limiti di invio
  • Tracciamento di risposte e rimbalzi via IMAP, classificazione delle risposte con l'IA e passaggio al CRM
  • Dashboard con ruoli (lettore, manager, amministratore), code di approvazione e statistiche per variante
  • Comando di verifica preliminare che controlla DNS del mittente (SPF, DMARC, MX), credenziali e limiti prima dell'avvio
  • Circa 160 test automatizzati eseguiti in CI, più le migrazioni dello schema

Funzionalità

  • Esecuzioni quotidiane idempotenti: chiavi univoche su fonte, dominio, elemento in coda e messaggio inviato, e una presa in carico atomica che impedisce i doppi invii
  • Deduplicazione per dominio normalizzato, con un intervallo minimo prima di ricontattare
  • Crawler che rispetta robots.txt, resta sul dominio di destinazione e usa timeout e limiti ai tentativi
  • Ogni template deve contenere un indirizzo postale e una riga per l'opt-out, verificati al salvataggio
  • Le richieste di opt-out ricevute per risposta vengono rispettate automaticamente
  • I contatti di alcune giurisdizioni passano in revisione manuale invece che all'invio automatico
  • Warm-up che si blocca e fa un passo indietro quando il tasso di rimbalzo sale, con lo stato di consegna sincronizzato dal provider e-mail
  • Frasi d'apertura scritte dall'IA limitate a una riga senza link, con un'alternativa neutra; le etichette assegnate dall'IA alle risposte non sostituiscono mai quelle di un manager
  • Dashboard fail-closed che non si avvia in pubblico senza autenticazione; password con hash, blocco dopo ripetuti accessi falliti e azioni di scrittura riservate per ruolo

Integrazioni

  • API di verifica e-mail (OAuth 2.0 client credentials)
  • API REST del CRM del cliente (OAuth 2.0 client credentials)
  • Invio SMTP e tracciamento di risposte e rimbalzi via IMAP
  • Sincronizzazione dello stato di consegna dal provider e-mail
  • API Google Gemini per la classificazione delle risposte e le frasi d'apertura

Tecnologie

  • Python 3.12
  • FastAPI
  • SQLAlchemy 2 + Alembic
  • PostgreSQL 16
  • Jinja2
  • httpx + BeautifulSoup
  • APScheduler
  • Playwright (headless Chromium)
  • Docker Compose
  • Nginx + Let's Encrypt
  • pytest
  • GitHub Actions

Risultato

In produzione per il cliente. L'esecuzione quotidiana è idempotente: un riavvio non può inviare due volte lo stesso messaggio. La piattaforma è diventata anche il nucleo comune di altri tre sistemi per lo stesso cliente, ciascuno eseguito come istanza isolata.

Un nucleo, quattro istanze isolate

Questa piattaforma è il nucleo di outreach alla base di altri tre sistemi per lo stesso cliente: un sistema di ricerca di agenzie partner, un sistema di riattivazione degli affiliati e un motore di reclutamento di affiliati. Ogni istanza ha database, dashboard e identità di invio propri, quindi dati e reputazione del mittente non si mescolano mai. Di proposito condividono una sola cosa: una lista globale di esclusione. Un opt-out, un rifiuto o un rimbalzo registrato da una qualsiasi istanza vale per tutte.

Parliamo del tuo progetto