Procházet centrum nápovědy

Automatizace Transeptu pomocí webhooků

Spravuje Vitalii VlasiukCo-founder

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í.

Karta spouštěče: Ruční nebo Webhook.

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.

Aktivní spouštěč – maskovaná URL adresa, Rotate, naposledy spuštěno.

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).
  • Jazykyvš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ý obsahve 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.

Režim payload: tělo požadavku se stane dokumentem.
Prozkoumat funkce

Stále si nevíte rady? Zeptejte se Literess v aplikaci, nebo napište na [email protected].