Svennis Partner Zoho Italia LogoSvennis
Integrazioni
Zoho CRM
Webhook
Regole workflow

Webhook di Zoho CRM verso sistemi esterni: come configurarli e quando non bastano

Configurare un webhook di Zoho CRM per inviare dati a ERP ed e-commerce, verificarne la ricezione e riconoscere i casi in cui servono una funzione Deluge o un'integrazione dedicata.

Svennis Cloud Solutions

Zoho Premium Partner
17 ottobre 20269 min di lettura
Webhook di Zoho CRM verso sistemi esterni: come configurarli e quando non bastano

Webhook di Zoho CRM verso sistemi esterni: cosa sono e quando bastano

I webhook di Zoho CRM verso sistemi esterni inviano in automatico i dati di un record a un ERP, a un e-commerce o a un'altra applicazione quando si verifica un evento. Si configurano in Impostazioni, Automazione, Azioni, Webhook e si collegano a una regola workflow. Bastano per notifiche semplici. Per errori, tentativi ripetuti e controlli di sicurezza serve invece codice o un'integrazione dedicata.

Un webhook è una notifica automatica che un'applicazione invia a un indirizzo web quando succede qualcosa. Il messaggio inviato si chiama payload e contiene i dati dell'evento. Nel caso di Zoho CRM, il webhook permette di inviare notifiche immediate ad applicazioni di terze parti a ogni evento, come descrive la guida di SleekFlow alla creazione di un webhook in Zoho CRM.

La configurazione segue tre passaggi principali:

  1. creare il webhook;
  2. collegarlo a una regola workflow;
  3. verificare che il sistema esterno riceva i dati.

Questa guida segue quei tre passaggi con un esempio completo. Chiude poi con una tabella di scelta tra webhook, funzione Deluge e integrazione dedicata. I dettagli tecnici vengono dalla documentazione ufficiale delle API di Zoho CRM, versione 8.

Prerequisiti del webhook: piano, moduli supportati e un indirizzo che riceve

Prima di configurare un webhook in Zoho CRM servono tre cose: un piano che lo includa, un modulo supportato e un sistema esterno pronto a ricevere. Conviene verificarle subito, perché ognuna può bloccare il lavoro a metà.

Il piano Zoho CRM

La pagina dei piani di implementazione di Zoho CRM elenca i webhook tra le funzioni del piano Professional. Il piano costa 23 euro per utente al mese. Lo Standard costa 14 euro per utente al mese con fatturazione annuale.

I moduli supportati

La documentazione dell'API di aggiornamento dei webhook è esplicita: non si possono configurare webhook per i moduli Call Logs e Notes. Se il processo che vuole automatizzare parte da una nota o da un registro chiamate, il webhook nativo non è lo strumento giusto.

Il sistema ricevente

L'"URL to notify" è l'indirizzo web del sistema esterno che riceve la notifica. Deve esistere prima di configurare il webhook. Il fornitore dell'ERP o della piattaforma e-commerce deve indicarLe tre elementi:

  • l'indirizzo;
  • il metodo HTTP atteso;
  • il formato dei dati che accetta.

Infine, il webhook vive dentro un'automazione. La documentazione cita come esempi le regole workflow e le regole di assegnazione. Senza una di queste, il webhook resta configurato ma non parte mai.

Configurare il webhook in Zoho CRM: metodo HTTP, URL e autorizzazione

Il webhook si crea in Zoho CRM dal percorso Impostazioni, Automazione, Azioni, Webhook, con il pulsante Configure Webhook. Le prime scelte riguardano il metodo HTTP, l'indirizzo di destinazione e il tipo di autorizzazione.

Il metodo HTTP

I metodi disponibili sono quattro: POST, PUT, GET e DELETE. La scelta non è neutra, perché condiziona cosa si può inviare. Header e corpo del messaggio valgono solo per POST e PUT. I parametri nell'URL valgono solo per GET.

Per trasmettere i dati di un cliente o di un ordine a un ERP serve quindi in genere POST o PUT. Solo con questi due metodi i dati viaggiano nel corpo della richiesta.

L'URL di destinazione

Nel campo URL to notify va l'indirizzo del sistema esterno. L'anteprima, chiamata Preview URL, mostra l'URL completo per GET e DELETE. Per POST e PUT mostra solo l'URL configurato, senza i dati del corpo.

Il tipo di autorizzazione

