Pređi na glavni sadržaj

Webhook automatizacije

Basic i viši

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

Webhook je veb adresa koja automatski prima podatke. Uz Automatizacije, TellDone šalje svaku novu belešku sa njenim zadacima i događajima na tu adresu čim je beleška spremna, a svaki novi izveštaj čim je izveštaj spreman, tako da alati kao što su Zapier, Make ili n8n mogu da reaguju na njih. Svaki zadatak i svaki događaj šalje se kao posebna isporuka.

Biranje šta se šalje​

Svaka automatizacija ima sopstvena podešavanja pod Šta poslati. Izaberi jedno ili bilo koju kombinaciju:

  • Beleška - cela obrađena beleška (naslov, transkript, sažetak, vrsta, oznake, prioritet, jezik i datum nastanka)
  • Beleška + zvuk - na planu Ultra, svakoj isporuci beleške dodaje link za preuzimanje audio datoteke koji važi 24 sata. Ostavi uključeno Beleška: bez toga se nijedna beleška ne šalje
  • Zadaci - jedna isporuka po izdvojenom zadatku
  • Događaji - jedna isporuka po izdvojenom kalendarskom događaju
  • Izveštaji - jedna isporuka po svakom napravljenom dnevnom, nedeljnom, mesečnom ili godišnjem izveštaju (vrste izveštaja koje tvoj plan uključuje). Rezervisani izveštaji za mirne dane i kratki izveštaji za mirne nedelje se ne šalju

Ovo možeš da menjaš u bilo kom trenutku u podešavanjima automatizacije - izmene važe samo za nove isporuke.

Biranje kada se šalje​

Ispod izbora podataka četiri odvojena prekidača određuju koje promene pokreću isporuku: Stvoreno, Ažurirano, Završeno i Izbrisano. Okidač radi samo zajedno sa odgovarajućim prekidačem podataka iznad njega. Na primer, Završeno šalje završene zadatke samo ako je Zadaci uključeno.

Stvoreno se šalje za beleške koje TellDone pravi iz snimka ili tekstualne beleške, kao i 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 opcije Dodaj glasom, ne šalju se kao Stvoreno. Ažurirano, Završeno i Izbrisano šalju se kada promeniš stavku u aplikaciji ili pomoću opcije Dodaj glasom. Promene koje naprave Smart Context, AI asistent ili Todoist, Notion ili Microsoft To Do ne šalju isporuku.

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

Podešavanje webhook-a​

Podešavanja automatizacija za Zapier, Make i n8n

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

Podešavanje nove automatizacije sa webhook-om

  1. Unesi ime (na primer, „Moj Zapier webhook“)
  2. Nalepi URL webhook-a iz svoje usluge za automatizaciju
  3. Izaberi koje podatke da šalješ (Beleška, Beleška + zvuk na planu Ultra, Zadaci, Događaji, Izveštaji) i koje okidače da koristiš (Stvoreno, Ažurirano, Završeno, Izbrisano)
  4. Opciono dodaj auth header - 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 celini samo kada prvi put napraviš automatizaciju ili nakon što ga promeniš. Potreban ti je da proveriš da isporuke stvarno dolaze iz TellDone-a (pogledaj Provera potpisa webhook-a)
  7. Dodirni Testno slanje da pošalješ probni sadržaj na svoju krajnju tačku bez menjanja bilo kojih tvojih podataka. Videćeš Uspeh sa HTTP kodom i vremenom odgovora ili Greška sa razlogom. Testna slanja se ne pojavljuju u logu isporuka

Šta se šalje​

Svaka isporuka je JSON objekat sa 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.

Beleške (note.created)​

Sadrži naslov koji je napravio AI, ceo transkript, sažetak, vrstu beleš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 planu Ultra isporuke beleški mogu da uključe i link ka audio snimku (audio_url, audio_format, duration_seconds). Link ističe nakon 24 sata. Ovo uključuješ opcijom Beleška + zvuk u automatizaciji.

Zadaci (task.created)​

Jedna isporuka po zadatku. Beleška sa 3 zadatka šalje 3 odvojene 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 kalendarskom događaju.

{
"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. start_local, end_local, start_date i end_date koriste tvoju vremensku zonu (timezone). Za celodnevni događaj, end_date je poslednji dan događaja.

Izveštaji (report.created)​

Šalje se kada se napravi dnevni, nedeljni, mesečni ili godišnji izveš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"
}
}

Bezbednost​

Svaka isporuka je potpisana pomoću HMAC-SHA256 tajnim ključem za potpisivanje tvoje automatizacije. Uz svaku isporuku se šalju sledeća zaglavlja:

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

