Webhook automatizácie
Automatizácie vyžadujú plán Basic alebo vyšší. Basic: 1 automatizácia, Pro: 3, Ultra: 10. V pláne Free riadok ukazuje Upgraduj a odomkni Automatizácie.
Webhook je webová adresa, ktorá automaticky prijíma dáta. S Automatizáciami TellDone pošle na túto adresu každú novú poznámku s jej úlohami a udalosťami hneď, ako je poznámka hotová, a každý nový report, keď je report hotový, aby s nimi nástroje ako Zapier, Make alebo n8n mohli pracovať. Každá úloha a udalosť sa odosiela ako samostatné doručenie.
Výber toho, čo sa posiela
Každá automatizácia má vlastné nastavenia v časti Čo posielať. Vyber jednu možnosť alebo ľubovoľnú kombináciu:
- Poznámka - úplná spracovaná poznámka (názov, prepis, súhrn, typ, štítky, priorita, jazyk a dátum vytvorenia)
- Poznámka + zvuk - v pláne Ultra pridá ku každému doručeniu poznámky odkaz na stiahnutie zvukového súboru, platný 24 hodín. Nechaj zapnutú možnosť Poznámka: bez nej sa poznámka neodošle
- Úlohy - jedno doručenie na každú získanú úlohu
- Udalosti - jedno doručenie na každú získanú udalosť v kalendári
- Reporty - jedno doručenie na každý vygenerovaný denný, týždenný, mesačný alebo ročný report (typy reportov, ktoré tvoj plán zahŕňa). Zástupné reporty pre pokojné dni a krátke reporty pre pokojné týždne sa neodosielajú
Tieto voľby môžeš kedykoľvek zmeniť v nastaveniach automatizácie - zmeny sa použijú len pri nových doručeniach.
Výber toho, kedy sa posiela
Pod voľbami dát o tom, ktoré zmeny spustia doručenie, rozhodujú štyri samostatné prepínače: Vytvorené, Aktualizované, Dokončené a Zmazané. Spúšťač funguje len spolu so zodpovedajúcim prepínačom dát nad ním. Napríklad Dokončené odošle dokončené úlohy, len ak je zapnuté Úlohy.
Vytvorené sa odosiela pri poznámkach, ktoré TellDone vytvorí z nahrávky alebo textovej poznámky, a pri úlohách a udalostiach v nich. Úlohy a udalosti, ktoré pridáš ručne alebo pomocou AI asistenta, a nové položky z Doplniť hlasom sa ako Vytvorené neodosielajú. Aktualizované, Dokončené a Zmazané sa odosielajú, keď položku zmeníš v aplikácii alebo cez Doplniť hlasom. Zmeny urobené cez Smart Context, cez AI asistenta alebo v Todoist, Notion či Microsoft To Do doručenie nespustia.
Pole event každého doručenia pomenúva, čo sa stalo, napríklad task.created, task.completed alebo calendar_event.updated.
Nastavenie webhooku

- Choď do Nastavenia > Integrácie > Automatizácie
- Ťukni na Nová automatizácia