L'autorizzazione può essere di due tipi:

  • General: configura il webhook senza autorizzazione, con autorizzazione di base oppure con una chiave API;
  • Connection: usa un collegamento specifico creato tra Zoho CRM e l'applicazione di destinazione.

La scelta dipende da cosa accetta il sistema ricevente. "Nessuna autorizzazione" lascia l'indirizzo aperto a chiunque lo conosca. Va quindi evitata quando il webhook trasporta dati di clienti.

Con POST e PUT i dati del record viaggiano nel corpo, con GET solo nei parametri dell'URL. POST e PUT / GET. Dove viaggiano i dati: Nel corpo della richiesta / Nei parametri dell'URL; Header personalizzati: Disponibili / Riservati a POST e PUT; Forma

Parametri da inviare nel webhook: header, corpo e campi di unione

I parametri del webhook decidono quali dati del record arrivano al sistema esterno e in che forma. La documentazione dell'API Update Webhook di Zoho CRM distingue tre famiglie di valori:

  • module_parameters: valori dinamici presi dai campi del modulo, che cambiano in base al record che attiva il webhook;
  • custom_parameters: valori statici che non cambiano mai e partono sempre con la chiamata;
  • user_defined_parameters: parametri che permettono di formattare dati personalizzati o basati su un modello, usando i campi di unione.

Un campo di unione è un segnaposto che Zoho CRM sostituisce con il valore reale del record al momento dell'invio. La documentazione mostra il formato con l'esempio ${!Leads.Email}. Nell'editor del webhook basta digitare # per far comparire l'elenco dei campi disponibili.

Header

Gli header valgono solo per le richieste POST e PUT. Possono contenere l'ID del lead, l'ID del contatto o dell'organizzazione. Nei parametri personalizzati possono contenere anche un token di sicurezza. Se si usano gli header, serve almeno un parametro di modulo con un valore. In caso contrario il sistema mostra un errore al salvataggio.

Corpo

Il corpo vale solo per POST e PUT. Il tipo può essere nessuno, form-data oppure raw. Form-data invia coppie chiave-valore, come un modulo web. Raw invia il contenuto così com'è, in formato Text, JSON, HTML o XML. Il formato giusto è quello che il sistema ricevente dichiara di accettare.

Collegare il webhook a una regola workflow e dargli un nome riconoscibile

Un webhook di Zoho CRM non parte da solo: invia dati solo quando un'automazione lo richiama. Il secondo passaggio consiste quindi nel collegarlo a una regola workflow sullo stesso modulo. La regola stabilisce quando il webhook parte e per quali record.

Nella regola si scelgono il modulo, l'evento che la attiva e le eventuali condizioni. Tra le azioni si seleziona poi il webhook già configurato. Le condizioni vanno scritte con cura. Una regola troppo larga invia al sistema esterno anche record che non lo riguardano, per esempio lead di prova o duplicati.

Il nome del webhook conta più di quanto sembri. L'API Get Webhooks permette di filtrare i webhook solo per nome, con un unico criterio. Un nome descrittivo rende quindi più semplici i controlli successivi. Un buon nome indica tre elementi:

  • il modulo di partenza;
  • il sistema di destinazione;
  • lo scopo del webhook.

"Lead verso e-commerce, creazione cliente" è un esempio di nome utile.

La stessa API restituisce il campo associated, che indica se il webhook è collegato a un workflow. Un webhook non associato a nessuna regola non invia nulla. È il primo controllo da fare quando il sistema esterno non riceve dati.

Esempio completo: un nuovo lead di Zoho CRM inviato al sistema e-commerce

L'esempio seguente invia ogni nuovo lead di Zoho CRM a una piattaforma e-commerce, che crea l'anagrafica cliente. Usa solo impostazioni descritte nella documentazione. Indirizzo e formato esatti li fornisce il fornitore della piattaforma.

  1. Aprire Impostazioni, Automazione, Azioni, Webhook e scegliere Configure Webhook.
  2. Assegnare il nome "Lead verso e-commerce, creazione cliente" e scegliere il modulo Leads.
  3. Scegliere il metodo POST, perché i dati devono viaggiare nel corpo della richiesta.
  4. Inserire in URL to notify l'indirizzo comunicato dal fornitore dell'e-commerce.
  5. Impostare l'autorizzazione General con la chiave API fornita, oppure Connection se la piattaforma la supporta.
  6. Negli header, aggiungere un parametro personalizzato con il token di sicurezza concordato e un parametro di modulo con il valore ${!Leads.Email}.
  7. Nel corpo, scegliere raw in formato JSON e inserire con # i campi del lead richiesti dalla piattaforma.
  8. Salvare il webhook e creare una regola workflow sul modulo Leads, attivata alla creazione del record.
  9. Aggiungere il webhook tra le azioni della regola e attivarla.
  10. Creare un lead di prova e verificarne l'arrivo nel sistema e-commerce.

