Preskoči na glavni sadržaj

Webhook automatizacije

Od Basic plana

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

Webhook je web adresa koja automatski prima podatke. Uz Automatizacije TellDone šalje svaku novu bilješku s njenim zadacima i događajima na tu adresu čim je bilješka spremna, a svaki novi izvještaj čim je izvještaj spreman, tako da alati poput Zapiera, Makea ili n8n-a mogu reagirati na njih. Svaki zadatak i događaj šalje se kao zasebna isporuka.

Odabir šta se šalje​

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

  • Bilješka - cijela obrađena bilješka (naslov, transkript, sažetak, vrsta, oznake, prioritet, jezik i datum nastanka)
  • Bilješka + zvuk - na Ultra planu svakoj isporuci bilješke dodaje link za preuzimanje audiozapisa koji važi 24 sata. Ostavi uključeno Bilješka: bez toga se bilješka ne šalje
  • Zadaci - jedna isporuka po izdvojenom zadatku
  • Događaji - jedna isporuka po izdvojenom događaju u kalendaru
  • Izvještaji - jedna isporuka po svakom napravljenom dnevnom, sedmičnom, mjesečnom ili godišnjem izvještaju (vrste izvještaja koje tvoj plan uključuje). Zamjenski izvještaji za mirne dane i kratki izvještaji za mirne sedmice se ne šalju

Ovo možeš promijeniti bilo kada u postavkama automatizacije - promjene važe samo za nove isporuke.

Odabir kada se šalje​

Ispod izbora podataka četiri zasebna 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 je uključeno Zadaci.

Stvoreno se šalje za bilješke koje TellDone napravi iz snimka 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, kao i nove stavke iz funkcije Dodaj glasom, ne šalju se kao Stvoreno. Ažurirano, Dovršeno i Izbrisano šalju se kad promijeniš stavku u aplikaciji ili pomoću funkcije Dodaj glasom. Promjene koje naprave Smart Context, AI asistent ili Todoist, Notion ili Microsoft To Do ne šalju isporuku.

Polje event svake isporuke imenuje šta se desilo, na primjer task.created, task.completed ili calendar_event.updated.

Postavljanje webhooka​

Podešavanja automatizacija za Zapier, Make i n8n

  1. Idi na Podešavanja > Integracije > Automatizacije
  2. Dodirni Nova automatizacija

Postavljanje nove automatizacije webhooka

  1. Unesi ime (na primjer „Moj Zapier webhook”)
  2. Zalijepi URL webhooka iz svoje usluge za automatizaciju
  3. Odaberi koje podatke šalješ (Bilješka, Bilješka + zvuk na Ultra planu, Zadaci, Događaji, Izvještaji) i koje okidače koristiš (Stvoreno, Ažurirano, Dovršeno, Izbrisano)
  4. Po želji dodaj auth zaglavlje - token koji se šalje kao zaglavlje Authorization za zaštićene krajnje tačke
  5. Dodirni Sačuvaj
  6. Kopiraj tajni ključ za potpisivanje - prikazuje se u cijelosti samo kad prvi put napraviš automatizaciju ili nakon što ga promijeniš. Treba ti da provjeriš da isporuke zaista dolaze iz TellDonea (pogledaj Provjera potpisa webhooka)
  7. Dodirni Testno slanje da pošalješ probni sadržaj na svoju krajnju tačku bez mijenjanja ijednog tvog podatka. Vidjet ćeš Uspjeh s HTTP kodom i vremenom odgovora, ili Greška s razlogom. Testna slanja se ne pojavljuju u dnevniku isporuka

Šta 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. Evo kako izgleda svaka vrsta događaja.

Bilješke (note.created)​

Sadrži AI naslov, cijeli transkript, sažetak, vrstu bilješke, oznake, prioritet, jezik i datum nastanka.

