Automatizace Transeptu pomocí webhooků
Workflow se běžně spouští stisknutím tlačítka Spustit. Webhookový spouštěč to nahrazuje URL adresou: nasměrujte na ni jakýkoli systém, který umí odeslat HTTP požadavek, a workflow se spustí automaticky.
Na této stránce
Jak přepnu workflow na webhookový spouštěč?
Otevřete uložené workflow v editoru a podívejte se na kartu spouštěče nahoře – tu, kde je napsáno Spouštíte ručně. Je to přepínač. Ruční je výchozí nastavení: tlačítko Spustit stisknete sami. Webhook přidělí workflow soukromou URL adresu, na kterou externí systém odesílá POST požadavky, takže se workflow spustí samo. Spouštěč patří k uloženému workflow, takže ho nejprve uložte – u neuloženého konceptu zůstane možnost Webhook neaktivní.
Jak získat a obnovit URL adresu webhooku?
Přepněte kartu na Webhook, nastavte, co se má při spuštění zpracovat (viz níže), a uložte. Transept pro toto konkrétní workflow vygeneruje tajnou URL adresu a zobrazí ji pouze jednou – hned si ji zkopírujte, protože se ukládá pouze hash a celá URL adresa se už nikdy znovu nezobrazí. Tajný klíč je součástí samotné URL adresy, nikoli hlavičky, protože ty nejjednodušší systémy hlavičky nastavovat neumí. S URL adresou proto zacházejte jako s heslem – kdokoli k ní má přístup, může workflow spustit.
Když kartu otevřete později, uvidíte místo celé URL adresy maskovaný prefix (whk_live_…) a akci Rotate. Obnovením (Rotate) se vygeneruje nová URL adresa a ta stará se v okamžiku potvrzení zneplatní – takto můžete zneplatnit odkaz, který unikl. Spouštěč můžete také vypnout, aniž byste ho smazali, nebo ho odebrat úplně. Na kartě je také vidět, kdy byl naposledy spuštěn.
Co se při spuštění zpracuje
O tom, co workflow při volání URL adresy zpracuje, rozhodují dvě nastavení:
- Cíl – buď konkrétní dokument, který určíte (každé spuštění se pak týká tohoto dokumentu a jeho jazykové skupiny), nebo stránka v Notion uvedená v příchozích datech (Transept ji spáruje s vaším dokumentem, a pokud ji vidí poprvé, naimportuje ji).
- Jazyky – všechny jazykové verze (výchozí nastavení; spuštění proběhne u všech jazyků daného cíle jako hromadné spuštění), nebo pouze tento jeden dokument.
- Pouze aktualizovaný obsah – ve výchozím nastavení zapnuto, protože automatizované spuštění by mělo znovu zpracovat pouze to, co se od minule změnilo, a ne překládat celý dokument znovu při každém spuštění. Viz Spouštět pouze u změn.
Spuštění pomocí automatizace databáze v Notion
Automatizace databáze v Notion může volat spouštěč pomocí své akce Send webhook: nasměrujte akci na URL adresu spouštěče a pokaždé, když se automatizace spustí, Transept spustí workflow pro stránku, která ji vyvolala. Než se na toto řešení začnete spoléhat, stojí za to vědět dvě věci.
Zaprvé, automatizace v Notion se spouštějí při změně vlastnosti (nebo vytvoření nové stránky), nikoli při samotné úpravě obsahu – samotná editace textu stránky tedy nemusí nic spustit. Spolehlivým postupem je sledování vlastnosti Status: její změna (např. na Ready to translate) pak slouží jako signál.
Zadruhé, webhook z Notionu pouze identifikuje stránku – nikdy nepřenáší její samotný obsah. Transept si proto stránku načítá přes vaše propojení s Notionem, kterému musíte přímo v Notionu udělit přístup k dané databázi. Oba kroky (propojení Notionu a následné sdílení databáze s integrací) jsou podrobně popsány v sekci „Spouštěče pro Notion: udělení přístupu Transeptu“ v článku Automatizace Transeptu pomocí API. Pokud některý z nich vynecháte, každé spuštění bude zamítnuto kvůli chybě přístupu.
Jak spouštěč vyvolat ze Zapieru, n8n nebo skriptu?
Spouštěč lze vyvolat čímkoli, co umí odeslat požadavek HTTP POST – například krokem v Zapieru či n8n, CI úlohou nebo příkazem curl na konci sestavení. U cíle typu konkrétní dokument na těle požadavku nezáleží, takže stačí i prázdný POST. Tělo požadavku se čte pouze u cíle typu stránka v Notion, aby systém zjistil, která stránka se změnila. Není potřeba žádná hlavička Authorization – jako tajný klíč slouží celá URL adresa.
Co se stane při spuštění
Při spuštění se workflow standardně provede ve všech jazykových verzích a – pokud je zapnuta volba Pouze aktualizovaný obsah – znovu se přeloží jen ty bloky, u kterých se od posledně změnil zdrojový text. Drobná úprava vás tak stojí jen pár bloků, nikoli celý dokument. U spuštění zahájených tímto způsobem se slova účtují úplně stejně jako v editoru aplikace, a pokud váš zůstatek na spuštění nestačí, nic se neprovede ani neúčtuje.
Krok nastavený na čekat na vaši kontrolu se i nadále pozastaví: překlad proběhne až k tomuto bodu a tam se zastaví. Daný jazyk se pak zobrazí v editoru v panelu Připraveno ke kontrole k vašemu schválení – automatizace vaše kontrolní body nepřeskakuje. A pokud nelze načíst cíl typu stránka v Notion (nejčastěji proto, že databáze nebyla s integrací nasdílena), na kartě spouštěče se u posledního selhání zobrazí poznámka „nepodařilo se načíst stránku v Notion“ s časovým údajem, abyste věděli, proč se nic neprovedlo.
Může webhook přenášet samotný obsah?
Ano. Nastavte cíl spouštěče na „tělo požadavku je obsah“ a cokoli, co na danou URL adresu odešlete pomocí POST, se stane dokumentem: čistý Markdown, HTML nebo prostý text (odešlete odpovídající Content-Type), případně JSON ve formátu {"content": "…", "content_type": "markdown"}. U každého spouštěče si zvolte, zda každé doručení vytvoří nový dokument, nebo aktualizuje jeden konkrétní dokument – při aktualizaci se obsah znovu zarovná, takže se znovu přeloží pouze změněné bloky. Takto může e-mailová platforma, krok v Zapieru/n8n nebo jakýkoli skript poslat šablonu či článek přímo do překladového workflow bez nutnosti ručního nahrávání. Opakovaná doručení jsou po dobu 24 hodin deduplikována; pro přesnou kontrolu uveďte v JSONu external_id (vaše ID zprávy). Tělo požadavku může mít až 10 MB.
Stále si nevíte rady? Zeptejte se Literess v aplikaci, nebo napište na [email protected].