Help desk: Zendesk, Freshdesk e Intercom
Sincronizza i ticket del tuo help desk (Zendesk, Freshdesk o Intercom) con il CRM come Ticket, usando il tuo account (modello BYO).
L'integrazione Help desk usa il TUO account Zendesk, Freshdesk o Intercom (modello BYO: porti il tuo account). Ogni ticket creato o aggiornato nel tuo help desk diventa un Ticket nel CRM, con il Contatto collegato automaticamente tramite l'email del richiedente. Non c'è costo, margine o intermediazione da parte nostra: i dati arrivano direttamente dal tuo account.
L'integrazione parte inerte: non succede nulla finché non compili le credenziali e attivi. Tutti i segreti (signing secret, client secret, token API) sono memorizzati cifrati nel CRM e non vengono mai mostrati di nuovo. Ogni piattaforma ha la propria scheda in Impostazioni → Integrazioni; l'URL del webhook è unico (/api/inbound/helpdesk/…) e il CRM riconosce la piattaforma dal token dell'URL.
Prerequisiti
- Un account Zendesk, Freshdesk o Intercom con accesso da amministratore per creare webhook/trigger e visualizzare i signing secret.
- Zendesk: il sottodominio (la parte prima di .zendesk.com) e il Signing secret del webhook (Admin Center → Apps and integrations → Webhooks).
- Freshdesk: il dominio (es. miaazienda.freshdesk.com) e un segreto condiviso definito da te. Intercom: il Client secret della tua app (Developer Hub).
- In Sellio, accesso da amministratore per salvare le credenziali e attivare l'integrazione in Impostazioni → Integrazioni.
Cosa succede a ogni ticket
- Il ticket esterno diventa un record dell'oggetto Ticket nel CRM (oggetto, stato, priorità ed email del richiedente).
- Lo stato e la priorità vengono convertiti nei valori del CRM (es. Zendesk open → in corso, solved → risolto; Freshdesk 2 → in corso, 4 → risolto; Intercom open → in corso, closed → chiuso). Priorità urgent/priority → critica/alta.
- Il Contatto viene collegato tramite l'email del richiedente quando esiste già nel CRM. Se non esiste, il ticket viene creato comunque (non collegato) e potrai associarlo in seguito.
Zendesk
- Apri Impostazioni → Integrazioni e trova la scheda "Help desk (Zendesk)".
- Compila il sottodominio (la parte prima di .zendesk.com) e il Signing secret del webhook. Facoltativamente, l'email dell'agente e il token API, se vuoi creare ticket dal CRM. Clicca "Salva credenziali".
- Copia l'"URL webhook" che compare.
- In Zendesk Admin Center → Apps and integrations → Webhooks, crea un webhook (JSON) che punti a quell'URL e associalo a un trigger che si attiva alla creazione/aggiornamento del ticket. Il corpo del trigger deve includere: id, subject, status, priority, requester_email. Zendesk firma ogni chiamata (header X-Zendesk-Webhook-Signature) con il Signing secret.
- Torna al CRM e clicca "Attiva".
Freshdesk
Freshdesk non firma i webhook in modo nativo. Definisci invece un segreto condiviso e configuri l'automazione per inviarlo nell'header X-Freshdesk-Secret; il CRM verifica questo header a ogni chiamata.
- Nel CRM, trova la scheda "Help desk (Freshdesk)".
- Compila il dominio (es. miaazienda.freshdesk.com) e un Segreto del webhook (una stringa a tua scelta). Facoltativamente, la API key, se vuoi creare ticket dal CRM. Clicca "Salva credenziali".
- Copia l'"URL webhook".
- In Freshdesk → Admin → Automazioni, crea una regola che si attiva alla creazione/aggiornamento del ticket con l'azione "Trigger webhook" (POST, JSON) verso quell'URL, includendo l'header X-Freshdesk-Secret con il segreto sopra. Il corpo deve includere: id, subject, status, priority, email.
- Torna al CRM e clicca "Attiva".
Intercom
- Nel CRM, trova la scheda "Help desk (Intercom)".
- Compila il Client secret della tua app Intercom (Developer Hub → la tua app → Basic information). Facoltativamente, un Access token, se vuoi creare conversazioni dal CRM. Clicca "Salva credenziali".
- Copia l'"URL webhook".
- In Intercom Developer Hub → la tua app → Webhooks, punta l'URL di notifica a quell'URL e iscriviti agli argomenti delle conversazioni (es. conversation.user.created, conversation.user.replied). Intercom firma ogni chiamata con il Client Secret (header X-Hub-Signature, HMAC-SHA1).
- Torna al CRM e clicca "Attiva".
Creare ticket dal CRM (in uscita, facoltativo)
Se compili le credenziali in uscita (Zendesk: email + token API; Freshdesk: API key; Intercom: access token), il CRM può anche creare un ticket nel tuo help desk. È una funzione best-effort: se la chiamata API fallisce, il CRM non interrompe il flusso. Segnala semplicemente l'errore. Dove appaiono i ticket: nell'oggetto Ticket del CRM e, quando il richiedente è già un Contatto, collegato a esso.
Tratta gli URL dei webhook e i segreti come dati riservati. Il CRM verifica la firma di ogni chiamata (Zendesk/Intercom tramite HMAC; Freshdesk tramite il segreto condiviso); le chiamate non valide vengono rifiutate. Se provi ad attivare senza aver compilato il segreto di verifica, l'integrazione resta inerte e non viene sincronizzato nulla finché tutto non è a posto.
Come testare
- Zendesk: in Admin Center → Apps and integrations → Webhooks, usa il pulsante di test del webhook, oppure crea/aggiorna un ticket reale che attivi il trigger.
- Freshdesk: attiva la regola di automazione creando/aggiornando un ticket; Intercom: genera una conversazione di test che corrisponda agli argomenti sottoscritti.
- Nel CRM, apri l'oggetto Ticket e conferma che il ticket sia apparso con oggetto/stato/priorità e collegato al Contatto (se l'email del richiedente esiste già).
- Reinvia lo stesso evento e conferma che il Ticket venga aggiornato, non duplicato (deduplicazione tramite provider:id).
Risoluzione dei problemi
- Zendesk: firma non valida: il Signing secret salvato nel CRM è diverso da quello del webhook (header X-Zendesk-Webhook-Signature). Copia di nuovo il segreto del webhook nell'Admin Center e reinseriscilo.
- Freshdesk: chiamate rifiutate: l'automazione deve inviare l'header X-Freshdesk-Secret con ESATTAMENTE il segreto salvato nel CRM (Freshdesk non firma in modo nativo).
- Intercom: firma non valida: controlla il Client secret dell'app (Developer Hub → Basic information); la firma è HMAC-SHA1 nell'header X-Hub-Signature.
- Non si sincronizza: conferma che il corpo del trigger/webhook includa i campi attesi (id, subject, status, priority ed email del richiedente) e che l'integrazione sia attivata.
- Ticket senza contatto: il collegamento avviene tramite l'email del richiedente. Se non è ancora un Contatto, il Ticket viene creato senza collegamento. Un 404 sull'URL indica che l'integrazione è disattivata o che il token è cambiato.