Il parametro di modulo con l'email soddisfa anche un requisito della documentazione. Se si usano gli header, deve esserci almeno un parametro di modulo con un valore. Il token statico permette alla piattaforma ricevente di scartare le chiamate che non lo contengono.

Verificare che il sistema esterno riceva i dati del webhook nel formato giusto

La verifica di un webhook si fa sul lato ricevente, con un record di prova: non basta che Zoho CRM salvi la configurazione. Occorre controllare che il dato arrivi e che arrivi nel formato atteso.

Le date sono il punto più delicato. La documentazione dell'API indica questi valori predefiniti:

  • formato data: dd-mmmm-yyyy;
  • formato data e ora: dd-mm-yyyy H:M:S;
  • fuso orario: Etc/GMT+12.

Un ERP che si aspetta un altro formato, o l'ora italiana, registrerà valori sbagliati senza segnalare errori. Questi parametri vanno quindi controllati prima del rilascio.

In Svennis, prima di attivare un webhook in produzione, lo colleghiamo alla regola nella sandbox e confrontiamo nel sistema ricevente date, orari e campi vuoti di un record di prova. Solo dopo replichiamo la configurazione nell'ambiente reale.

La sandbox è un ambiente sicuro per testare le personalizzazioni prima del rilascio. Un limite noto è distinguere le chiamate di prova da quelle reali. Nella discussione della community Zoho sul webhook che riconosce la sandbox un utente propone di inserire una variabile d'ambiente nell'URL. Resta però una proposta, non una funzione documentata.

Per un controllo periodico, l'API Get Webhooks di Zoho CRM elenca tutti i webhook con GET /settings/automation/webhooks. Restituisce fino a 200 webhook per pagina. Richiede lo scope ZohoCRM.settings.automation_actions.READ o uno più ampio.

Limiti del webhook: errori, tentativi ripetuti e sicurezza

Il limite principale del webhook di Zoho CRM è che invia e basta: la configurazione non prevede cosa fare se il sistema esterno non risponde. La documentazione dell'API descrive per un webhook metodo, URL, autorizzazione, header e corpo. Non descrive invece un'opzione per ripetere l'invio o registrare gli errori.

Errori sul lato ricevente

Il sistema ricevente può essere irraggiungibile, lento o mal configurato. In un post del forum di n8n, un utente riferisce un caso concreto. Dopo aver migrato la propria istanza su AWS con Postgres, alcuni workflow attivati da webhook restituivano errori di timeout della connessione. Senza un registro sul lato ricevente, un dato non arrivato può passare inosservato per giorni.

Sicurezza

Un token in un parametro personalizzato è un valore statico, inviato sempre uguale. Va trattato come una password. Se deve essere cambiato, si può aggiornare il webhook dall'interfaccia o con l'API Update Webhook, tramite PUT /settings/automation/webhooks/{webhook_ID}. L'autorizzazione Connection evita di gestire chiavi scritte a mano.

Webhook bloccati e alternative

Un webhook contrassegnato come bloccato non può essere modificato né eliminato. Conviene saperlo prima di pianificare una revisione. Zoho CRM offre anche una Notifications API. Un utente della community Zoho sulla differenza tra notifiche e webhook osserva che le due funzioni sembrano, in superficie, fare la stessa cosa. La scelta tra le due va quindi valutata caso per caso.

Webhook, funzione Deluge o integrazione dedicata: tabella di scelta

Il webhook nativo conviene quando un evento in Zoho CRM deve solo avvisare un altro sistema. Quando servono controlli sulla risposta, trasformazioni dei dati o sincronizzazione in entrambe le direzioni, la logica va spostata altrove. La tabella riassume le opzioni.

