Webhook umožňuje, aby FlexiProject okamžitě upozornil externí systém, když se ve vaší organizaci něco stane. Místo opakovaného dotazování API, zda se něco změnilo, dostane váš systém hned po vzniku události HTTP požadavek s daty události.
Jeden webhook spojuje jednu událost s jednou adresou příjemce. Chcete-li poslat dvě různé události na stejnou adresu nebo stejnou událost do dvou systémů, vytvořte dva webhooky.
Webhooky nastavujete v Nastavení systému > Webhooky. Sekce je dostupná správcům systému (viz Uživatelé a oprávnění). Chcete-li data číst jiným kanálem, použijte API.
Události
FlexiProject hlásí čtyři události. Každý webhook naslouchá právě jedné z nich, kterou vyberete v seznamu Událost.

| Událost | Kdy FlexiProject požadavek odešle | Data specifická pro událost |
|---|---|---|
| Projekt vytvořen | Vznikl nový projekt, jakýmkoli způsobem: od nuly, ze šablony, klonováním, importem souboru MS Project nebo Excel, nebo s pomocí AI. | projectId, projectName, createdAt |
| Projekt odstraněn | Projekt byl odstraněn. | projectId, projectName |
| Přijetí zahájeno | Změna plánu byla odeslána ke schválení a spustila se její schvalovací cesta. | changeRequestId, changeRequestName, projectId, projectName, date |
| Přijetí dokončeno | Schvalovací cesta skončila rozhodnutím: schválením, zamítnutím nebo zrušením. | changeRequestId, changeRequestName, projectId, projectName, decisionDate, status |
Každý požadavek navíc nese název události (event), okamžik, kdy vznikl (timestamp), a identifikátor (userId) i e-mailovou adresu (userEmail) uživatele, jehož akce ho vyvolala. Formát celého požadavku popisuje část Formát HTTP požadavku. Schvalování je popsáno v části Přijetí.
Konfigurace webhooku
Seznam webhooků
Stránka Webhooky zobrazuje všechny webhooky organizace ve třech sloupcích: Událost, URL příjemce a Popis. Pokud není nic definováno, zobrazí se zpráva Žádné webhooky.

Přidání webhooku
- Klikněte na tlačítko přidání nad seznamem. Otevře se okno Přidat webhook.
- Vyberte Událost. Ve výchozím nastavení je zvolena událost Projekt vytvořen.
- Zadejte URL příjemce — adresu, na kterou FlexiProject požadavek odešle. Pole je povinné a vyžaduje úplnou adresu včetně protokolu, například
https://example.com/hooks/flexiproject. Neúplná adresa je odmítnuta chybovým hlášením o zpracování dat. - Volitelně zadejte Popis — poznámku pro váš tým, viditelnou pouze v seznamu.
- Klikněte na Uložit.
Tajný klíč
Hned po uložení se objeví okno Tajný klíč se zprávou: Webhook byl vytvořen. Níže je tajný klíč, který se zobrazí pouze jednou. Zkopírujte jej a uložte na bezpečném místě. Tlačítko Kopírovat vloží hodnotu do schránky (zpráva Zkopírováno do schránky) a vy ji uložíte v přijímajícím systému. Tajný klíč podepisuje každý požadavek, takže příjemce může ověřit, že požadavek pochází z FlexiProject (viz Formát HTTP požadavku).
Po zavření okna už není úplná hodnota nikde v aplikaci dostupná. V později otevřeném webhooku ukazuje pole Tajný klíč jen první a poslední čtyři znaky s hvězdičkami uprostřed; pole nelze upravovat.
Úprava webhooku
Kliknutím na název události v seznamu otevřete okno Upravit webhook. Změníte v něm událost, adresu příjemce a popis a poté zvolíte Uložit. Tajný klíč zůstává beze změny — úprava nikdy nevydá nový. Při zavření okna s neuloženými změnami se zobrazí otázka Chcete jít dál a vzdát se změn?
Test webhooku
Tlačítko Testovat je v okně úpravy uloženého webhooku. Odešle na nastavenou adresu požadavek ve formátu zvolené události, vyplněný ukázkovými daty (například projektem s názvem Test Project), a potvrdí to zprávou Testovací požadavek byl úspěšně odeslán. Zpráva potvrzuje, že požadavek byl odeslán, nikoli že ho příjemce přijal — výsledek zkontrolujte na straně příjemce.
Odstranění webhooku
Tlačítko Odstranit v okně webhooku vyžaduje potvrzení otázky Opravdu chcete webhook odstranit? Od té chvíle se událost na tuto adresu už neodesílá. Odstranění nelze vrátit; obnovení doručování znamená nový webhook, a tedy nový tajný klíč.
Formát HTTP požadavku
FlexiProject odesílá na nastavenou adresu požadavek POST s tělem ve formátu JSON.
Hlavičky
| Hlavička | Obsah |
|---|---|
X-FlexiProject-Event |
Název události: ProjectCreated, ProjectDeleted, AcceptanceStarted nebo AcceptanceCompleted. |
X-FlexiProject-Delivery |
Identifikátor doručení. Zůstává stejný při všech opakováních téže události, takže podle něj poznáte duplicity. |
X-FlexiProject-Timestamp |
Okamžik odeslání požadavku. |
X-FlexiProject-Signature |
Podpis těla požadavku ve tvaru sha256=<value>. |
Ověření podpisu
Podpis je HMAC-SHA256 nezpracovaného těla požadavku, vypočtený s tajným klíčem webhooku jako klíčem a zapsaný malými písmeny v šestnáctkové soustavě. Na straně příjemce vypočtěte stejnou hodnotu z přijatého těla a porovnejte ji s částí hlavičky X-FlexiProject-Signature za sha256=. Pokud se hodnoty liší, požadavek odmítněte — nepochází z vaší organizace ve FlexiProject.
Ukázkové tělo
{
"projectId": "6712f0a1c3d4e5f601234567",
"projectName": "Warehouse modernization",
"createdAt": "2026-09-21T08:14:02Z",
"userId": "a3f1c7de-1b20-4f9e-9a55-0c2d8e7b41aa",
"userEmail": "anna.kowalska@example.com",
"event": "ProjectCreated",
"timestamp": "2026-09-21T08:14:02Z"
}
Odpověď a opakování
Odpovězte stavem úspěchu (2xx), jakmile požadavek přijmete. Jakákoli jiná odpověď, nebo žádná, se počítá jako neúspěšné doručení.
Neúspěšné doručení se automaticky opakuje s rostoucím odstupem: po 1, 2, 4, 8, 16, 32, 64, 128, 256 a 512 minutách. Pokusy se rozloží zhruba na sedmnáct hodin, takže příjemce, který je na chvíli nedostupný, o událost nepřijde. Každý pokus opakuje stejnou hodnotu X-FlexiProject-Delivery, proto počítejte s tím, že tutéž událost můžete dostat vícekrát.