Preskoči na glavni sadržaj

Webhook automatizacije

Od plana Basic

Automatizacije traže plan Basic ili viši. Basic: 1 automatizacija, Pro: 3, Ultra: 10. Na planu Free redak prikazuje Nadogradi na Pro za otključavanje automatizacija.

Webhook je web adresa koja automatski prima podatke. S Automatizacijama TellDone na tu adresu šalje svaku novu bilješku s njezinim zadacima i događajima čim je bilješka spremna, te svako novo izvješće čim je spremno, pa alati poput Zapiera, Makea ili n8n mogu djelovati na temelju njih. Svaki zadatak i događaj šalje se kao zasebna isporuka.

Odabir što se šalje​

Svaka automatizacija ima vlastite postavke pod Što poslati. Odaberi jedno ili bilo koju kombinaciju:

  • Bilješka - cijela obrađena bilješka (naslov, transkript, sažetak, vrsta, oznake, prioritet, jezik i datum stvaranja)
  • Bilješka + zvuk - na planu Ultra, svakoj isporuci bilješke dodaje poveznicu za preuzimanje audiodatoteke koja vrijedi 24 sata. Bilješka ostavi uključenom: bez nje se bilješka ne šalje
  • Zadaci - jedna isporuka po izdvojenom zadatku
  • Događaji - jedna isporuka po izdvojenom događaju u kalendaru
  • Izvješća - jedna isporuka po generiranom dnevnom, tjednom, mjesečnom ili godišnjem izvješću (vrste izvješća koje tvoj plan uključuje). Rezervirana mjesta za mirne dane i kratka izvješća mirnih tjedana ne šalju se

Ovo možeš mijenjati u bilo kojem trenutku u postavkama automatizacije - promjene vrijede samo za nove isporuke.

Odabir kada se šalje​

Pod izborom podataka četiri odvojena prekidača određuju koje promjene pokreću isporuku: Stvoreno, Ažurirano, Dovršeno i Izbrisano. Okidač radi samo zajedno s odgovarajućim prekidačem podataka iznad njega. Na primjer, Dovršeno šalje dovršene zadatke samo ako su Zadaci uključeni.

Stvoreno se šalje za bilješke koje TellDone izradi iz snimke ili tekstualne bilješke, te za zadatke i događaje pronađene u njima. Zadaci i događaji koje dodaš ručno ili pomoću AI asistenta, te nove stavke iz Dodaj glasom, ne šalju se kao Stvoreno. Ažurirano, Dovršeno i Izbrisano šalju se kad promijeniš stavku u aplikaciji ili pomoću Dodaj glasom. Promjene koje naprave Smart Context, AI asistent ili Todoist, Notion odnosno Microsoft To Do ne šalju isporuku.

Polje event svake isporuke navodi što se dogodilo, na primjer task.created, task.completed ili calendar_event.updated.

Postavljanje webhooka​

Postavke automatizacija za Zapier, Make i n8n

  1. Idi na Postavke > Integracije > Automatizacije
  2. Dodirni Nova automatizacija

Postavljanje nove automatizacije s webhookom

  1. Unesi ime (na primjer, "Moj Zapier webhook")
  2. Zalijepi URL webhooka iz svoje usluge za automatizaciju
  3. Odaberi koje podatke slati (Bilješka, Bilješka + zvuk na planu Ultra, Zadaci, Događaji, Izvješća) i koje okidače koristiti (Stvoreno, Ažurirano, Dovršeno, Izbrisano)
  4. Neobavezno, dodaj auth header - token koji se šalje kao zaglavlje Authorization za zaštićene krajnje točke
  5. Dodirni Spremi
  6. Kopiraj tajni ključ za potpisivanje - prikazuje se u cijelosti samo kad prvi put stvoriš automatizaciju ili nakon što ga promijeniš. Treba ti da provjeriš dolaze li isporuke doista iz TellDonea (vidi Provjera potpisa webhookova)
  7. Dodirni Testno slanje da pošalješ uzorak podataka na svoju krajnju točku bez mijenjanja ijednog tvog podatka. Vidjet ćeš Uspjeh s HTTP kodom i vremenom odgovora ili Greška s razlogom. Testna slanja ne pojavljuju se u zapisniku isporuka

Što se šalje​