TellDone šalje zaglavlje Authorization samo ako dodaš auth header u automatizaciju. Možeš da koristiš dva formata: Header-Name: value šalje imenovano zaglavlje, a obična vrednost šalje Authorization: <value>. Tvoj tajni ključ za potpisivanje se nikada ne šalje u zaglavlju.

Svaka automatizacija ima sopstveni tajni ključ za potpisivanje, pa promena jednog ne utiče ni na jedan od tvojih drugih webhook-ova. Ključ se prikazuje u celini samo kada prvi put napraviš automatizaciju ili nakon što ga promeniš. U svim ostalim trenucima prikazuje se samo pregled (whsec_...last4). Da ga zameniš novim, dodirni Promeni tajni ključ u podešavanjima automatizacije - ovo pravi novi HMAC ključ bez menjanja URL-a ili auth header-a. Stari ključ prestaje da radi odmah.

Prihvataju se samo HTTPS URL-ovi sa imenom domena. HTTP, IP adrese (javne ili privatne), URL-ovi sa korisničkim imenom ili lozinkom i domeni koji upućuju na adrese privatne mreže se odbijaju. TellDone ponovo proverava adresu svaki put kada šalje. Ako ta provera ne uspe, na primer jer se domen u tom trenutku ne razrešava, isporuka se zaustavlja i ne ponavlja se.

Provera potpisa webhook-a​

Svaki webhook je potpisan da bi mogao da potvrdiš da je zaista došao iz TellDone-a. Potpis se izračunava ovako:

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

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

Koristi sirovo telo zahteva

TellDone serijalizuje JSON sa razmacima posle separatora (na primer {"event": "note.created"}). Ako parsiraš pa ponovo serijalizuješ telo, potpis se neće poklopiti. Uvek proveravaj prema sirovim bajtovima tela zahteva.

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 (opciono)​

Da sprečiš napade ponovnim slanjem, proveri da je 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 greške​

GreškaRešenje
Korišćenje parsiranog i ponovo serijalizovanog telaKoristi sirovo telo zahteva
JSON.stringify() u JS-u (kompaktno, bez razmaka)Koristi sirovo telo zahteva
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 ne odgovori uspešno, TellDone ponavlja svaku isporuku po ovom rasporedu:

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

Ako ne uspe ni 5. ponovni pokušaj, isporuka se označava kao neuspela i više se ne ponavlja. U aplikaciji se prikazuje crvenim krstom. I dalje možeš ručno da je pošalješ ponovo iz punog loga isporuka: otvori Sve isporuke (link se pojavljuje kada automatizacija ima više od 5 isporuka) i dodirni Pokušaj ponovo na neuspeloj isporuci. Kratka lista Nedavne isporuke ne nudi ponovni pokušaj.

Kako TellDone postupa sa različitim odgovorima:

  • 2xx - uspešno isporučeno
  • 4xx (osim 429) - odmah se označava kao neuspelo 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). Ovi ponovni pokušaji nisu ograničeni na 5, ali se svaki računa u 20 neuspeha koji isključuju automatizaciju
  • 5xx ili timeout - ponavlja se po gornjem rasporedu

Kada isporuke više puta ne uspevaju​

Ako isporuke i dalje ne uspevaju, TellDone te obaveštava i na kraju isključuje automatizaciju.

Posle 3 neuspela pokušaja: upozorenje u Primljeno​

Nakon 3 uzastopna neuspela pokušaja (ponovni pokušaji se računaju), TellDone ti šalje poruku u Primljeno pod naslovom Tvoja automatizacija „Ime“ ne radi, sa imenom tvoje automatizacije između navodnika. Zatim možeš da je otvoriš u Podešavanja > Integracije > Automatizacije, proveriš njene isporuke i odlučiš šta ćeš.

Posle 20 neuspelih pokušaja: automatsko isključivanje​

Automatsko isključivanje

Ako 20 uzastopnih pokušaja ne uspe za istu automatizaciju (ponovni pokušaji se računaju), TellDone isključuje automatizaciju da prestane da šalje na adresu koja ne radi. Reši problem u svom alatu za automatizaciju, pa ponovo uključi njen prekidač Aktivno u Podešavanja > Integracije > Automatizacije. Ponovno uključivanje ne resetuje broj neuspeha, pa dok jedna isporuka ne uspe, jedan neuspeli pokušaj ponovo je isključuje.

Svaki neuspeli pokušaj se računa, pa jedna isporuka koja ne uspe u svih 5 ponovnih pokušaja dodaje 6 u brojač. Automatizacija zato može da se isključi nakon otprilike 4 isporuke koje ne uspevaju. Brojač se vraća na nulu pri sledećoj uspešnoj isporuci.

