Help desk: Zendesk, Freshdesk e Intercom
Sincronize os chamados do seu help desk (Zendesk, Freshdesk ou Intercom) para o CRM como Tickets, usando a sua própria conta (modelo BYO).
A integração de Help desk usa a SUA conta do Zendesk, Freshdesk ou Intercom (modelo BYO, "traga a sua própria conta"). Cada chamado criado ou atualizado no seu help desk vira um Ticket no CRM, com o Contato vinculado automaticamente pelo e-mail do solicitante (requester). Não há custo, margem nem intermediação nossa: os dados vêm direto da sua conta.
A integração nasce inerte: nada acontece até você preencher as credenciais e ativar. Todos os segredos (signing secret, client secret, API tokens) ficam cifrados no CRM e nunca são exibidos de volta. Cada plataforma tem o seu próprio cartão em Configurações → Integrações; a URL do webhook é única (/api/inbound/helpdesk/…) e o CRM sabe de qual plataforma se trata pelo token da URL.
Pré-requisitos
- Uma conta do Zendesk, Freshdesk ou Intercom com acesso de administrador para criar webhooks/triggers e ver os segredos de assinatura.
- Zendesk: o subdomínio (parte antes de .zendesk.com) e o Signing secret do webhook (Admin Center → Apps and integrations → Webhooks).
- Freshdesk: o domínio (ex.: minhaco.freshdesk.com) e um segredo compartilhado que você define. Intercom: o Client secret do seu app (Developer Hub).
- No Sellio, ser administrador para salvar as credenciais e ativar a integração em Configurações → Integrações.
O que acontece a cada chamado
- O ticket externo vira um registro do objeto Ticket no CRM (assunto, status, prioridade e o e-mail do solicitante).
- O status e a prioridade são convertidos para os valores do CRM (ex.: Zendesk open → em atendimento, solved → resolvido; Freshdesk 2 → em atendimento, 4 → resolvido; Intercom open → em atendimento, closed → fechado). Prioridade urgent/priority → crítica/alta.
- O Contato é vinculado pelo e-mail do solicitante quando já existe no CRM. Se não existir, o ticket é criado mesmo assim (sem vínculo) e você pode associá-lo depois.
Zendesk
- Abra Configurações → Integrações e localize o cartão "Help desk (Zendesk)".
- Preencha o subdomínio (a parte antes de .zendesk.com) e o Signing secret do webhook. Opcionalmente, o e-mail do agente e o API token, se quiser criar chamados a partir do CRM. Clique em "Salvar credenciais".
- Copie a "URL do webhook" que aparece.
- No Zendesk Admin Center → Apps and integrations → Webhooks, crie um webhook (JSON) apontando para essa URL e associe-o a um trigger que dispara na criação/atualização de tickets. O corpo do trigger deve incluir: id, subject, status, priority, requester_email. O Zendesk assina cada chamada (header X-Zendesk-Webhook-Signature) com o Signing secret.
- Volte ao CRM e clique em "Ativar".
Freshdesk
O Freshdesk não assina os webhooks nativamente. Em vez disso, você define um segredo compartilhado e configura a automação para enviá-lo no header X-Freshdesk-Secret; o CRM verifica esse header em cada chamada.
- No CRM, localize o cartão "Help desk (Freshdesk)".
- Preencha o domínio (ex.: minhaco.freshdesk.com) e um Segredo do webhook (um texto que você inventa). Opcionalmente, a API key, se quiser criar chamados a partir do CRM. Clique em "Salvar credenciais".
- Copie a "URL do webhook".
- No Freshdesk → Admin → Automations, crie uma regra que dispara em ticket criado/atualizado com a ação "Trigger webhook" (POST, JSON) para essa URL, incluindo o header X-Freshdesk-Secret com o segredo acima. O corpo deve incluir: id, subject, status, priority, email.
- Volte ao CRM e clique em "Ativar".
Intercom
- No CRM, localize o cartão "Help desk (Intercom)".
- Preencha o Client secret do seu app Intercom (Developer Hub → seu app → Basic information). Opcionalmente, um Access token, se quiser criar conversas a partir do CRM. Clique em "Salvar credenciais".
- Copie a "URL do webhook".
- No Intercom Developer Hub → seu app → Webhooks, aponte a URL de notificação para essa URL e assine os tópicos de conversa (ex.: conversation.user.created, conversation.user.replied). O Intercom assina cada chamada com o Client Secret (header X-Hub-Signature, HMAC-SHA1).
- Volte ao CRM e clique em "Ativar".
Criar chamados a partir do CRM (saída, opcional)
Se você preencher as credenciais de saída (Zendesk: e-mail + API token; Freshdesk: API key; Intercom: access token), o CRM também consegue criar um chamado no seu help desk. É um recurso best-effort: se a chamada à API falhar, o CRM não quebra o fluxo: apenas informa o erro. Onde os tickets aparecem: no objeto Tickets do CRM e, quando o solicitante já é um Contato, vinculados a ele.
Trate as URLs dos webhooks e os segredos como secretos. O CRM verifica a assinatura de cada chamada (Zendesk/Intercom por HMAC; Freshdesk pelo segredo compartilhado); chamadas inválidas são recusadas. Se você tentar ativar sem preencher o segredo de verificação, a integração fica inerte: nada é sincronizado até tudo estar no lugar.
Como testar
- Zendesk: no Admin Center → Apps and integrations → Webhooks, use o botão de teste do webhook, ou crie/atualize um ticket real que dispare o trigger.
- Freshdesk: dispare a regra de automação criando/atualizando um ticket; Intercom: gere uma conversa de teste que case os tópicos assinados.
- No CRM, abra o objeto Tickets e confirme que o chamado apareceu com assunto/status/prioridade e vinculado ao Contato (se o e-mail do solicitante já existir).
- Reenvie o mesmo evento e confirme que o Ticket é atualizado, não duplicado (dedup por provider:id).
Solução de problemas
- Zendesk: assinatura inválida: o Signing secret salvo no CRM difere do webhook (header X-Zendesk-Webhook-Signature). Copie o secret do webhook no Admin Center e recadastre.
- Freshdesk: chamadas recusadas: a automação precisa enviar o header X-Freshdesk-Secret com EXATAMENTE o segredo salvo no CRM (o Freshdesk não assina nativamente).
- Intercom: assinatura inválida: confira o Client secret do app (Developer Hub → Basic information); a assinatura é HMAC-SHA1 no header X-Hub-Signature.
- Não sincroniza: confirme que o corpo do trigger/webhook inclui os campos esperados (id, subject, status, priority e o e-mail do solicitante) e que a integração está ativada.
- Ticket sem contato: o vínculo é pelo e-mail do solicitante; se ele ainda não é Contato, o Ticket é criado sem vínculo. 404 na URL indica integração desativada ou token trocado.