Svaka isporuka je JSON objekt s tri polja: event (vrsta događaja), timestamp i data (stvarni sadržaj). Testna slanja uključuju i "test": true. Ovako izgleda svaka vrsta događaja.

Bilješke (note.created)​

Sadrži naslov koji je izradio AI, cijeli transkript, sažetak, vrstu bilješke, oznake, prioritet, jezik i datum stvaranja.

{
"event": "note.created",
"timestamp": "2026-02-27T14:38:00.512345+00:00",
"data": {
"note_id": "550e8400-e29b-41d4-a716-446655440000",
"title": "Meeting notes - Project Alpha",
"transcript": "Full transcript text...",
"summary": "Brief AI-generated summary...",
"type": "meeting",
"tags": ["work", "project-alpha"],
"priority": "high",
"language": "en",
"created_at": "2026-02-27T10:00:00.284117+00:00"
}
}

Na planu Ultra isporuke bilješki mogu uključivati i poveznicu na audiosnimku (audio_url, audio_format, duration_seconds). Poveznica istječe nakon 24 sata. Uključi to opcijom Bilješka + zvuk u automatizaciji.

Zadaci (task.created)​

Jedna isporuka po zadatku. Bilješka s 3 zadatka šalje 3 zasebne isporuke.

{
"event": "task.created",
"timestamp": "2026-02-27T14:38:01.204718+00:00",
"data": {
"note_id": "550e8400-...",
"note_title": "Meeting notes - Project Alpha",
"task_id": "660f9511-...",
"title": "Send proposal to client",
"description": "Include pricing for Q2",
"priority": "high",
"due_date": "2026-03-01",
"reminder_at": "2026-02-28T09:00:00+00:00",
"tags": ["work"],
"status": "todo",
"cancel_reason": null,
"cancelled_at": null,
"created_at": "2026-02-27T10:00:00.284117+00:00"
}
}

Događaji (calendar_event.created)​

Jedna isporuka po događaju u kalendaru.

{
"event": "calendar_event.created",
"timestamp": "2026-02-27T14:38:02.093361+00:00",
"data": {
"note_id": "550e8400-...",
"note_title": "Meeting notes",
"event_id": "770a0622-...",
"title": "Team standup",
"description": "Weekly sync",
"start": "2026-03-03T07:00:00+00:00",
"end": "2026-03-03T07:30:00+00:00",
"location": "Zoom",
"is_all_day": false,
"attendees": ["alice@example.com"],
"tags": ["work"],
"created_at": "2026-02-27T10:00:00.284117+00:00",
"timezone": "Europe/Istanbul",
"start_local": "2026-03-03T10:00:00+03:00",
"end_local": "2026-03-03T10:30:00+03:00",
"start_date": "2026-03-03",
"end_date": "2026-03-03"
}
}

start i end su u UTC-u. start_local, end_local, start_date i end_date koriste tvoju vremensku zonu (timezone). Za cjelodnevni događaj end_date je zadnji dan događaja.

Izvješća (report.created)​

Šalje se kad se generira dnevno, tjedno, mjesečno ili godišnje izvješće.

{
"event": "report.created",
"timestamp": "2026-02-28T00:05:00.731902+00:00",
"data": {
"report_id": "880b1733-...",
"report_type": "daily",
"period_start": "2026-02-27",
"period_end": "2026-02-27",
"content_md": "# Daily Report\n\n...",
"content_json": {
"productivity_score": 72,
"day_type": "planning",
"tasks_created": 5,
"tasks_completed": 3
},
"created_at": "2026-02-28T00:05:00.418253+00:00"
}
}

Sigurnost​

Svaka isporuka potpisuje se algoritmom HMAC-SHA256 pomoću tajnog ključa za potpisivanje tvoje automatizacije. Uz svaku isporuku šalju se ova zaglavlja:

  • X-LP-Signature - HMAC-SHA256 potpis (sha256=...)
  • X-LP-Timestamp - Unix vremenska oznaka korištena za potpisivanje
  • X-LP-Event - vrsta događaja (na primjer note.created, task.completed, calendar_event.updated, report.created)
  • X-LP-Delivery-Id - jedinstveni ID isporuke (koristan za uklanjanje duplikata)
  • User-Agent - uvijek TellDone-Webhooks/1.0