Upravljanje webhook-ovima​

  • Aktivno - isključi ovaj prekidač da zaustaviš automatizaciju bez brisanja, i ponovo ga uključi kad god želiš. Dok je isključena, ništa se ne šalje: beleške i izveštaji iz tog vremena ne šalju se kasnije, a isporuke koje čekaju ponovni pokušaj se odbacuju
  • Isporuke - Nedavne isporuke prikazuje poslednjih 5 sa statusom, HTTP kodom i vremenom odgovora. Kada ih bude više, Sve isporuke otvara log poslednjih 30 dana, gde možeš da filtriraš po Sve, Dostavljeno ili Greške i da dodirneš Pokušaj ponovo na neuspeloj isporuci da je pošalješ ponovo bez čekanja sledećeg zakazanog ponovnog pokušaja
  • Testno slanje - šalje probnu belešku (note.created, sa "test": true u telu), bez obzira na izabrane vrste podataka, bez menjanja bilo kojih tvojih podataka. Dostupno kada se automatizacija sačuva. Testna slanja se ne računaju u tvoje mesečno ograničenje
  • Promeni tajni ključ - napravi novi HMAC tajni ključ za potpisivanje bez menjanja URL-a ili auth header-a
  • Izmeni - ažuriraj URL, auth header, izbor podataka (Beleška / Beleška + zvuk / Zadaci / Događaji / Izveštaji) ili okidače (Stvoreno / Ažurirano / Završeno / Izbrisano). Izmene stupaju na snagu odmah
  • Izbriši automatizaciju - trajno uklanja automatizaciju i sve njene logove isporuka

Svaka isporuka prikazuje svoj status kao ikonu:

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

U punom logu možeš da dodirneš Pokušaj ponovo na isporukama sa crvenim trouglom ili crvenim krstom.

Ograničenja isporuke​

Postoje dva ograničenja: mesečno ograničenje koje zavisi od tvog plana i ograničenje od 100 isporuka na sat na svakom plaćenom planu, koje štiti od naglih skokova.

PlanAutomatizacijeMesečne isporukeOgraničenje po satu
Free00-
Basic1300100
Pro33.000100
Ultra1015.000100

Kako se ograničenja ponašaju:

  • Mesečno ograničenje dostignuto - isporuka čeka. Prikazuje se kao neuspela („Monthly webhook limit exceeded“), a TellDone pokušava ponovo na svakih 5 minuta. Šalje se nakon što se tvoje ograničenje resetuje u 00:00 UTC prvog u mesecu, osim ako do tada nije starija od 30 dana. Isporuke poslate nakon resetovanja računaju se u novi mesec.
  • Ograničenje po satu dostignuto - isporuka se odlaže i ponavlja nakon otprilike 5 minuta, pa kratak nalet neće izgubiti podatke.

U mesečno ograničenje računaju se samo uspešne isporuke. Ograničenje po satu računa svaki pokušaj, uključujući ponovne. Testna slanja se ne računaju ni u jedno ograničenje.

Ako promeniš plan, tvoje automatizacije i njihova podešavanja se zadržavaju. Na planu Free prestaju da šalju i ne možeš da ih otvoriš dok ne nadogradiš plan. Na planu Basic automatizacije koje već postoje nastavljaju da šalju u okviru 300 isporuka mesečno, ali ne možeš da dodaš niti uključiš više od jedne.

Filtriranje probnih događaja​

Kada dodirneš Testno slanje, sadržaj uključuje "test": true na najvišem nivou. U svom alatu za automatizaciju možeš da proveriš ovo polje i preskočiš obradu kada je prisutno.

Vodiči za platforme​

Uputstva korak po korak za tvoj alat za automatizaciju:

  • Zapier - poveži TellDone sa hiljadama aplikacija pomoću Zap-ova
  • Make - pravi vizuelne scenarije automatizacije (ranije Integromat)
  • n8n - koristi TellDone webhook-ove u tokovima rada koje hostuješ ili u oblaku
  • Prilagođene krajnje tačke - svaka usluga koja prihvata HTTPS POST zahteve radi sa TellDone webhook-ovima

Ideje​

  • Šalji zadatke u Google Sheet preko Zapier-a
  • Pravi Slack poruke iz beleški preko Make-a
  • Beleži događaje u sopstveni CRM preko n8n-a
  • Pravi rezervnu kopiju svih beleški u oblaku
  • Prosleđuj izveštaje na timsku tablu

Pogledaj i​

  • Primljeno i podrška - ako webhook više puta ne uspe, videćeš poruku u Primljeno
  • Zapier - Zapier podešavanje korak po korak
  • Make - Make podešavanje korak po korak
  • n8n - n8n podešavanje korak po korak
  • Todoist - namenska dvosmerna sinhronizacija zadataka (webhook-ovi nisu potrebni)
  • Notion - namenska Notion integracija
  • Prosleđivanje imejlom - primaj podatke o beleškama imejlom