Zendesk Support API — tickets, usuários e organizações.
Nó Zendesk
O nó de workflow Zendesk chama a Zendesk Support API para gerenciar tickets, usuários e contatos finais. Use-o para abrir tickets de suporte quando clientes reportam problemas no WhatsApp ou sincronizar status de tickets de volta nas suas automações.
Node ID no editor: zendesk_request
Base URL: https://{{zendesk_subdomain}}.zendesk.com/api/v2/
Auth: Authorization: Basic {{zendesk_auth}}
O que faz
- Envia requisições HTTP autenticadas para endpoints da Zendesk Support API
- Suporta GET, POST, PUT, PATCH e DELETE
- Retorna
statusHTTP,datade resposta eheadersde resposta - Inclui templates de operação para listar/criar/atualizar tickets, listar usuários e listar contatos finais
Pré-requisitos
- Uma conta Zendesk Support (Team, Professional ou Enterprise)
- Seu subdomain Zendesk (a parte antes de
.zendesk.com, ex.:yourcompany) - Credenciais de API — uma das opções:
- API token (recomendado): e-mail de admin + API token gerado no Zendesk Admin Center
- OAuth access token (avançado)
- Chaves de integração em Configurações → Chaves de API:
zendesk_subdomain— somente o subdomain (ex.:yourcompany)zendesk_auth— credenciais codificadas em Base64 (veja abaixo)
Criando o valor zendesk_auth
A Basic auth do Zendesk usa o formato email/token:API_TOKEN, codificado em Base64:
- No Zendesk, vá em Admin Center → Apps and integrations → APIs → Zendesk API
- Ative Token access e crie um API token
- Monte a string de credencial:
your-email@company.com/token:YOUR_API_TOKEN - Codifique essa string em Base64 (ferramenta online, terminal ou nó JavaScript)
- Armazene o resultado Base64 como chave de integração
zendesk_auth
Exemplo no terminal:
echo -n 'agent@company.com/token:abc123token' | base64
O template de header do nó é Authorization: Basic {{zendesk_auth}} — a variável deve conter somente a string Base64, não a palavra "Basic".
Como configurar
Passo 1 — Definir credenciais
- Abra Configurações → Chaves de API
- Em Integration keys, adicione:
- Name:
zendesk_subdomain→ Value:yourcompany(somente subdomain) - Name:
zendesk_auth→ Value:email/token:API_TOKENcodificado em Base64
- Name:
Passo 2 — Adicionar o nó
- Abra Automações e edite seu workflow
- Na paleta, abra a categoria Communication
- Arraste Zendesk para o canvas
- Conecte após o gatilho ou nós de preparação de dados
Passo 3 — Escolher um template de operação
| Template | Method | Endpoint | Propósito |
|---|---|---|---|
| List tickets | GET | /tickets.json | Buscar tickets (paginado) |
| Get ticket | GET | /tickets/{{ticket_id}}.json | Buscar um ticket por ID |
| Create ticket | POST | /tickets.json | Abrir um novo ticket de suporte |
| Update ticket | PUT | /tickets/{{ticket_id}}.json | Atualizar campos ou status do ticket |
| List users | GET | /users.json | Buscar agentes e admins |
| List contacts | GET | /end_users.json | Buscar contatos finais |
Passo 4 — Configurar campos da requisição
| Campo | Obrigatório | Descrição |
|---|---|---|
| URL / Endpoint | Sim | URL completa da Zendesk API (subdomain injetado via {{zendesk_subdomain}}) |
| Method | Não | Método HTTP (padrão: GET) |
| Headers (JSON) | Não | Sobrescrever ou estender headers |
| Body (JSON) | Não | Body da requisição para POST/PUT |
Exemplo — criar ticket a partir de mensagem WhatsApp (POST):
- URL:
https://{{zendesk_subdomain}}.zendesk.com/api/v2/tickets.json - Method:
POST - Body:
{
"ticket": {
"subject": "WhatsApp support — {{contact.name}}",
"comment": {
"body": "Customer message: {{trigger.body.message}}\nPhone: {{contact.phone}}"
},
"priority": "normal",
"requester": {
"name": "{{contact.name}}",
"email": "{{contact.email}}"
},
"tags": ["whatsapp", "automated"]
}
}
Exemplo — atualizar status do ticket (PUT):
- URL:
https://{{zendesk_subdomain}}.zendesk.com/api/v2/tickets/{{variables.zendesk_ticket_id}}.json - Method:
PUT - Body:
{
"ticket": {
"status": "solved",
"comment": {
"body": "Resolved via WhatsApp automation.",
"public": false
}
}
}
Exemplo — listar tickets abertos (GET):
- URL:
https://{{zendesk_subdomain}}.zendesk.com/api/v2/tickets.json?status=open&sort_by=created_at&sort_order=desc - Method:
GET
Todos os campos suportam variáveis de workflow.
Passo 5 — Usar dados da resposta
O Zendesk retorna dados do ticket aninhados em ticket. Referencie em nós posteriores:
Ticket ID: {{zendesk_1.data.ticket.id}}
Status: {{zendesk_1.data.ticket.status}}
URL: {{zendesk_1.data.ticket.url}}
Armazene {{zendesk_1.data.ticket.id}} em um nó Variable para passos de atualização.
Saídas do nó
| Campo de saída | Descrição |
|---|---|
status | Código de status HTTP |
data | Body JSON parseado da resposta |
headers | Headers de resposta |
Dicas e boas práticas
- Sempre inclua e-mail do requester ao criar tickets — o Zendesk exige uma identidade de requester válida
- Use tags como
whatsappeautomatedpara filtrar tickets criados por workflow nas views do Zendesk - Armazene IDs de tickets Zendesk em campos customizados do contato WhatsWave para sincronização bidirecional
- Configure webhooks Zendesk ou triggers com webhooks para notificar o WhatsWave quando o status do ticket mudar
- Para alto volume de criação de tickets, adicione um nó Condition para verificar se um ticket já existe antes de criar duplicata
- Use valores de
priority:low,normal,high,urgent - Valores válidos de
statuspara atualizações:new,open,pending,hold,solved,closed - Paginate chamadas de listagem com
?page=2ou paginação por cursor a partir da URLnext_pageda resposta
Exemplos de casos de uso
Problema WhatsApp → ticket Zendesk → confirmação
- Gatilho — mensagem WhatsApp recebida com palavras-chave de suporte
- Zendesk POST — criar ticket com body da mensagem e dados do contato
- Variable — salvar
{{zendesk_1.data.ticket.id}}comozendesk_ticket_id - Send message — "Your ticket #{{zendesk_1.data.ticket.id}} was created. We'll reply soon."
Ticket resolvido → agradecimento WhatsApp
- Gatilho Webhook — status do ticket Zendesk alterado para
solved - Zendesk GET — buscar detalhes do ticket e requester
- Send message — agradecimento e link de pesquisa de satisfação
Escalar mensagens urgentes no WhatsApp
- AI Agent — classifica urgência da mensagem
- Condition — se
variables.urgency === 'high' - Zendesk POST — criar ticket com
priority: "urgent" - Send message — notificar equipe interna no WhatsApp
FAQ
Por que o nó retorna 401 Unauthorized?
O valor zendesk_auth está incorreto, não está codificado em Base64, ou o API token foi revogado. Regenere o token no Zendesk Admin e atualize a chave de integração.
Por que o nó retorna 404 Not Found?
Verifique zendesk_subdomain — deve ser somente o subdomain (ex.: yourcompany), não a URL completa. Verifique também se o ticket ID existe.
Qual formato usar para zendesk_auth?
String codificada em Base64 de email/token:API_TOKEN. O nó adiciona o prefixo Basic automaticamente.
Posso adicionar notas internas vs respostas públicas?
Sim — defina "public": false no objeto comment para notas internas, true (padrão) para respostas visíveis ao cliente.
Posso anexar arquivos aos tickets?
Faça upload de anexos via POST /api/v2/uploads.json primeiro, depois referencie o upload token no comentário do ticket. Configure via URL customizada ou use o nó HTTP.
Qual a diferença entre este nó e o nó HTTP?
Este nó pré-configura base URLs Zendesk, header de auth, variável de subdomain e templates de operação comuns de tickets. Use HTTP para endpoints Zendesk não suportados (Help Center, Chat, Sell).
Referência da API
| Item | Valor |
|---|---|
| Base URL | https://{{zendesk_subdomain}}.zendesk.com/api/v2/ |
| Auth header | Authorization: Basic {{zendesk_auth}} |
| Create ticket | POST /tickets.json |
| Official docs | Zendesk Ticketing API |
| API token setup | Zendesk API token |
Relacionados
Este artigo foi útil?
Precisa de mais ajuda? Falar com suporte