TellDone šalje zaglavlje Authorization samo ako u automatizaciji dodaš auth header. Možeš koristiti dva oblika: Header-Name: value šalje imenovano zaglavlje, a obična vrijednost šalje Authorization: <value>. Tvoj tajni ključ za potpisivanje nikad se ne šalje u zaglavlju.

Svaka automatizacija ima vlastiti tajni ključ za potpisivanje, pa promjena jednog ne utječe na tvoje ostale webhookove. Ključ se prikazuje u cijelosti samo kad prvi put stvoriš automatizaciju ili nakon što ga promijeniš. U svim ostalim trenucima prikazuje se samo pregled (whsec_...last4). Za zamjenu novim ključem dodirni Promijeni tajni ključ u postavkama automatizacije - to stvara novi HMAC ključ bez promjene URL-a ili auth headera. Stari ključ prestaje raditi odmah.

Prihvaćaju se samo HTTPS URL-ovi s nazivom domene. HTTP, IP adrese (javne ili privatne), URL-ovi s korisničkim imenom ili lozinkom i domene koje upućuju na adrese privatne mreže se odbijaju. TellDone provjerava adresu iznova pri svakom slanju. Ako ta provjera ne uspije, na primjer jer se domena u tom trenutku ne razrješava, isporuka se zaustavlja i ne ponavlja se.

Provjera potpisa webhookova​

Svaki webhook je potpisan da možeš potvrditi da doista dolazi iz TellDonea. Potpis se računa ovako:

HMAC-SHA256(signing_secret, timestamp + "." + raw_body)

Rezultat je kodiran heksadecimalno i u zaglavlju potpisa ima prefiks sha256=.

Upotrijebi sirovo tijelo zahtjeva

TellDone serijalizira JSON s razmacima iza separatora (na primjer {"event": "note.created"}). Ako tijelo parsiraš i ponovno serijaliziraš, potpis se neće podudarati. Uvijek provjeravaj prema sirovim bajtovima tijela zahtjeva.

Python​

import hmac
import hashlib

def verify_signature(raw_body: bytes, signature: str, timestamp: str, secret: str) -> bool:
payload = f"{timestamp}.".encode() + raw_body
expected = "sha256=" + hmac.new(
secret.encode(), payload, hashlib.sha256
).hexdigest()
return hmac.compare_digest(signature, expected)

# Flask example
@app.route("/webhook/telldone", methods=["POST"])
def telldone_webhook():
raw_body = request.get_data() # raw bytes, NOT request.json
signature = request.headers.get("X-LP-Signature", "")
timestamp = request.headers.get("X-LP-Timestamp", "")

if not verify_signature(raw_body, signature, timestamp, SIGNING_SECRET):
abort(403)

data = request.json
# process webhook...

Node.js​

const crypto = require("crypto");

function verifySignature(rawBody, signature, timestamp, secret) {
const payload = `${timestamp}.${rawBody}`;
const expected =
"sha256=" +
crypto.createHmac("sha256", secret).update(payload).digest("hex");
const a = Buffer.from(signature);
const b = Buffer.from(expected);
// timingSafeEqual throws if the lengths differ, e.g. when the header is missing
return a.length === b.length && crypto.timingSafeEqual(a, b);
}

// Express example (use express.raw to get the raw body)
app.post("/webhook/telldone", express.raw({ type: "application/json" }), (req, res) => {
const rawBody = req.body.toString();
const signature = req.headers["x-lp-signature"] || "";
const timestamp = req.headers["x-lp-timestamp"] || "";

if (!verifySignature(rawBody, signature, timestamp, SIGNING_SECRET)) {
return res.status(403).send("Invalid signature");
}

const data = JSON.parse(rawBody);
// process webhook...
});

Zaštita od ponovnog slanja (neobavezno)​

Da spriječiš napade ponovnim slanjem, provjeri je li vremenska oznaka nedavna:

import time

def verify_timestamp(timestamp: str, tolerance_seconds: int = 300) -> bool:
try:
return abs(time.time() - int(timestamp)) < tolerance_seconds
except (ValueError, TypeError):
return False

Česte pogreške​

PogreškaRješenje
Korištenje parsiranog i ponovno serijaliziranog tijelaUpotrijebi sirovo tijelo zahtjeva
JSON.stringify() u JS-u (kompaktno, bez razmaka)Upotrijebi sirovo tijelo zahtjeva
Zaboravljen prefiks s vremenskom oznakomFormat podataka je timestamp + "." + body
Izravna usporedba nizovaUpotrijebi hmac.compare_digest ili timingSafeEqual

