Passa al contenuto principale

n8n

Piano Basic e superiori

I webhook richiedono un piano a pagamento. Vedi Automazioni webhook per limiti e dettagli.

n8n è una piattaforma di automazione che puoi self-hostare o usare nel cloud. Collega TellDone a n8n usando un nodo Webhook. La tua istanza n8n deve avere un URL HTTPS accessibile da internet.

Configurazione

In n8n

  1. Aggiungi un nodo Webhook al tuo workflow
  2. Imposta HTTP Method su POST
  3. Imposta un percorso (es. telldone)
  4. (Opzionale) Attiva Header Auth: Name = Authorization, Value = il tuo token segreto
  5. Copia il Production URL (non l'URL di test)

In TellDone

  1. Vai in Impostazioni > Integrazioni > Automazioni webhook
  2. Tocca Nuova automazione e incolla l'URL di produzione di n8n
  3. Se hai attivato Header Auth in n8n, inserisci lo stesso token come header di autenticazione in TellDone
  4. Scegli quali tipi di dati inviare
  5. Tocca Salva, poi Test per inviare un payload di esempio

Controlla il log di esecuzione di n8n: dovresti vedere un payload con "test": true.

Indirizzamento per tipo di evento

Aggiungi un nodo Switch dopo il nodo Webhook per indirizzare i dati per tipo di evento:

  • Routing field: il valore di event dai dati in ingresso
  • Rule 1: equals note.created - indirizza alle tue azioni note
  • Rule 2: equals task.created - indirizza alle tue azioni attività
  • Rule 3: equals calendar_event.created - indirizza alle tue azioni calendario
  • Rule 4: equals report.created - indirizza alle tue azioni report

Collega ogni output dello Switch al nodo di azione appropriato (Todoist, Google Calendar, Slack, ecc.).

Espressioni utili

Quando configuri i nodi di azione, usa queste espressioni n8n per accedere ai dati TellDone:

EspressioneDescrizione
{{ $json.data.title }}Titolo della nota, attività o evento
{{ $json.data.tags.join(', ') }}Tag come stringa separata da virgole
{{ $json.data.priority }}Livello di priorità
{{ $json.data.due_date }}Data di scadenza (attività)
{{ $json.data.summary }}Riepilogo generato dall'AI (note)
{{ $json.event }}Tipo di evento

Per l'elenco completo dei campi in ogni tipo di dato, vedi Automazioni webhook - Cosa viene inviato.

Filtrare gli eventi di test

Aggiungi un nodo IF subito dopo il nodo Webhook:

  • Condizione: {{ $json.test }} non è true
  • Percorso true: il resto del tuo workflow
  • Percorso false: No Operation (scarta gli eventi di test)

Esempi di workflow

  • Webhook - Switch - Todoist: crea attività con priorità e scadenza
  • Webhook - Switch - Google Calendar: crea eventi con orario, luogo e partecipanti
  • Webhook - Switch - Slack: pubblica i report giornalieri in un canale
  • Webhook - Switch - Google Sheets: registra tutte le note come righe del foglio
  • Webhook - Switch - Notion: salva le note con tag e riepilogo

Verifica delle firme dei webhook (opzionale)

Limitazione del body grezzo in n8n

Il nodo Code di n8n espone solo l'oggetto JSON già parsato, non il body grezzo della richiesta. La verifica della firma richiede i byte grezzi esatti che TellDone ha firmato. In pratica, la maggior parte degli utenti n8n usa l'header predefinito Authorization: <signing_secret> per l'autenticazione invece della verifica HMAC.

Per l'uso in produzione, puoi verificare che i dati del webhook arrivino davvero da TellDone controllando la firma HMAC-SHA256. Aggiungi un nodo Code subito dopo il nodo Webhook:

const crypto = require('crypto');

const secret = 'whsec_your_signing_secret_here';
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('Invalid webhook signature');
}

// Reject timestamps older than 5 minutes
const age = Math.floor(Date.now() / 1000) - parseInt(timestamp);
if (age > 300) {
throw new Error('Webhook timestamp too old');
}

return $input.all();

Sostituisci whsec_your_signing_secret_here con il signing secret che hai copiato quando hai creato l'automazione in TellDone.

Disconnessione

Per smettere di inviare dati a n8n:

  • Disattiva il workflow in n8n, oppure
  • Disattiva o elimina l'automazione in TellDone Impostazioni > Integrazioni > Automazioni webhook

Vedi anche

  • Automazioni webhook - formato del payload, limiti delle consegne e sicurezza
  • Zapier - alternativa di automazione cloud
  • Make - alternativa di automazione cloud