n8n no atendimento ao cliente: 7 workflows que conectam seu help desk às suas outras ferramentas
7 workflows do n8n que levam eventos do help desk para o Slack, o Google Sheets, o seu CRM e os seus acompanhamentos, cada um com o gatilho, os nodes e o resultado. E também o que costuma dar errado na prática: verificação de assinatura, novas tentativas, custo das execuções e a direção que um webhook não cobre.
Deskwoot Team
12 min de leitura
Conteúdo
Um cliente dá nota 1 de 5 para o seu atendimento no domingo à noite. Você só vê na quinta, quando alguém finalmente abre os relatórios. A essa altura, a chance de reverter a situação já passou.
O n8n fecha lacunas como essa. Ele pega um evento do seu help desk e leva até o lugar onde alguém vai agir: um canal do Slack, uma planilha, o seu CRM, um e-mail de acompanhamento. A seguir estão 7 workflows que uma equipe de suporte pequena pode montar, cada um com o gatilho, os nodes no meio do caminho e o resultado. Os exemplos usam os eventos de webhook do Deskwoot; os padrões funcionam com qualquer help desk que envie webhooks.
Um aviso logo de cara: um webhook só envia eventos para fora do help desk. Para mudar algo lá dentro (atribuir, etiquetar, resolver), você precisa de uma API. O workflow 7 trata disso.
A configuração que todo workflow compartilha
No n8n, adicione um node Webhook como primeiro passo. Defina HTTP Method como POST e Respond como Immediately, para o n8n responder na hora e trabalhar depois. Deixe Authentication em None: o Deskwoot não envia Basic auth nem header com valor fixo, então qualquer outra opção rejeita todos os eventos. Copie a Production URL.
No Deskwoot, um administrador abre Configurações > Webhooks (o card do n8n em Configurações > Integrações tem um botão Abrir Webhooks que leva até lá), clica em Adicionar webhook, cola a URL em URL do endpoint, marca só os eventos de que este workflow precisa e clica em Criar webhook. Depois, publique o workflow no n8n.
O passo em que muita gente tropeça é a URL. A documentação do node Webhook do n8n explica que a Test URL só escuta enquanto você deixa o “Listen for test event” ativo no editor, e a Production URL escuta depois que o workflow é publicado. Cole a Test URL no help desk e tudo funciona enquanto você está olhando, e depois não chega mais nada. As execuções de produção aparecem na aba Executions, não no canvas.
Cada evento é um POST com corpo JSON (event, data, timestamp, accountId); a documentação da API lista os campos, e o nosso guia do n8n na Central de Ajuda mostra a configuração clique a clique. Dê a cada workflow o seu próprio webhook, assim fica fácil achar o que quebrou.
Os 7 workflows em resumo
| Workflow | Evento do Deskwoot | Nodes do n8n no meio | Resultado |
|---|---|---|---|
| 1. Distribuir conversas novas | Conversa criada | Switch, Slack | Cada equipe vê os próprios chats novos |
| 2. Alertar sobre palavras de risco | Mensagem criada | Filter, Slack ou Telegram | O dono fica sabendo de um chargeback na hora |
| 3. Registrar avaliações de CSAT | CSAT enviado | Google Sheets, If, Slack | Toda avaliação em uma planilha, as ruins sinalizadas |
| 4. Clientes novos no CRM | Conversa criada, Contato criado, Contato atualizado | Switch, Edit Fields, If, HubSpot | Todo mundo que escreve está no CRM |
| 5. Avisar a pessoa atribuída | Conversa atribuída | If, Code, Telegram ou Slack | Uma mensagem direta onde essa pessoa olha |
| 6. Acompanhar depois de resolver | Conversa resolvida | Remove Duplicates, Wait, Google Sheets, Gmail | Um pedido de avaliação 3 dias depois |
| 7. Marcar VIPs no help desk | Conversa criada | HubSpot, If, HTTP Request | Conversas VIP ganham etiqueta e prioridade alta |
1. Encaminhar conversas novas para o canal certo de cada equipe
Conversa criada traz a conversa (com o inboxId) e o nome e o e-mail do cliente. Um node Switch em data.conversation.inboxId ganha uma saída por caixa de entrada, cada uma seguida de um node Slack com Send a message: dúvidas de cobrança para #financeiro, a caixa do WhatsApp para #loja. O ID de cada caixa de entrada aparece na primeira execução depois de uma mensagem de teste.
Antes, veja se você precisa mesmo disso. A integração com o Slack do próprio Deskwoot funciona em todos os planos e já publica conversas novas, atribuições, avaliações de CSAT e mais nos canais que você escolher. O n8n vale a pena quando você precisa de uma regra que esses alertas não têm, ou do Microsoft Teams ou do Discord no lugar do Slack.
2. Alertar o dono quando uma mensagem fala em chargeback
Em Mensagem criada, um node Filter deixa passar as mensagens em que data.message.messageType é INCOMING, data.message.private é false e data.message.content corresponde a um padrão como reembolso|chargeback|advogado. Um node Slack ou Telegram manda o texto para o dono enquanto a conversa ainda está aberta.
Esse evento consome muitas execuções. Ele dispara a cada mensagem nas duas direções, incluindo as respostas da sua equipe e as notas privadas. 40 conversas por dia com 6 mensagens cada dão 240 execuções por dia, cerca de 7.200 por mês, e o n8n conta cada execução mesmo quando o Filter a descarta.
3. Enviar avaliações de CSAT para o Google Sheets e sinalizar as ruins
CSAT enviado traz rating (de 1 a 5), feedback (o comentário, ou vazio), conversationId, contactId e surveyId. Um node Google Sheets com Append Row grava uma linha por avaliação, com o timestamp do evento como data. Um node If pega as notas 2 ou menores e manda o comentário para o líder da equipe no Slack.
A planilha compensa quando você quer ver as avaliações ao lado de dados que os relatórios do Deskwoot não têm, como o valor do pedido. As pesquisas CSAT estão disponíveis a partir do plano Business; o guia de pesquisas CSAT explica quando elas são enviadas, e o nosso guia de pesquisas de feedback apresenta os tipos de pesquisa.
4. Colocar cada cliente novo no seu CRM
Envie Conversa criada, Contato criado e Contato atualizado para um único webhook. Um node Switch separa os eventos por event, um node Edit Fields em cada saída leva todos para os mesmos campos (nome, e-mail, ID do contato no Deskwoot), um node If descarta entradas sem e-mail, e o Create/Update a contact do node HubSpot grava tudo. Ele usa o e-mail para encontrar o contato, então um cliente que volta não vira um segundo registro.
Contato criado dispara quando um contato é salvo na página Contatos ou criado pela API; um desconhecido que escreve pela primeira vez aparece como Conversa criada. Esse payload não tem número de telefone, e clientes de WhatsApp ou SMS muitas vezes ainda não têm e-mail. Eles chegam ao CRM quando alguém da equipe adiciona um e-mail, o que dispara Contato atualizado.
5. Avisar a pessoa atribuída onde ela realmente olha
Conversa atribuída traz conversationId, assigneeId e previousAssigneeId, e assigneeId vem vazio quando a atribuição de uma conversa foi removida. Um node If pula esses casos. Um node Code procura a pessoa em uma pequena tabela de IDs de usuário do Deskwoot e IDs de chat do Telegram (ou IDs de membro do Slack), e um node Telegram ou Slack manda a mensagem para ela.
O evento dispara quando alguém da equipe ou a API atribui ou transfere uma conversa. O Round Robin e as regras de automação atribuem sem enviá-lo, então, numa equipe que distribui chats novos por Round Robin, este workflow só cobre atribuições manuais e transferências.
O evento traz IDs, não nomes. Para montar a tabela, atribua uma conversa de teste a cada pessoa da equipe e leia o assigneeId na aba Executions.
6. Iniciar um acompanhamento 3 dias depois que a conversa é resolvida
Conversa resolvida traz pouca coisa: conversationId e quem resolveu. Por isso, faça o workflow 4 gravar também o conversationId e o e-mail em uma planilha do Google Sheets, e busque o e-mail lá.
A sequência: Remove Duplicates (Remove Items Processed in Previous Executions, Value Is New, em conversationId), para que uma conversa resolvida duas vezes receba um único acompanhamento; Wait (After Time Interval, 3 dias); Google Sheets para achar o e-mail; Gmail para enviar a mensagem. Segundo a documentação do node Wait, um workflow pausado guarda os dados no banco de dados, então uma pausa de dias não é problema. Com as pesquisas CSAT ativas, o Deskwoot já pede uma nota a cada resolução, então peça uma avaliação pública ou confirme se a solução se manteve.
7. Marcar clientes VIP de volta no help desk (exige a API REST)
Em Conversa criada, um node HubSpot com Search contacts busca o e-mail, um node If verifica uma propriedade em que você confia (por exemplo, o estágio do ciclo de vida “Cliente”), e um node HTTP Request grava de volta em https://deskwoot.com/api/v1: um POST em /conversations/{id}/labels com o ID da sua etiqueta “vip” e um PATCH em /conversations/{id} com "priority": "HIGH" ou o assigneeId do gerente de contas. Poucos segundos depois de chegar, a conversa já tem a etiqueta e prioridade alta.
Isso exige um token da API REST em Configurações > Tokens de API (escopo conversations:write). A API REST faz parte do plano Enterprise pago; o teste de 7 dias não inclui tokens de API. Se você só quer que o n8n responda clientes, um bot Custom Webhook (Startup ou superior) basta.
Como verificar a assinatura
O Deskwoot assina todos os eventos. O header x-deskwoot-signature traz sha256= seguido do HMAC SHA256 em hex do corpo bruto, calculado com o secret do webhook como chave. No n8n, a verificação usa 3 nodes:
- No node Webhook, ative Raw Body, para os bytes exatos chegarem como dados binários.
- Adicione um node Crypto: ação Hmac, Binary File ativado com a propriedade binária do node Webhook, Type SHA256, Encoding HEX e o secret em uma credencial Crypto.
- Adicione um node If que compara
sha256=mais o resultado com o header, e mande as falhas para um beco sem saída.
Calcule o hash dos bytes brutos; um JSON interpretado e convertido de volta em texto pode ter bytes diferentes. Para uma comparação em tempo constante, use crypto.timingSafeEqual em um node Code, como sugere um exemplo completo no fórum do n8n. O n8n Cloud deixa o módulo crypto disponível no node Code; num n8n em servidor próprio, você precisa liberá-lo antes, como explica a documentação do node Code.
O problema: o painel do Deskwoot nunca mostra o secret de um webhook. O Deskwoot o devolve uma única vez, quando você cria o webhook pela API REST, o que de novo significa Enterprise. Um webhook criado em Configurações > Webhooks continua assinado, mas sem o secret você não consegue verificar a assinatura, então proteja a URL. O n8n dá a cada node Webhook novo um caminho aleatório por padrão. Mantenha a Production URL fora de capturas de tela e documentos compartilhados e, se ela vazar, mude o caminho no n8n e atualize a URL no Deskwoot com Editar.
Novas tentativas, timeouts e eventos duplicados
O Deskwoot espera até 10 segundos por uma resposta. Depois de um erro, um timeout ou uma falha de conexão, ele tenta mais uma vez 5 segundos depois, com o mesmo corpo e os mesmos headers, e então o evento se perde. Com Respond em Immediately, uma chamada lenta ao Google Sheets nunca causa uma nova tentativa. Sobram 2 casos:
- O n8n fica fora do ar por mais de alguns segundos (numa atualização ou reinicialização). Esses eventos se perdem, então atualize um n8n em servidor próprio fora do horário de atendimento. No Enterprise, você pode recuperar o que perdeu listando as conversas pela API REST.
- Um evento chega duas vezes, porque o n8n recebeu, mas respondeu tarde demais. A nova tentativa tem o mesmo corpo e o mesmo
timestamp, então um node Remove Duplicates em evento, timestamp econversationId(ousurveyId, no caso das avaliações) descarta a cópia. Coloque-o antes de tudo o que grava linhas ou envia mensagens.
n8n Cloud ou servidor próprio
O n8n Cloud não exige servidor e é cobrado por execuções. A página de preços do n8n conta cada vez que o workflow inteiro roda como uma execução, não importa quantos passos ele tenha, e lista 2.500 execuções por mês no plano Starter (consultado em outubro de 2026). Cada evento que você envia inicia uma execução, então marque no Deskwoot só os eventos de que precisa. Só o workflow 2 já pode esgotar um plano Starter.
Em servidor próprio, o n8n é gratuito na Community Edition, segundo a comparação do próprio n8n, que também deixa a manutenção por sua conta. O Deskwoot só envia para endereços HTTPS públicos, então um n8n num notebook ou atrás do roteador do escritório não recebe nada. Atrás de um proxy reverso, defina a variável da URL do webhook descrita na documentação de hospedagem do n8n, ou o node vai mostrar um endereço interno como Production URL.
Nos dois casos, o n8n guarda as execuções anteriores e, com elas, nomes, e-mails e textos de mensagens dos clientes. Dê acesso ao n8n só para quem pode ler o seu help desk.
Qual plano do Deskwoot cobre cada workflow
| O que o n8n deve fazer | O que o Deskwoot usa | Plano |
|---|---|---|
| Receber eventos (workflows 1 a 6) | Um webhook em Configurações > Webhooks | Startup ou superior, inclusive no teste |
| Receber avaliações de CSAT (workflow 3) | Pesquisas CSAT | Business ou superior |
| Responder clientes como bot | Um bot Custom Webhook em Configurações > Bots | Startup ou superior |
| Gravar de volta (workflow 7) ou obter um secret para verificar assinaturas | A API REST com um token de Configurações > Tokens de API | Enterprise, pago (fora do teste) |
Os assentos custam US$ 4 no Startup, US$ 8 no Business e US$ 12 no Enterprise por agente por mês, ou US$ 3,20, US$ 6,40 e US$ 9,60 com cobrança anual; o plano gratuito Hacker não envia webhooks. Os detalhes estão na página de preços, e o guia de webhooks lista todos os eventos.
Para a maioria das equipes pequenas, o melhor ponto de partida é o workflow 3: um evento, 3 nodes, e a próxima avaliação ruim chega ao líder da equipe no mesmo dia. Todo workspace novo do Deskwoot começa com um teste de 7 dias que inclui webhooks e pesquisas CSAT, então você pode conectar o seu n8n antes de pagar qualquer coisa.