OpzioneQuando usarlaGestione degli erroriChi la mantiene
Webhook nativoNotifica a senso unico, pochi campi, sistema ricevente affidabileNessuna nella configurazione del webhook: va gestita dal riceventeAmministratore CRM
Funzione Deluge in una regola workflowDati da preparare o controllare prima dell'invio, logica scritta su misuraScritta nel codice della funzioneChi sviluppa in Deluge
Piattaforma di integrazione, per esempio n8nPiù passaggi, più sistemi, aggiornamento o creazione dei record in Zoho CRMGestita nei flussi della piattaformaChi amministra la piattaforma
Integrazione dedicata con un ERPSincronizzazione in entrambe le direzioni, volumi alti, dati contabiliProgettata con registri e ripresa degli invii fallitiPartner o team tecnico interno

Nel caso di n8n, la pagina di integrazione tra webhook e Zoho CRM di n8n indica che un flusso può partire da una chiamata webhook. Il nodo Zoho CRM gestisce 10 tipi di record, tra cui Lead, Deal e Sales Order. Offre anche l'operazione Create or Update, cioè l'upsert: crea il record oppure aggiorna quello già esistente. n8n addebita le esecuzioni complete dei flussi, non le singole operazioni.

Cosa significa per un'azienda italiana: dati, fuso orario e gestionali

Per un'azienda italiana il webhook di Zoho CRM sposta dati fuori dal CRM. Conta quindi sapere dove arrivano. Secondo la pagina dedicata a Zoho CRM, Zoho conserva i dati nei data center UE di Amsterdam e Dublino. Il webhook però li consegna all'indirizzo che Lei indica, ovunque si trovi il server.

Chi deve documentare i trattamenti ai fini del GDPR dovrebbe quindi registrare anche la destinazione di ogni webhook. Per una piattaforma intermedia vale lo stesso ragionamento. n8n dichiara che, per i piani ospitati, i dati restano nell'UE su server a Francoforte. In alternativa, n8n può essere installato sull'infrastruttura dell'azienda.

Il fuso orario predefinito Etc/GMT+12 merita un controllo specifico. Ordini, scadenze e date di consegna inviati a un gestionale italiano devono arrivare con l'ora corretta. Lo stesso vale per il formato della data.

Gli ERP sono il caso in cui il webhook semplice mostra più spesso i suoi limiti. Clienti, articoli, ordini e documenti devono restare coerenti nei due sistemi. Per i gestionali più diffusi conviene valutare un collegamento costruito per lo scopo. Due esempi sono l'integrazione tra SAP Business One e Zoho CRM per l'ERP e l'integrazione tra PrestaShop e Zoho CRM per il negozio online.

Prossimi passi per configurare il primo webhook di Zoho CRM

Il primo webhook di Zoho CRM conviene sceglierlo piccolo: un evento, un modulo, un sistema di destinazione. L'ordine di lavoro consigliato è il seguente:

  1. Verificare che il piano attivo includa i webhook e che il modulo di partenza non sia Call Logs o Notes.
  2. Chiedere al fornitore del sistema esterno indirizzo, metodo HTTP, autorizzazione e formato dei dati.
  3. Configurare il webhook con un nome descrittivo e i soli campi necessari.
  4. Collegarlo a una regola workflow con condizioni precise.
  5. Provarlo nella sandbox con un record di prova, controllando date, orari e campi vuoti sul lato ricevente.
  6. Decidere chi controlla, e con quale frequenza, che i dati continuino ad arrivare.

Prima del rilascio è utile ripassare le impostazioni generali del CRM con la checklist di configurazione di Zoho CRM prima del go-live. Il webhook eredita infatti eventuali errori su campi e moduli.

Se il punto 6 non ha una risposta chiara, o se il sistema esterno deve anche scrivere in Zoho CRM, il webhook da solo non basta. Se il Suo caso riguarda un negozio online, la pagina su Zoho CRM per l'e-commerce descrive come Svennis imposta questo tipo di collegamento.

Fonti

Ti è stato utile? Condividilo

LinkedInPost
Logo Svennis Cloud Solutions

Svennis Cloud Solutions

Premium Partner

Zoho Premium Partner dal 2011 con oltre 200 implementazioni di successo in Europa. Siamo specializzati in implementazione CRM, integrazioni personalizzate e automazione dei processi aziendali, aiutando le aziende italiane ed europee a sfruttare al massimo l'ecosistema Zoho.

Zoho Premium Partner - Dal 2011

Pronto a Trasformare la Tua Azienda?

Parliamo di come Zoho può ottimizzare i tuoi processi aziendali. Prenota una consulenza gratuita con il nostro team - senza impegno, solo consigli onesti basati su oltre 200 implementazioni.