Pravila ponovnog pokušaja​

Ako tvoja krajnja točka zakaže, TellDone ponavlja svaku isporuku prema ovom rasporedu:

PokušajOdgoda
1. ponovni pokušaj30 sekundi
2. ponovni pokušaj2 minute
3. ponovni pokušaj15 minuta
4. ponovni pokušaj1 sat
5. ponovni pokušaj4 sata

Ako ne uspije ni 5. ponovni pokušaj, isporuka se označava kao neuspjela i više se ne ponavlja. U aplikaciji se prikazuje crveni križić. I dalje je možeš sam ponovno poslati iz cjelovitog zapisnika isporuka: otvori Sve isporuke (poveznica se pojavljuje kad automatizacija ima više od 5 isporuka) i dodirni Pokušaj ponovno na neuspjeloj isporuci. Kratki popis Nedavne isporuke ne nudi ponovni pokušaj.

Kako TellDone postupa s različitim odgovorima:

  • 2xx - uspješno dostavljeno
  • 4xx (osim 429) - odmah se označava kao neuspjelo i ne ponavlja se (tvoja krajnja točka izričito je odbila podatke)
  • 429 (Too Many Requests) - ponavlja se nakon broja sekundi iz Retry-After (60 sekundi ako ga nema). Ti ponovni pokušaji nisu ograničeni na 5, ali svaki se računa u 20 neuspjeha koji isključuju automatizaciju
  • 5xx ili istek vremena - ponavlja se prema gornjem rasporedu

Kad isporuke više puta zaredom ne uspiju​

Ako isporuke i dalje ne uspijevaju, TellDone te obavijesti i na kraju isključuje automatizaciju.

Nakon 3 neuspjela pokušaja: upozorenje u Primljeno​

Nakon 3 neuspjela pokušaja zaredom (ponovni pokušaji se računaju), TellDone ti šalje poruku u Primljeno naslova Tvoja automatizacija "Ime" ne uspijeva, s imenom tvoje automatizacije u navodnicima. Zatim je možeš otvoriti u Postavke > Integracije > Automatizacije, provjeriti njezine isporuke i odlučiti što učiniti.

Nakon 20 neuspjelih pokušaja: automatsko isključivanje​

Automatsko isključivanje

Ako ne uspije 20 pokušaja zaredom za istu automatizaciju (ponovni pokušaji se računaju), TellDone isključuje automatizaciju da prestane slati na adresu koja ne radi. Riješi problem u svom alatu za automatizaciju, a zatim ponovno uključi njezin prekidač Aktivno u Postavke > Integracije > Automatizacije. Ponovno uključivanje ne resetira broj neuspjeha, pa je do prve uspješne isporuke dovoljan jedan neuspjeli pokušaj da se ponovno isključi.

Računa se svaki neuspjeli pokušaj, pa jedna isporuka koja ne uspije u svih 5 ponovnih pokušaja dodaje 6 u brojač. Automatizacija se stoga može sama isključiti nakon otprilike 4 isporuke koje ne uspijevaju. Brojač se vraća na nulu pri sljedećoj uspješnoj isporuci.

Upravljanje webhookovima​

  • Aktivno - isključi ovaj prekidač da zaustaviš automatizaciju bez brisanja, a uključi ga ponovno kad želiš. Dok je isključena, ništa se ne šalje: bilješke i izvješća iz tog razdoblja ne šalju se naknadno, a isporuke koje čekaju ponovni pokušaj odbacuju se
  • Isporuke - Nedavne isporuke prikazuju zadnjih 5 sa statusom, HTTP kodom i vremenom odgovora. Kad ih je više, Sve isporuke otvara zapisnik zadnjih 30 dana, u kojem možeš filtrirati po Sve, Dostavljeno ili Pogreške i dodirnuti Pokušaj ponovno na neuspjeloj isporuci da je ponovno pošalješ bez čekanja sljedećeg planiranog ponovnog pokušaja
  • Testno slanje - šalje uzorak bilješke (note.created, s "test": true u tijelu), bez obzira na vrste podataka koje si odabrao, bez mijenjanja ijednog tvog podatka. Dostupno nakon što je automatizacija spremljena. Testna slanja ne ulaze u tvoje mjesečno ograničenje
  • Promijeni tajni ključ - generiraj novi HMAC tajni ključ za potpisivanje bez promjene URL-a ili auth headera
  • Uredi - ažuriraj URL, auth header, izbor podataka (Bilješka / Bilješka + zvuk / Zadaci / Događaji / Izvješća) ili okidače (Stvoreno / Ažurirano / Dovršeno / Izbrisano). Promjene stupaju na snagu odmah
  • Izbriši automatizaciju - trajno uklanja automatizaciju i sve njezine zapisnike isporuka