{
"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 Ultra planu isporuke bilješki mogu uključivati i link na audiozapis (audio_url, audio_format, duration_seconds). Link ističe nakon 24 sata. Ovo uključuješ 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 posljednji dan događaja.

Izvještaji (report.created)​

Šalje se kad se napravi dnevni, sedmični, mjesečni ili godišnji izvještaj.

{
"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 je potpisana pomoću HMAC-SHA256 tajnim ključem za potpisivanje tvoje automatizacije. Uz svaku isporuku šalju se sljedeća 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 zaglavlje. Možeš koristiti dva formata: Header-Name: value šalje imenovano zaglavlje, a obična vrijednost šalje Authorization: <value>. Tvoj tajni ključ za potpisivanje nikada se ne šalje u zaglavlju.

Svaka automatizacija ima vlastiti tajni ključ za potpisivanje, pa promjena jednog ne utiče ni na jedan tvoj drugi webhook. Ključ se prikazuje u cijelosti samo kad prvi put napraviš automatizaciju ili nakon što ga promijeniš. U svim ostalim trenucima prikazuje se samo pregled (whsec_...last4). Da ga zamijeniš novim, dodirni Promijeni tajni ključ u postavkama automatizacije - to pravi novi HMAC ključ bez mijenjanja URL-a ili auth zaglavlja. Stari ključ odmah prestaje važiti.

Prihvataju se samo HTTPS URL-ovi s imenom 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 ponovo provjerava adresu 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.

Provjera potpisa webhooka​

Svaki webhook je potpisan da možeš potvrditi da zaista 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=.

Koristi sirovo tijelo zahtjeva

TellDone serijalizira JSON s razmacima poslije separatora (na primjer {"event": "note.created"}). Ako tijelo parsiraš i ponovo serijaliziraš, potpis se neće poklapati. 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 ponavljanja (opcionalno)​

Da spriječiš napade ponavljanjem, provjeri da je vremenska oznaka svježa:

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 greške​

GreškaRješenje
Korištenje parsiranog i ponovo serijaliziranog tijelaKoristi sirovo tijelo zahtjeva
JSON.stringify() u JS-u (kompaktno, bez razmaka)Koristi sirovo tijelo zahtjeva
Zaboravljen prefiks vremenske oznakeFormat sadržaja je timestamp + "." + body
Direktno poređenje stringovaKoristi hmac.compare_digest ili timingSafeEqual

Pravila ponovnog pokušaja​

Ako tvoja krajnja tačka zataji, TellDone ponavlja svaku isporuku prema ovom rasporedu:

PokušajOdgoda
1. ponavljanje30 sekundi
2. ponavljanje2 minute
3. ponavljanje15 minuta
4. ponavljanje1 sat
5. ponavljanje4 sata

Ako i 5. ponavljanje ne uspije, isporuka se označava kao neuspjela i više se ne ponavlja. U aplikaciji se prikazuje s crvenim križićem. I dalje je možeš ponovo poslati iz punog dnevnika isporuka: otvori Sve isporuke (link se pojavljuje kad automatizacija ima više od 5 isporuka) i dodirni Pokušaj ponovo na neuspjeloj isporuci. Kratka lista 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 tačka je izričito odbila podatke)
  • 429 (Too Many Requests) - ponavlja se nakon broja sekundi iz Retry-After (60 sekundi ako ga nema). Ova ponavljanja nisu ograničena na 5, ali se svako računa u 20 neuspjeha nakon kojih se automatizacija isključuje
  • 5xx ili istek vremena - ponavlja se prema gornjem rasporedu

Kad isporuke više puta zaredom ne uspijevaju​

Ako isporuke stalno ne uspijevaju, TellDone te obavještava i na kraju isključuje automatizaciju.

Nakon 3 neuspjela pokušaja: upozorenje u Sandučiću​

Nakon 3 neuspjela pokušaja zaredom (ponavljanja se računaju), TellDone šalje poruku u tvoj Sandučić s naslovom Tvoja automatizacija „Naziv” ne radi, s imenom tvoje automatizacije u navodnicima. Zatim je možeš otvoriti u Podešavanja > Integracije > Automatizacije, provjeriti njene isporuke i odlučiti šta dalje.

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

Automatsko isključivanje

Ako 20 pokušaja zaredom ne uspije za istu automatizaciju (ponavljanja se računaju), TellDone isključuje automatizaciju da prestane slati na adresu koja ne radi. Riješi problem u svom alatu za automatizaciju, zatim ponovo uključi prekidač Aktivno u Podešavanja > Integracije > Automatizacije. Ponovno uključivanje ne briše broj neuspjeha, pa dok jedna isporuka ne uspije, samo jedan neuspjeli pokušaj ponovo je isključuje.

Svaki neuspjeli pokušaj se računa, pa jedna isporuka koja ne uspije ni u svih 5 ponavljanja dodaje 6 u brojač. Automatizacija se zato 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 ponovo bilo kada. Dok je isključena, ništa se ne šalje: bilješke i izvještaji iz tog vremena ne šalju se naknadno, a isporuke koje čekaju ponovni pokušaj se odbacuju
  • Isporuke - Nedavne isporuke prikazuju posljednjih 5 sa statusom, HTTP kodom i vremenom odgovora. Kad ih ima više, Sve isporuke otvara dnevnik posljednjih 30 dana, gdje možeš filtrirati po Sve, Dostavljeno ili Greške i dodirnuti Pokušaj ponovo na neuspjeloj isporuci da je ponovo pošalješ bez čekanja sljedećeg planiranog ponavljanja
  • Testno slanje - šalje probnu bilješku (note.created, s "test": true u tijelu), bez obzira na odabrane vrste podataka, bez mijenjanja ijednog tvog podatka. Dostupno kad se automatizacija sačuva. Testna slanja se ne računaju u tvoje mjesečno ograničenje
  • Promijeni tajni ključ - napravi svjež HMAC tajni ključ za potpisivanje bez mijenjanja URL-a ili auth zaglavlja
  • Uredi - ažuriraj URL, auth zaglavlje, izbor podataka (Bilješka / Bilješka + zvuk / Zadaci / Događaji / Izvještaji) ili okidače (Stvoreno / Ažurirano / Dovršeno / Izbrisano). Promjene stupaju na snagu odmah
  • Izbriši automatizaciju - trajno uklanja automatizaciju i sve njene dnevnike isporuka

Svaka isporuka prikazuje svoj status kao ikonu:

IkonaZnačenje
Zelena kvačicaDostavljeno
Žuti satČeka ili se šalje
Crveni trougaoNije uspjelo, TellDone će ponoviti
Crveni križićNije uspjelo, nema više automatskih ponavljanja

Na isporukama s crvenim trouglom ili crvenim križićem u punom dnevniku možeš dodirnuti Pokušaj ponovo.

Ograničenja isporuke​

Postoje dva ograničenja: mjesečno, koje zavisi od tvog plana, 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:

  • Mjesečno ograničenje dostignuto - isporuka čeka. Prikazuje se kao neuspjela („Monthly webhook limit exceeded”), a TellDone pokušava ponovo svakih 5 minuta. Šalje se nakon što se tvoje ograničenje resetuje 1. u 00:00 UTC, osim ako je do tada starija od 30 dana. Isporuke poslane nakon resetovanja računaju se u novi mjesec.
  • Satno ograničenje dostignuto - isporuka se odgađa i ponavlja nakon otprilike 5 minuta, pa kratki nalet neće izgubiti podatke.

U mjesečno ograničenje računaju se samo uspješne isporuke. Satno ograničenje računa svaki pokušaj, uključujući ponavljanja. Testna slanja se ne računaju ni u jedno ograničenje.

Ako promijeniš plan, tvoje automatizacije i njihove postavke se zadržavaju. Na Free planu prestaju slati i ne možeš ih otvoriti dok ne pređeš na viši plan. Na Basic planu automatizacije koje su već postojale nastavljaju slati u okviru 300 isporuka mjesečno, ali ne možeš dodati niti uključiti više od jedne.

Filtriranje testnih događaja​

Kad dodirneš Testno slanje, sadržaj na najvišem nivou uključuje "test": true. U svom alatu za automatizaciju možeš provjeriti ovo 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 hiljadama aplikacija pomoću Zapova
  • Make - pravi vizuelne scenarije automatizacije (ranije Integromat)
  • n8n - koristi TellDone webhookove u tokovima rada koje sam hostuješ ili u oblaku
  • Prilagođene krajnje tačke - radi svaka usluga koja prihvata HTTPS POST zahtjeve

Ideje​

  • Šalji zadatke u Google tabelu preko Zapiera
  • Pravi Slack poruke iz bilješki preko Makea
  • Bilježi događaje u vlastiti CRM preko n8n-a
  • Pravi sigurnosnu kopiju svih bilješki u oblaku
  • Proslijedi izvještaje na timsku kontrolnu tablu

Pogledaj također​

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