Pular para o conteúdo principal

n8n

Plano Basic e superiores

Webhooks exigem um plano pago. Veja Automações com webhooks para limites e detalhes.

O n8n é uma plataforma de automação que você pode auto-hospedar ou usar na nuvem. Conecte o TellDone ao n8n usando um nó Webhook. Sua instância n8n precisa ter uma URL HTTPS acessível pela internet.

Configuração​

No n8n​

  1. Adicione um nó Webhook ao seu workflow
  2. Defina HTTP Method como POST
  3. Defina um path (por exemplo, telldone)
  4. (Opcional) Ative Header Auth: Name = Authorization, Value = seu token secreto
  5. Copie a Production URL (não a URL de teste)

No TellDone​

  1. Vá em Configurações > Integrações > Automações com webhooks
  2. Toque em Nova automação e cole a URL de produção do n8n
  3. Se você ativou Header Auth no n8n, digite o mesmo token como cabeçalho de autenticação no TellDone
  4. Escolha quais tipos de dado enviar
  5. Toque em Salvar, depois em Testar para enviar uma carga útil de exemplo

Veja o log de execução do n8n - você deve ver um payload com "test": true.

Roteamento por tipo de evento​

Adicione um nó Switch depois do nó Webhook para rotear dados por tipo de evento:

  • Campo de roteamento: o valor event dos dados recebidos
  • Regra 1: igual a note.created - rote para as ações de notas
  • Regra 2: igual a task.created - rote para as ações de tarefas
  • Regra 3: igual a calendar_event.created - rote para as ações de calendário
  • Regra 4: igual a report.created - rote para as ações de relatórios

Conecte cada saída do Switch ao nó de ação apropriado (Todoist, Google Calendar, Slack, etc.).

Expressões úteis​

Ao configurar nós de ação, use estas expressões do n8n para acessar dados do TellDone:

ExpressãoDescrição
{{ $json.data.title }}Título da nota, tarefa ou evento
{{ $json.data.tags.join(', ') }}Tags como string separada por vírgulas
{{ $json.data.priority }}Nível de prioridade
{{ $json.data.due_date }}Data de vencimento (tarefas)
{{ $json.data.summary }}Resumo gerado por IA (notas)
{{ $json.event }}Tipo de evento

Para a lista completa de campos em cada tipo de dado, veja Automações com webhooks - O que é enviado.

Filtrando eventos de teste​

Adicione um nó IF logo depois do nó Webhook:

  • Condição: {{ $json.test }} não é verdadeiro
  • Caminho verdadeiro: resto do seu workflow
  • Caminho falso: No Operation (descarta eventos de teste)

Exemplos de workflows​

  • Webhook - Switch - Todoist: cria tarefas com prioridade e data de vencimento
  • Webhook - Switch - Google Calendar: cria eventos com horário, local e participantes
  • Webhook - Switch - Slack: posta relatórios diários em um canal
  • Webhook - Switch - Google Sheets: registra todas as notas como linhas de planilha
  • Webhook - Switch - Notion: salva notas com tags e resumo

Verificando assinaturas de webhook (opcional)​

Limitação do body bruto no n8n

O nó Code do n8n expõe apenas o objeto JSON interpretado, não o body bruto da requisição. A verificação de assinatura exige os bytes brutos exatos que o TellDone assinou. Na prática, a maioria dos usuários do n8n usa o header padrão Authorization: <segredo_de_assinatura> para autenticação em vez da verificação HMAC.

Para uso em produção, você pode verificar que os dados do webhook realmente vieram do TellDone, conferindo a assinatura HMAC-SHA256. Adicione um nó Code logo depois do nó Webhook:

const crypto = require('crypto');

const secret = 'whsec_seu_segredo_de_assinatura_aqui';
const signature = $input.first().headers['x-lp-signature'];
const timestamp = $input.first().headers['x-lp-timestamp'];
const body = JSON.stringify($input.first().json);

const expected = 'sha256=' + crypto
.createHmac('sha256', secret)
.update(timestamp + '.' + body)
.digest('hex');

if (signature !== expected) {
throw new Error('Assinatura de webhook inválida');
}

// Rejeita timestamps mais velhos que 5 minutos
const age = Math.floor(Date.now() / 1000) - parseInt(timestamp);
if (age > 300) {
throw new Error('Timestamp do webhook muito antigo');
}

return $input.all();

Substitua whsec_seu_segredo_de_assinatura_aqui pelo segredo de assinatura que você copiou ao criar a automação no TellDone.

Desconectar​

Para parar de enviar dados ao n8n:

  • Desative o workflow no n8n, ou
  • Desative ou exclua a automação em TellDone Configurações > Integrações > Automações com webhooks

Vê também​