Svaka isporuka prikazuje svoj status kao ikonu:

IkonaZnačenje
Zelena kvačicaDostavljeno
Žuti satČeka ili se šalje
Crveni trokutNeuspjelo, TellDone će ponoviti pokušaj
Crveni križićNeuspjelo, nema više automatskih ponovnih pokušaja

U cjelovitom zapisniku možeš dodirnuti Pokušaj ponovno na isporukama s crvenim trokutom ili crvenim križićem.

Ograničenja isporuke​

Postoje dva ograničenja: mjesečno, koje ovisi o tvom planu, i satno od 100 isporuka na svakom plaćenom planu, koje štiti od naglih skokova.

PlanAutomatizacijeMjesečne isporukeSatno ograničenje
Free00-
Basic1300100
Pro33.000100
Ultra1015.000100

Kako se ograničenja ponašaju:

  • Dosegnuto mjesečno ograničenje - isporuka čeka. Prikazuje se kao neuspjela ("Monthly webhook limit exceeded"), a TellDone pokušava ponovno svakih 5 minuta. Šalje se nakon što se tvoje ograničenje resetira u 00:00 UTC prvog u mjesecu, osim ako je do tada starija od 30 dana. Isporuke poslane nakon resetiranja ulaze u novi mjesec.
  • Dosegnuto satno ograničenje - isporuka se odgađa i ponavlja nakon otprilike 5 minuta, pa kratak nalet neće izgubiti podatke.

Samo uspješne isporuke ulaze u mjesečno ograničenje. Satno ograničenje broji svaki pokušaj, uključujući ponovne. Testna slanja ne ulaze ni u jedno ograničenje.

Ako promijeniš plan, tvoje automatizacije i njihove postavke ostaju sačuvane. Na planu Free prestaju slati i ne možeš ih otvoriti dok ne nadogradiš plan. Na planu Basic automatizacije koje si već imao nastavljaju slati unutar 300 isporuka mjesečno, ali ne možeš dodati ni uključiti više od jedne.

Filtriranje testnih događaja​

Kad dodirneš Testno slanje, podaci na najvišoj razini uključuju "test": true. U svom alatu za automatizaciju možeš provjeriti to polje i preskočiti obradu kad je prisutno.

Vodiči za platforme​

Upute korak po korak za tvoj alat za automatizaciju:

  • Zapier - poveži TellDone s tisućama aplikacija pomoću Zapova
  • Make - izradi vizualne scenarije automatizacije (prije Integromat)
  • n8n - koristi TellDone webhookove u tijekovima rada na vlastitom poslužitelju ili u oblaku
  • Prilagođene krajnje točke - s TellDone webhookovima radi svaka usluga koja prihvaća HTTPS POST zahtjeve

Ideje​

  • Šalji zadatke u Google Sheet putem Zapiera
  • Stvaraj Slack poruke iz bilješki putem Makea
  • Bilježi događaje u prilagođeni CRM putem n8n
  • Sigurnosno kopiraj sve bilješke u pohranu u oblaku
  • Proslijedi izvješća na nadzornu ploču tima

Vidi još​

  • Primljeno i podrška - ako webhook više puta zaredom ne uspije, vidjet ćeš poruku u Primljeno
  • Zapier - postavljanje Zapiera korak po korak
  • Make - postavljanje Makea korak po korak
  • n8n - postavljanje n8n korak po korak
  • Todoist - namjenska dvosmjerna sinkronizacija zadataka (webhookovi nisu potrebni)
  • Notion - namjenska integracija s Notionom
  • Prosljeđivanje e-poštom - primaj podatke bilješki e-poštom