Preskoči na glavno vsebino

n8n

Paket Basic in višji

Webhooki zahtevajo plačljiv paket. Za omejitve in podrobnosti glej Avtomatizacije z webhooki.

n8n je platforma za avtomatizacijo, ki jo lahko gostiš sam ali uporabljaš v oblaku. Poveži TellDone z n8n z vozliščem Webhook. Tvoja instanca n8n mora imeti URL HTTPS, dostopen z interneta.

Nastavitev

V n8n

  1. Dodaj vozlišče Webhook v svoj potek dela
  2. Nastavi HTTP Method na POST
  3. Nastavi pot (npr. telldone)
  4. (Izbirno) Omogoči Header Auth: Name = Authorization, Value = tvoj skrivni žeton
  5. Kopiraj Production URL (ne testnega URL-ja)

V TellDone

  1. Pojdi v Nastavitve > Integracije > Avtomatizacije z webhooki
  2. Tapni Nova avtomatizacija in prilepi produkcijski URL n8n
  3. Če si v n8n omogočil Header Auth, vnesi isti žeton kot glavo za avtentikacijo v TellDone
  4. Izberi, katere vrste podatkov poslati
  5. Tapni Shrani, nato Test, da pošlješ vzorčno vsebino

Preveri dnevnik izvajanja n8n - videti bi moral vsebino z "test": true.

Usmerjanje po vrsti dogodka

Po vozlišču Webhook dodaj vozlišče Switch, da usmeriš podatke po vrsti dogodka:

  • Polje za usmerjanje: vrednost event iz dohodnih podatkov
  • Rule 1: enako note.created - usmeri v svoje akcije za zapiske
  • Rule 2: enako task.created - usmeri v svoje akcije za opravila
  • Rule 3: enako calendar_event.created - usmeri v svoje akcije za koledar
  • Rule 4: enako report.created - usmeri v svoje akcije za poročila

Poveži vsak izhod Switch z ustreznim akcijskim vozliščem (Todoist, Google Calendar, Slack itd.).

Uporabni izrazi

Pri konfiguraciji akcijskih vozlišč uporabi te izraze n8n za dostop do podatkov TellDone:

IzrazOpis
{{ $json.data.title }}Naslov zapiska, opravila ali dogodka
{{ $json.data.tags.join(', ') }}Oznake kot niz, ločen z vejico
{{ $json.data.priority }}Raven prioritete
{{ $json.data.due_date }}Datum zapadlosti (opravila)
{{ $json.data.summary }}Povzetek, ki ga ustvari AI (zapiski)
{{ $json.event }}Vrsta dogodka

Za celoten seznam polj v vsaki vrsti podatkov glej Avtomatizacije z webhooki - Kaj se pošlje.

Filtriranje testnih dogodkov

Takoj za vozliščem Webhook dodaj vozlišče IF:

  • Pogoj: {{ $json.test }} ni true
  • Pot True: preostanek tvojega poteka dela
  • Pot False: No Operation (zavrzi testne dogodke)

Primeri potekov dela

  • Webhook - Switch - Todoist: ustvari opravila s prioriteto in datumom zapadlosti
  • Webhook - Switch - Google Calendar: ustvari dogodke z uro, lokacijo in udeleženci
  • Webhook - Switch - Slack: objavi dnevna poročila v kanal
  • Webhook - Switch - Google Sheets: zabeleži vse zapiske kot vrstice preglednice
  • Webhook - Switch - Notion: shrani zapiske z oznakami in povzetkom

Preverjanje podpisov webhooka (izbirno)

Omejitev surovega telesa v n8n

Vozlišče Code v n8n izpostavi samo razčlenjen objekt JSON, ne surovega telesa zahteve. Preverjanje podpisa zahteva natančne surove bajte, ki jih je TellDone podpisal. V praksi se večina uporabnikov n8n za avtentikacijo namesto preverjanja HMAC zanaša na privzeto glavo Authorization: <signing_secret>.

Za produkcijsko uporabo lahko preveriš, da podatki webhooka resnično prihajajo iz TellDone, tako da preveriš podpis HMAC-SHA256. Takoj za vozliščem Webhook dodaj vozlišče Code:

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

Zamenjaj whsec_your_signing_secret_here s podpisno skrivnostjo, ki si jo kopiral pri ustvarjanju avtomatizacije v TellDone.

Prekinitev povezave

Za zaustavitev pošiljanja podatkov v n8n:

  • Deaktiviraj potek dela v n8n ali
  • Onemogoči ali izbriši avtomatizacijo v Nastavitve TellDone > Integracije > Avtomatizacije z webhooki

Glej tudi