Ga naar hoofdinhoud

n8n

Basic-abonnement en hoger

Webhooks vereisen een betaald abonnement. Zie Webhook-automations voor limieten en details.

n8n is een automation-platform dat je zelf kunt hosten of in de cloud kunt gebruiken. Verbind TellDone met n8n via een Webhook-node. Je n8n-instantie moet een HTTPS-URL hebben die toegankelijk is vanaf het internet.

Setup

In n8n

  1. Voeg een Webhook-node toe aan je workflow
  2. Stel HTTP Method in op POST
  3. Stel een pad in (bijv. telldone)
  4. (Optioneel) Schakel Header Auth in: Naam = Authorization, Waarde = je geheime token
  5. Kopieer de Production URL (niet de test-URL)

In TellDone

  1. Ga naar Instellingen > Integraties > Webhook-automations
  2. Tik op Nieuwe automation en plak de productie-URL van n8n
  3. Als je Header Auth in n8n hebt ingeschakeld, voer dan in TellDone hetzelfde token in als de auth-header
  4. Kies welke datatypes je wilt versturen
  5. Tik op Opslaan, daarna op Test om een voorbeeldpayload te versturen

Bekijk het executie-log van n8n - je zou een payload met "test": true moeten zien.

Routing per event-type

Voeg een Switch-node toe na de Webhook-node om data per event-type te routeren:

  • Routing-veld: de waarde event uit de inkomende data
  • Regel 1: gelijk aan note.created - routeer naar je notitiesacties
  • Regel 2: gelijk aan task.created - routeer naar je takenacties
  • Regel 3: gelijk aan calendar_event.created - routeer naar je agenda-acties
  • Regel 4: gelijk aan report.created - routeer naar je rapportenacties

Verbind elke Switch-output met de juiste actie-node (Todoist, Google Calendar, Slack, enz.).

Handige expressies

Bij het configureren van actie-nodes gebruik je deze n8n-expressies om TellDone-data te benaderen:

ExpressieBeschrijving
{{ $json.data.title }}Titel van de notitie, taak of afspraak
{{ $json.data.tags.join(', ') }}Tags als een door komma's gescheiden string
{{ $json.data.priority }}Prioriteitsniveau
{{ $json.data.due_date }}Vervaldatum (taken)
{{ $json.data.summary }}Door AI gegenereerde samenvatting (notities)
{{ $json.event }}Type event

Voor de volledige lijst met velden in elk datatype, zie Webhook-automations - Wat wordt verstuurd.

Test-events filteren

Voeg een IF-node toe direct na de Webhook-node:

  • Conditie: {{ $json.test }} is niet true
  • True-pad: rest van je workflow
  • False-pad: No Operation (test-events negeren)

Voorbeeldworkflows

  • Webhook - Switch - Todoist: maak taken aan met prioriteit en vervaldatum
  • Webhook - Switch - Google Calendar: maak afspraken aan met tijd, locatie en deelnemers
  • Webhook - Switch - Slack: post dagrapporten in een kanaal
  • Webhook - Switch - Google Sheets: log alle notities als spreadsheet-rijen
  • Webhook - Switch - Notion: bewaar notities met tags en samenvatting

Webhook-handtekeningen verifiëren (optioneel)

Beperking van raw body in n8n

De n8n Code-node geeft alleen het geparseerde JSON-object terug, niet de ruwe request body. Handtekeningverificatie vereist de exacte ruwe bytes die TellDone heeft ondertekend. In de praktijk gebruiken de meeste n8n-gebruikers de standaard Authorization: <signing_secret>-header voor authenticatie in plaats van HMAC-verificatie.

Voor productiegebruik kun je verifiëren dat webhook-data echt van TellDone komt door de HMAC-SHA256-handtekening te controleren. Voeg een Code-node toe direct na de Webhook-node:

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();

Vervang whsec_your_signing_secret_here door het signing secret dat je hebt gekopieerd toen je de automation in TellDone aanmaakte.

Loskoppelen

Om te stoppen met data versturen naar n8n:

  • Deactiveer de workflow in n8n, of
  • Schakel de automation uit of verwijder die in Instellingen TellDone > Integraties > Webhook-automations

Zie ook

  • Webhook-automations - payload-formaat, leveringslimieten en beveiliging
  • Zapier - cloud-automation-alternatief
  • Make - cloud-automation-alternatief