- Zadaj názov (napríklad „Môj webhook pre Zapier“)
- Vlož URL webhooku zo svojej automatizačnej služby
- Vyber, ktoré dáta sa majú posielať (Poznámka, Poznámka + zvuk v pláne Ultra, Úlohy, Udalosti, Reporty) a ktoré spúšťače sa majú použiť (Vytvorené, Aktualizované, Dokončené, Zmazané)
- Voliteľne pridaj autorizačnú hlavičku - token odosielaný v hlavičke
Authorizationpre zabezpečené koncové body - Ťukni na Uložiť
- Skopíruj podpisové tajomstvo - v plnej podobe sa zobrazí len pri prvom vytvorení automatizácie alebo po jeho obmene. Potrebuješ ho na overenie, že doručenia skutočne prichádzajú z TellDone (pozri Overenie podpisov webhookov)
- Ťukni na Testovacie odoslanie a odošli ukážkový payload na svoj koncový bod bez zmeny akýchkoľvek tvojich dát. Uvidíš Úspech s HTTP kódom a časom odozvy, alebo Chyba s dôvodom. Testovacie odoslania sa v zázname doručení nezobrazujú
Čo sa posiela
Každé doručenie je objekt JSON s tromi poľami: event (typ udalosti), timestamp a data (samotný obsah). Testovacie odoslania obsahujú aj "test": true. Takto vyzerá každý typ udalosti.
Poznámky (note.created)
Obsahuje názov vytvorený AI, úplný prepis, súhrn, typ poznámky, štítky, prioritu, jazyk a dátum vytvorenia.
{
"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"
}
}
V pláne Ultra môžu doručenia poznámok obsahovať aj odkaz na zvukovú nahrávku (audio_url, audio_format, duration_seconds). Odkaz vyprší po 24 hodinách. Zapneš to možnosťou Poznámka + zvuk v automatizácii.
Úlohy (task.created)
Jedno doručenie na úlohu. Poznámka s 3 úlohami odošle 3 samostatné doručenia.
{
"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"
}
}
Udalosti (calendar_event.created)
Jedno doručenie na udalosť v kalendári.
{
"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 a end sú v UTC. start_local, end_local, start_date a end_date používajú tvoje časové pásmo (timezone). Pri celodennej udalosti je end_date posledný deň udalosti.
Reporty (report.created)
Odosiela sa pri vygenerovaní denného, týždenného, mesačného alebo ročného reportu.
{
"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"
}
}
Zabezpečenie
Každé doručenie je podpísané algoritmom HMAC-SHA256 pomocou podpisového tajomstva tvojej automatizácie. Ku každému doručeniu sa pripájajú tieto hlavičky:
X-LP-Signature- podpis HMAC-SHA256 (sha256=...)X-LP-Timestamp- Unix timestamp použitý na podpisX-LP-Event- typ udalosti (napríkladnote.created,task.completed,calendar_event.updated,report.created)X-LP-Delivery-Id- jedinečné ID doručenia (hodí sa na deduplikáciu)User-Agent- vždyTellDone-Webhooks/1.0
TellDone posiela hlavičku Authorization len vtedy, ak v automatizácii pridáš autorizačnú hlavičku. Môžeš použiť dva formáty: Header-Name: value pošle pomenovanú hlavičku a samotná hodnota pošle Authorization: <value>. Tvoje podpisové tajomstvo sa nikdy neposiela v hlavičke.
Každá automatizácia má vlastné podpisové tajomstvo, takže obmena jedného neovplyvní tvoje ostatné webhooky. Tajomstvo sa v plnej podobe zobrazí len pri prvom vytvorení automatizácie alebo po obmene. Inokedy sa zobrazuje len náhľad (whsec_...last4). Ak ho chceš vymeniť za nové, ťukni v nastaveniach automatizácie na Obmeniť tajomstvo - vygeneruje sa nový kľúč HMAC bez zmeny URL alebo autorizačnej hlavičky. Staré tajomstvo prestane fungovať okamžite.
Prijímajú sa len adresy URL s HTTPS a doménovým menom. HTTP, IP adresy (verejné aj súkromné), adresy URL s používateľským menom alebo heslom a domény, ktoré smerujú na adresy v súkromnej sieti, sa odmietajú. TellDone adresu skontroluje znova pri každom odosielaní. Ak kontrola zlyhá, napríklad preto, že sa doména v danej chvíli nepodarí vyhľadať, doručenie sa zastaví a nezopakuje sa.
Overenie podpisov webhookov
Každý webhook je podpísaný, aby sa dalo potvrdiť, že skutočne prišiel z TellDone. Podpis sa vypočíta takto:
HMAC-SHA256(signing_secret, timestamp + "." + raw_body)
Výsledok je zakódovaný hexadecimálne a v hlavičke podpisu má predponu sha256=.
TellDone serializuje JSON s medzerami za oddeľovačmi (napríklad {"event": "note.created"}). Ak telo spracuješ a znova serializuješ, podpis sa nezhodne. Overuj vždy voči surovým bajtom tela požiadavky.
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...
});
Ochrana proti opakovaniu (voliteľné)
Ako ochranu pred útokmi opakovaním (replay) skontroluj, či je timestamp čerstvý:
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
Časté chyby
| Chyba | Oprava |
|---|---|
| Použitie spracovaného a znova serializovaného tela | Použi surové telo požiadavky |
JSON.stringify() v JS (kompaktný, bez medzier) | Použi surové telo požiadavky |
| Zabudnutá predpona s timestampom | Formát payloadu je timestamp + "." + body |
| Priame porovnávanie reťazcov | Použi hmac.compare_digest alebo timingSafeEqual |
Pravidlá opakovania
Ak tvoj koncový bod zlyhá, TellDone zopakuje každé doručenie podľa tohto plánu:
| Pokus | Oneskorenie |
|---|---|
| 1. opakovanie | 30 sekúnd |
| 2. opakovanie | 2 minúty |
| 3. opakovanie | 15 minút |
| 4. opakovanie | 1 hodina |
| 5. opakovanie | 4 hodiny |
Ak zlyhá aj 5. opakovanie, doručenie sa označí ako neúspešné a znova sa už nezopakuje. V aplikácii sa zobrazí s červeným krížikom. Môžeš ho stále odoslať znova z úplného záznamu doručení: otvor Všetky doručenia (odkaz sa zobrazí, keď má automatizácia viac než 5 doručení) a pri neúspešnom doručení ťukni na Skúsiť znova. Krátky zoznam Nedávne doručenia opakovanie neponúka.
Ako TellDone zaobchádza s rôznymi odpoveďami:
- 2xx - úspešne doručené
- 4xx (okrem 429) - hneď označené ako neúspešné a nezopakuje sa (tvoj koncový bod dáta výslovne odmietol)
- 429 (Too Many Requests) - zopakuje sa po počte sekúnd uvedenom v
Retry-After(60 sekúnd, ak chýba). Tieto opakovania nie sú obmedzené na 5, ale každé sa započíta do 20 zlyhaní, ktoré automatizáciu vypnú - 5xx alebo vypršanie času - opakuje sa podľa vyššie uvedeného plánu
Keď doručenia opakovane zlyhávajú
Ak doručenia stále zlyhávajú, TellDone ťa upozorní a nakoniec automatizáciu vypne.
Po 3 neúspešných pokusoch: upozornenie v Schránke
Po 3 neúspešných pokusoch po sebe (počítajú sa aj opakovania) pošle TellDone do tvojej Schránky správu s názvom Your automation "Name" is failing, pričom v úvodzovkách je názov tvojej automatizácie. Potom ju môžeš otvoriť v Nastavenia > Integrácie > Automatizácie, skontrolovať jej doručenia a rozhodnúť sa, čo ďalej.
Po 20 neúspešných pokusoch: automatické vypnutie
Ak zlyhá 20 pokusov po sebe pri tej istej automatizácii (počítajú sa aj opakovania), TellDone automatizáciu vypne, aby neposielala na adresu, ktorá nefunguje. Oprav problém vo svojom automatizačnom nástroji a potom znova zapni jej prepínač Aktívne v Nastavenia > Integrácie > Automatizácie. Opätovné zapnutie počet zlyhaní nevynuluje, takže kým sa nepodarí jedno doručenie, stačí jediný neúspešný pokus a vypne sa znova.
Počíta sa každý neúspešný pokus, takže jedno doručenie, ktoré zlyhá pri všetkých 5 opakovaniach, pridá k počtu 6. Automatizácia sa preto môže vypnúť sama už po približne 4 neúspešných doručeniach. Počítadlo sa vynuluje pri najbližšom úspešnom doručení.
Správa webhookov
- Aktívne - vypnutím tohto prepínača automatizáciu zastavíš bez zmazania a kedykoľvek ho môžeš znova zapnúť. Kým je vypnutý, nič sa neodosiela: poznámky a reporty z tohto obdobia sa neodošlú neskôr a doručenia čakajúce na opakovanie sa zahodia
- Doručenia - Nedávne doručenia ukazujú posledných 5 so stavom, HTTP kódom a časom odozvy. Keď ich je viac, Všetky doručenia otvoria záznam za posledných 30 dní, kde môžeš filtrovať podľa Všetky, Doručené alebo Chyby a pri neúspešnom doručení ťuknúť na Skúsiť znova a odoslať ho znova bez čakania na ďalšie plánované opakovanie
- Testovacie odoslanie - odošle ukážkovú poznámku (
note.created, s"test": truev tele) bez ohľadu na to, aké typy dát máš vybrané, a bez zmeny akýchkoľvek tvojich dát. K dispozícii po uložení automatizácie. Testovacie odoslania sa nezapočítavajú do tvojho mesačného limitu - Obmeniť tajomstvo - vygeneruje nové podpisové tajomstvo HMAC bez zmeny URL alebo autorizačnej hlavičky
- Upraviť - zmeň URL, autorizačnú hlavičku, voľby dát (Poznámka / Poznámka + zvuk / Úlohy / Udalosti / Reporty) alebo spúšťače (Vytvorené / Aktualizované / Dokončené / Zmazané). Zmeny sa prejavia okamžite
- Zmazať automatizáciu - natrvalo odstráni automatizáciu a všetky jej záznamy doručení
Každé doručenie ukazuje svoj stav ako ikonu:
| Ikona | Význam |
|---|---|
| Zelená fajka | Doručené |
| Žlté hodiny | Čaká alebo sa odosiela |
| Červený trojuholník | Zlyhalo, TellDone to zopakuje |
| Červený krížik | Zlyhalo, žiadne ďalšie automatické opakovania |
V úplnom zázname môžeš ťuknúť na Skúsiť znova pri doručeniach s červeným trojuholníkom alebo červeným krížikom.
Limity doručovania
Existujú dva limity: mesačný limit, ktorý závisí od tvojho plánu, a hodinový limit 100 doručení v každom platenom pláne, ktorý chráni pred náhlymi špičkami.
| Plán | Automatizácie | Mesačné doručenia | Hodinový limit |
|---|---|---|---|
| Free | 0 | 0 | - |
| Basic | 1 | 300 | 100 |
| Pro | 3 | 3 000 | 100 |
| Ultra | 10 | 15 000 | 100 |
Ako sa limity správajú:
- Dosiahnutý mesačný limit - doručenie čaká. Zobrazí sa ako neúspešné („Monthly webhook limit exceeded“) a TellDone to skúša znova každých 5 minút. Odošle sa po resetovaní limitu o 00:00 UTC prvého dňa v mesiaci, pokiaľ nie je dovtedy staršie než 30 dní. Doručenia odoslané po resete sa počítajú do nového mesiaca.
- Dosiahnutý hodinový limit - doručenie sa odloží a zopakuje približne o 5 minút, takže krátka špička nespôsobí stratu dát.
Do mesačného limitu sa počítajú len úspešné doručenia. Hodinový limit počíta každý pokus, vrátane opakovaní. Testovacie odoslania sa do žiadneho z limitov nepočítajú.
Ak zmeníš plán, tvoje automatizácie a ich nastavenia zostanú zachované. V pláne Free prestanú posielať a nemôžeš ich otvoriť, kým neprejdeš na vyšší plán. V pláne Basic automatizácie, ktoré už máš, ďalej posielajú v rámci 300 doručení mesačne, ale nemôžeš pridať ani zapnúť viac než jednu.
Filtrovanie testovacích udalostí
Keď ťukneš na Testovacie odoslanie, payload obsahuje na najvyššej úrovni "test": true. Vo svojom automatizačnom nástroji môžeš toto pole skontrolovať a spracovanie vynechať, ak je prítomné.
Návody pre jednotlivé platformy
Podrobné pokyny na nastavenie pre tvoj automatizačný nástroj:
- Zapier - pripoj TellDone k tisíckam aplikácií pomocou Zapov
- Make - vytváraj vizuálne automatizačné scenáre (predtým Integromat)
- n8n - používaj webhooky TellDone vo workflowoch na vlastnom serveri alebo v cloude
- Vlastné koncové body - s webhookmi TellDone funguje každá služba, ktorá prijíma požiadavky HTTPS POST
Nápady
- Posielaj úlohy do Google Sheet cez Zapier
- Vytváraj správy v Slack z poznámok cez Make
- Zapisuj udalosti do vlastného CRM cez n8n
- Zálohuj všetky poznámky do cloudového úložiska
- Preposielaj reporty do tímového dashboardu
Pozri tiež
- Schránka a podpora - ak webhook opakovane zlyháva, uvidíš správu vo svojej Schránke
- Zapier - podrobné nastavenie Zapier
- Make - podrobné nastavenie Make
- n8n - podrobné nastavenie n8n
- Todoist - samostatná obojsmerná synchronizácia úloh (webhooky netreba)
- Notion - samostatná integrácia s Notion
- Preposielanie e-mailom - dostávaj dáta poznámok e-mailom