Una piccola introduzione Cos'è una integrazione tra SaaS con webhook custom e quando ti conviene
Una integrazione tra SaaS con webhook custom è un'architettura in cui un'applicazione SaaS (CRM, e-commerce, fatturazione, calendario, posta) invia un evento (es. "nuovo cliente", "ordine pagato", "appuntamento confermato") verso un endpoint HTTP che hai tu il controllo, e il tuo middleware lo processa: valida la firma, mette l'evento in coda di lavoro, applica le trasformazioni, lo inoltra ad altri SaaS o sistemi interni.
Differenza con Zapier / Make / workflow no-code: i SaaS di automazione (Zapier, Make, workflow no-code) sono ottimi per piccoli flussi rapidi da mettere in produzione senza scrivere codice, ma costano per esecuzione e crescono col volume. Una integrazione con webhook custom ha costo fisso (lo sviluppo iniziale e la manutenzione gestita) e scala a costo zero col volume. Conviene quando i flussi sono ricorrenti, ad alto volume, o richiedono trasformazioni complesse.
Da Vicenza dal 2008 abbiamo realizzato oltre 60 integrazioni SaaS-to-SaaS con webhook custom, in Node.js o PHP a seconda del contesto. Repository Git intestato al cliente, manutenzione gestita, niente piattaforme SaaS in mezzo.
Esempi tipici Tre esempi di intervento, in settori diversi
Esempio · settore servizi B2B Sito istituzionale di una società di servizi (settore consulenza)
Sostituzione di un flusso Zapier che inviava lead da modulo contatti a CRM e a piattaforma di email marketing, con un middleware custom in Node.js. Il volume era cresciuto a migliaia di lead al mese, l'abbonamento Zapier era diventato il costo più alto della stack. Dopo lo sviluppo, costo fisso.
12 mesi pareggio costi
Esempio · settore e-commerce Sito di un negozio online (settore retail)
Webhook su WooCommerce che invia ogni nuovo ordine a piattaforma logistica esterna, con mapping su SKU di magazzino diversi dai SKU di vendita. Idempotenza per evitare duplicazioni in caso di retry, dead letter queue per ordini con SKU non riconosciuto.
0 ordini persi nella pipeline
Esempio · settore manifatturiero B2B Sito di un produttore industriale (settore manifatturiero)
Integrazione tra calendario di produzione, gestionale aziendale e portale clienti tramite webhook custom. Quando uno step di produzione viene marcato come completato, gli eventi si propagano agli altri sistemi in tempo reale. Niente più telefonate per chiedere lo stato.
tempo reale aggiornamento stato ordine
Cosa includiamo Cosa contiene il nostro processo di integrazione
Webhook in entrata, code di lavoro, mapping dati, log centralizzati.
Endpoint webhook sicuri
Firma, retry, idempotenza.
Per ogni SaaS che invia eventi (CRM, e-commerce, fatturazione, posta) configuriamo un endpoint dedicato sul nostro middleware. Validazione della firma del payload (HMAC, JWT) per evitare eventi falsi. Idempotenza basata su ID evento per evitare di processare due volte lo stesso evento in caso di retry del SaaS sorgente.
- Endpoint dedicato per ogni SaaS sorgente
- Validazione firma del payload
- Idempotenza basata su ID evento
- Risposta HTTP 200 immediata
- Retry gestito secondo politiche del SaaS
- HTTPS obbligatorio
Coda di lavoro
Eventi processati senza perderli.
L'evento ricevuto dal webhook viene messo in coda di lavoro (BullMQ per Node.js, RQ per Python). Il processing avviene in modo asincrono, con retry automatico in caso di errore temporaneo (sistema esterno offline, rate limit raggiunto). Per fallimenti permanenti l'evento finisce in una dead letter queue per analisi manuale, niente eventi persi nel nulla.
- BullMQ / RQ per code di lavoro
- Processing asincrono
- Retry automatico su errore temporaneo
- Dead letter queue per fallimenti permanenti
- Niente eventi persi
- Parallelismo controllato
Mapping dati versionato
Trasformazioni tracciate e modificabili.
Ogni evento richiede un mapping tra formato sorgente e formato destinazione (campi nominativi diversi, valori codificati diversamente, validazioni di campo). Il mapping è tracciato nel codice, versionato Git, modificabile in modo controllato. Niente trasformazioni nascoste in moduli SaaS che cambiano senza preavviso.
- Mapping nel codice, niente moduli SaaS opachi
- Versionamento Git delle trasformazioni
- Modifiche tracciate in commit
- Test automatici sui mapping critici
- Documentazione del mapping consegnata
- Possibile modifica al volo se serve
Log centralizzati e dashboard
Storico eventi per audit e debug.
Ogni evento ricevuto e processato finisce sui log strutturati del nostro hub di gestione: timestamp, sorgente, ID evento, payload (escluse credenziali), trasformazioni applicate, destinazione, esito. Storico per audit e debug. Per casi specifici allestiamo dashboard con KPI in tempo reale (eventi al minuto, errori, lag della coda).
- Log strutturati di ogni evento
- Hub di gestione centralizzato
- Storico per audit e debug
- Dashboard con KPI su richiesta
- Accesso in sola lettura per il cliente
- Niente credenziali nei log
Il problema Perché Zapier e Make a un certo punto smettono di convenire
Pattern ricorrenti che vediamo prendendo in carico flussi gestiti con SaaS di automazione:
- Costo che cresce col volume: 100 esecuzioni al mese costano poco, 100.000 costano caro
- Logica nascosta in moduli proprietari: nessuna versione, nessun changelog visibile
- Niente idempotenza: in caso di retry vengono creati duplicati
- Niente dead letter queue: eventi falliti persi per sempre
- Dipendenza da disponibilità del SaaS: "se Zapier va giù si ferma tutto"
- Limiti di rate del free tier: scopri il tetto in produzione, eventi accodati
- Audit difficile: log presenti ma non esportabili per analisi serie
Approccio pro: webhook su endpoint tuoi, code di lavoro, mapping versionato, log centralizzati. Costo fisso, scala col volume.
I vantaggi Cosa ti porta avere webhook custom fatti bene
Quello che ti porti a casa
Risultati concreti per chi ha flussi SaaS-to-SaaS ricorrenti:
- Costo fisso: scala a costo zero col volume
- Codice di tua proprietà, repository Git intestato al cliente
- Niente eventi persi: idempotenza e dead letter queue
- Mapping versionato: trasformazioni tracciate, modificabili
- Log centralizzati: tracciabilità per audit e debug
- Resilienza: niente più "se Zapier va giù si ferma tutto"
- Riferimenti reali: oltre 60 integrazioni SaaS-to-SaaS attive
Come lavoriamo Le 4 fasi del nostro processo
1. Discovery e specifica
Settimana 1.
- Mappa dei SaaS coinvolti
- Inventario eventi e flussi
- Documento di mapping scritto
- Sign-off del cliente
2. Sviluppo iterativo
Settimana 2-N.
- Endpoint webhook sicuri
- Code di lavoro con retry
- Mapping versionato Git
- Test sui flussi chiave
3. Test e go-live
Settimana N.
- Test su staging dedicato
- Validazione del cliente
- Deploy in produzione
- Monitoring attivato
4. Manutenzione continuativa
Mensile.
- Monitoring eventi e code
- Alert su lag o fallimenti
- Adattamento ai cambi dei SaaS
- Report mensile al cliente
Strumenti Stack che usiamo per webhook e integrazione SaaS
Best-in-class per integrazione SaaS-to-SaaS:
- Node.js / TypeScript per concorrenza alta
- PHP 8 per integrazione con WordPress / WooCommerce
- BullMQ / RQ per code di lavoro
- Redis come backend di coda e cache
- Git con repository di proprietà del cliente
- Hub di gestione proprietario per log e dashboard
Tecnologie Stack webhook e integrazione SaaS
Node.js
Python
PHP
Redis
GitHub
Node.js
Python
PHP
Redis
GitHub Risultati Cosa garantiamo come output
Quello che ti consegniamo come standard:
- Endpoint webhook sicuri con firma e idempotenza
- Code di lavoro con retry e dead letter queue
- Mapping versionato Git
- Log centralizzati per audit e debug
- Repository Git intestato al cliente
- Manutenzione gestita sotto SLA
Quanto costa lo sviluppo di una integrazione con webhook custom? +
Servizio su misura: il preventivo dipende dalla complessità dei requisiti, dalle integrazioni con sistemi terzi (CRM, gestionale, API esterne), dal volume di test richiesto e dal livello di SLA in manutenzione. Prima cosa che facciamo è una discovery call gratuita di 30-45 minuti per capire scope e contesto, poi mandiamo un preventivo scritto entro 48-72 ore. Niente listini standard.
Quando conviene rispetto a Zapier / Make / workflow no-code? +
Conviene quando il volume cresce (migliaia di esecuzioni al mese), quando il flusso richiede idempotenza forte e log strutturati, quando le trasformazioni sono complesse o cambiano spesso. Per piccoli flussi rapidi, Zapier resta una scelta valida. Lo decidiamo caso per caso in fase di scoping.
Cosa succede se un SaaS sorgente cambia il formato del payload? +
Adattiamo il mapping nel nostro middleware prima che colpisca i sistemi destinazione. Il versionamento Git ci permette di tornare indietro se il cambio causa problemi. SLA scritti su tempo di risposta per fix critici.
Posso vedere lo storico degli eventi? +
Sì. Ogni evento ricevuto e processato finisce sui log strutturati del nostro hub di gestione, con accesso in sola lettura per il cliente su richiesta. Storico mantenuto per il periodo concordato (tipicamente 90 giorni).
Cosa succede se la coda si blocca? +
Monitoring continuo del lag della coda con alert al team di guardia in caso di accumulo anomalo. Indagine sulla causa, intervento di mitigazione, comunicazione al cliente. Per fallimenti ricorrenti facciamo post-mortem condiviso per evitare il ripetersi.
Il codice è mio o vostro? +
Sempre tuo. Repository Git intestato al cliente, niente codice offuscato, niente clausole di proprietà intellettuale. Quando vuoi puoi portare il codice a un altro fornitore. Per la maggior parte dei clienti la manutenzione resta a noi perché conviene, ma non è un vincolo.