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

Veja também