Zpět na blog

21. 7. 2026

Začínáme s ChatGPT (9): Jak ho propojit s webem a automatizací

Jak navrhnout spolehlivé propojení webu, OpenAI API, CRM a dalších systémů. Strukturovaná data, validace, fronty, duplicity, audit a lidské schválení.

Začínáme s ChatGPT (9): Jak ho propojit s webem a automatizací

Na webu přistane nová poptávka. Někdo ji otevře v e-mailu, přepíše kontakt do CRM, ručně určí typ služby, vytvoří úkol a pošle potvrzení. Každý krok zabere jen chvíli. Dohromady ale vzniká zpoždění, prostor pro překlep a nejistota, zda případ vůbec někdo převzal.

Právě zde může pomoci automatizace s AI. Ne tím, že „pustíme ChatGPT na web“, ale tím, že přesně popíšeme událost, data, pravidla, kontrolní body a výjimky. Model může poptávku roztřídit, shrnout nebo navrhnout další krok. Web, CRM a odpovědný člověk však stále musí vědět, co se stalo a kdo za výsledek odpovídá.

Tento článek vysvětluje principy lidskou řečí. Není to návod ke kopírování jednoho univerzálního kódu. Každá integrace musí odpovídat konkrétním datům, oprávněním a následkům chyby.

ChatGPT v prohlížeči a API nejsou totéž

V ChatGPT zadává člověk úkol v konverzaci a výsledek před použitím kontroluje. API umožňuje, aby model zavolala aplikace: web, CRM, interní systém nebo integrační služba. Vstup i výstup procházejí programově a často bez otevřeného okna chatu.

To přináší dvě výhody:

  • opakovatelný proces se stejnými vstupy a výstupy,
  • propojení s daty a funkcemi dalších systémů.

Zároveň se zvyšuje odpovědnost návrhu. Když člověk vidí chybný e-mail, může jej zastavit. Automatizace může stejnou chybu zopakovat stokrát, pokud nemá validaci, limity a možnost ručního převzetí.

Automatizace nezačíná API klíčem

Nejdřív popište proces bez technických zkratek:

  1. Co přesně se stane?
  2. Jaká data v tu chvíli máme?
  3. Co má být výsledkem?
  4. Která část je pevné pravidlo a kde pomáhá AI?
  5. Co musí zkontrolovat člověk?
  6. Co se stane při chybě?

Pokud proces neumíte nakreslit na jednu stránku, ještě není připravený k automatizaci.

Pět částí každého toku

1. Spouštěč

Konkrétní událost: odeslaný formulář, zaplacená objednávka, vložený dokument nebo změna stavu případu.

2. Vstup

Strukturovaná data a potřebné podklady. Každé pole má význam, formát a citlivost.

3. Zpracování

Pevná pravidla, práce modelu, výpočty a integrace. Tyto části je vhodné oddělit.

4. Kontrola

Technická validace a podle dopadu také lidské schválení.

5. Výstup

Záznam v CRM, úkol, dokument, zpráva nebo změna stavu, vždy s dohledatelným původem.

Co je API, webhook a integrační služba

API je dohodnuté rozhraní, přes které si systémy předávají požadavky a odpovědi. Web může přes API vytvořit kontakt v CRM nebo požádat model o strukturované shrnutí.

Webhook je zpráva o události. Místo pravidelného dotazování „přišla nová objednávka?“ e-shop pošle oznámení ve chvíli, kdy objednávka vznikne nebo změní stav.

Integrační služba propojuje několik kroků a hlídá jejich průběh. Může jít o vlastní aplikaci nebo specializovanou platformu. Důležitá není značka, ale spolehlivost, oprávnění, historie a řešení chyb.

Zdroj pravdy

Každý údaj musí mít místo, kde vzniká a kde se smí měnit. Formulář může být zdrojem původní zprávy zákazníka. CRM je zdrojem stavu poptávky. Fakturační systém je zdrojem čísla faktury a platebního stavu.

AI výstup není automaticky zdrojem pravdy. Pokud model odhadne rozpočet nebo kategorii, musí být zřejmé, že jde o návrh. Původní data se nesmějí tiše přepsat.

Praktické pravidlo: ukládejte zvlášť původní hodnotu, odvozený AI výstup, míru jistoty a lidské rozhodnutí.

Příklad: formulář, AI a CRM

Tok webové poptávky přes validaci, AI klasifikaci, lidské schválení a CRM
Model může připravit klasifikaci a shrnutí, ale validace vstupu, lidská odpovědnost a zdrojový záznam musí zůstat součástí procesu.

Bezpečný základní tok může vypadat takto:

  1. Návštěvník odešle formulář.
  2. Web ověří povinná pole, formát kontaktu, souhlas a ochranu proti spamu.
  3. Poptávka se nejdřív uloží do vlastní databáze s jedinečným ID.
  4. Asynchronní úloha připraví pro model pouze potřebná data.
  5. Model vrátí kategorii, stručné shrnutí a chybějící otázky.
  6. Program ověří formát a povolené hodnoty.
  7. CRM dostane původní zprávu i odvozené údaje jako oddělená pole.
  8. Vznikne úkol s vlastníkem a termínem.
  9. Člověk poptávku zkontroluje a rozhodne o další komunikaci.

Potvrzení o přijetí může být pevná šablona. Není nutné nechat model generovat text, kde stačí spolehlivé pravidlo.

AI používejte jen tam, kde pravidla nestačí

Formát e-mailu, povinné pole, výpočet DPH nebo přiřazení podle PSČ patří do běžného programu. AI se hodí pro úkoly, kde pracujeme s významem přirozeného jazyka:

  • klasifikace volné zprávy do několika služeb,
  • stručné shrnutí dlouhého popisu,
  • rozpoznání témat a naléhavosti,
  • návrh doplňujících otázek,
  • převod různě formulovaných požadavků do společné struktury.

Čím více lze úkol vyřešit obyčejným pravidlem, tím méně důvodů je přidávat model, cenu a další bod selhání.

Strukturovaný výstup místo volného odstavce

Automatizace potřebuje předvídatelná pole. Věta „zákazník asi chce e-shop“ se špatně zpracovává. Užitečnější je struktura:

{
  "category": "eshop",
  "summary": "Zájem o nový katalog s objednávkou.",
  "urgency": "normal",
  "missing_information": ["počet produktů", "platební metody"],
  "requires_human_review": true
}

OpenAI API podporuje strukturované výstupy podle JSON schématu u podporovaných modelů a funkcí. Schéma může omezit názvy polí, datové typy a povolené hodnoty. To výrazně pomáhá, ale stále neověřuje pravdivost obsahu. Platná hodnota "urgency": "high" může být věcně špatně.

Datová smlouva

Každé propojení potřebuje jasný popis polí:

  • název a význam,
  • datový typ a formát,
  • povinnost nebo volitelnost,
  • povolené hodnoty,
  • zdroj údaje,
  • citlivost a doba uchování,
  • chování při chybějící hodnotě.

Například pole budget musí určit, zda jde o číslo, interval, text od zákazníka nebo odhad modelu. Tyto významy se nesmějí smíchat.

Validace má několik vrstev

Technická validace

Je výstup platný JSON? Jsou přítomna povinná pole? Má datum správný formát?

Doménová validace

Existuje daná kategorie? Je částka v povoleném rozsahu? Odpovídá stav skutečnému procesu?

Kontrola proti zdroji

Nevymyslel model telefon, termín nebo službu, kterou zákazník neuvedl?

Lidské schválení

Je návrh vhodný pro konkrétní situaci a lze podle něj jednat?

Strukturovaný formát řeší první vrstvu. Zbylé musíte navrhnout sami.

Jistota není spolehlivý fakt

Model může vrátit číselnou „míru jistoty“, ale ta sama o sobě není kalibrovanou pravděpodobností správnosti. Lepší je používat praktická pravidla:

  • chybí-li rozhodující vstup, předat člověku,
  • je-li zpráva ve více kategoriích, předat člověku,
  • obsahuje-li právní, zdravotní nebo bezpečnostní téma, předat člověku,
  • není-li výstup v povoleném schématu, nezapisovat jej do cílového systému.

API klíč nikdy nepatří do prohlížeče

OpenAI API klíč je tajný přístupový údaj. Patří na server do bezpečného úložiště konfigurace, ne do veřejného JavaScriptu, HTML, mobilní aplikace ani repozitáře.

Pro každé prostředí a integraci používejte oddělený projekt nebo klíč s nejmenšími potřebnými oprávněními. Nastavte limity, sledujte použití a připravte možnost rychlého odvolání. Oficiální quickstart doporučuje klíč načítat z proměnné prostředí, nikoli jej vkládat do zdrojového kódu.

Uživatelské oprávnění a souhlas

To, že data přicházejí z webového formuláře, neznamená automatické oprávnění k libovolnému zpracování. Popište účel, minimalizujte data a zvažte, které informace se modelu vůbec předávají.

Interní systém má zároveň ověřit, zda volající uživatel smí daný záznam číst nebo měnit. Model nesmí rozšířit oprávnění, která člověk nebo aplikace nemá.

Asynchronní zpracování a fronta

Volání modelu může trvat déle než běžné uložení formuláře nebo může dočasně selhat. Proto je bezpečnější:

  1. uložit původní poptávku,
  2. návštěvníkovi potvrdit její přijetí,
  3. vložit AI úlohu do fronty,
  4. zpracovat ji na pozadí,
  5. uložit výsledek nebo chybový stav,
  6. upozornit člověka, pokud úloha nedoběhne.

Návštěvník tak nepřijde o poptávku jen proto, že externí služba právě neodpovídá.

Opakování, čekání a rate limits

API může vrátit dočasnou chybu nebo omezení počtu požadavků. Automatizace má používat rozumné opakování s postupně delším čekáním, nikoli okamžitě poslat stejný požadavek stokrát.

Ukládejte stav pokusu a horní limit opakování. Po jeho překročení předejte případ do ruční fronty. OpenAI ve svém API vrací informace o limitech a identifikátory požadavků; jejich ukládání pomáhá při diagnostice.

Duplicity a idempotence

Webhook může dorazit dvakrát. Uživatel může dvakrát kliknout na tlačítko. Po výpadku nemusí být jasné, zda cílový systém předchozí požadavek přijal.

Každá událost proto potřebuje jedinečný identifikátor. Před vytvořením kontaktu nebo dokumentu systém ověří, zda už stejnou událost nezpracoval. Stejný požadavek má při opakování vést ke stejnému výsledku, ne k druhé objednávce nebo dvěma úkolům.

Chybový stav musí být viditelný

Spolehlivá AI automatizace s frontou, validací, opakováním a ručním převzetím
Spolehlivý proces počítá s výpadkem, duplicitou i nejasným výstupem. Každý případ zůstává dohledatelný a může jej převzít člověk.

Neúspěšná úloha nesmí zůstat jen jako řádek v technickém logu. Potřebuje:

  • viditelný stav v administraci,
  • stručný důvod chyby,
  • počet pokusů a čas posledního pokusu,
  • odkaz na původní záznam,
  • tlačítko nebo postup pro ruční opakování,
  • vlastníka a pravidlo eskalace.

Auditní stopa bez zbytečného ukládání dat

Pro zpětné dohledání ukládejte alespoň:

  • interní ID události a záznamu,
  • čas a stav zpracování,
  • verzi promptu a zvolený model,
  • technický identifikátor API požadavku,
  • výsledek validace,
  • člověka, který výstup schválil nebo změnil.

Neukládejte automaticky kompletní citlivé prompty a odpovědi do každého logu. Audit má být užitečný a současně respektovat minimalizaci a dobu uchování.

Verze promptu a modelu

Automatizace se může změnit i bez úpravy formuláře. Nová verze promptu, schématu nebo modelu může jinak klasifikovat stejné případy. Proto změny verzujte a testujte na stabilní sadě anonymizovaných příkladů.

Před nasazením porovnejte:

  • správnost kategorií,
  • počet případů předaných člověku,
  • dodržení schématu,
  • latenci a náklady,
  • nové druhy chyb.

Náklady a kontrola spotřeby

API se obvykle účtuje podle zpracovaného objemu a použitých funkcí či modelu. Náklad není jen jedna odpověď. Započítejte dlouhé podklady, opakování, testování, ukládání, monitoring a lidskou kontrolu.

Nastavte rozpočet a technické limity:

  • maximální délku vstupu,
  • maximální počet pokusů,
  • levnější postup pro jednoduché případy,
  • denní nebo měsíční upozornění,
  • oddělené sledování podle projektu a funkce.

Příklad: objednávka, PDF a kontrola

Po zaplacení digitálního produktu může systém připravit personalizovaný dokument. Bezpečný tok:

  1. Platební systém potvrdí platbu webhookem.
  2. Aplikace ověří podpis webhooku a jedinečnost události.
  3. Načte schválená strukturovaná data objednávky.
  4. AI případně vytvoří jen povolenou textovou část.
  5. Program zkontroluje délku, zakázaný obsah a povinná pole.
  6. Šablonovací nástroj vytvoří PDF deterministicky.
  7. U rizikového nebo nestandardního případu čeká dokument na kontrolu.
  8. Odeslání a stažení se zapíše do historie.

Model by neměl samostatně rozhodovat o zaplacení, částce ani oprávnění ke stažení. Tyto údaje přebíráme z platebního a objednávkového systému.

Lidské schválení navrhněte konkrétně

„Člověk to zkontroluje“ nestačí. Určete:

  • kdo kontroluje,
  • co přesně vidí,
  • které hodnoty může změnit,
  • jak schválení zaznamená,
  • co se stane po odmítnutí,
  • jak dlouho může případ čekat.

Dobré rozhraní ukazuje původní vstup vedle AI návrhu a zvýrazňuje změny. Kontrolor nemá hledat zdroj v pěti systémech.

Monitoring kvality, ne jen dostupnosti

Systém může technicky fungovat a přesto vytvářet horší výsledky. Sledujte dvě skupiny ukazatelů:

Technický provoz

  • úspěšnost požadavků,
  • latence, počet opakování a chyb,
  • velikost fronty,
  • náklady a spotřeba.

Kvalita práce

  • podíl ručně opravených klasifikací,
  • typy nejčastějších chyb,
  • případy vrácené zákazníkem,
  • čas člověka potřebný ke kontrole,
  • případy, které měly být předány člověku dříve.

Malý pilot místo velkého projektu

První pilot by měl mít omezený rozsah, například jeden formulář, tři kategorie a jednoho odpovědného člověka.

  1. Změřte současný stav: objem, čas, chyby a dobu první reakce.
  2. Sepište datovou smlouvu a pravidla předání.
  3. Připravte anonymizovanou testovací sadu.
  4. Spusťte automatizaci nejdřív v režimu návrhu bez automatických akcí.
  5. Porovnejte AI návrhy s rozhodnutím člověka.
  6. Teprve po stabilizaci dovolte omezenou následnou akci.
  7. Zachovejte možnost okamžitého vypnutí.

Mapa procesu k vyplnění

NÁZEV PROCESU:
[Jedna konkrétní událost.]

SPOUŠTĚČ:
[Co přesně proces zahájí.]

ZDROJ PRAVDY:
[Kde zůstává původní záznam.]

VSTUPY:
[Pole, formát, citlivost a oprávnění.]

PEVNÁ PRAVIDLA:
[Co řeší běžný program.]

AI ÚKOL:
[Jedna přesně vymezená práce modelu.]

VÝSTUPNÍ SCHÉMA:
[Povinná pole a povolené hodnoty.]

VALIDACE:
[Technická, doménová a proti zdroji.]

LIDSKÝ BOD:
[Kdo schvaluje co.]

CHYBA A OPAKOVÁNÍ:
[Počet pokusů, fronta a ruční převzetí.]

AUDIT:
[Co se uloží a jak dlouho.]

MĚŘENÍ:
[Čas, kvalita, chyby a náklady.]

Kontrolní seznam před nasazením

  • Je původní záznam uložen před voláním externí služby?
  • Je API klíč pouze na serveru a oddělený podle prostředí?
  • Má každý údaj jasný zdroj a význam?
  • Je AI výstup oddělený od původních dat?
  • Je výstup validovaný schématem i doménovými pravidly?
  • Má událost jedinečný identifikátor proti duplicitám?
  • Existuje fronta, omezené opakování a ruční převzetí?
  • Je lidské schválení konkrétní a dohledatelné?
  • Sledujeme kvalitu, náklady a technické chyby?
  • Lze automatizaci rychle vypnout bez ztráty dat?

Závěrečný kvíz

1. Kdy použít běžné pravidlo místo AI?

Odpověď: Když lze výsledek jednoznačně určit z dat, například validací e-mailu, výpočtem nebo přiřazením podle pevné tabulky.

2. Zaručuje platný JSON správný obsah?

Odpověď: Ne. Schéma ověřuje strukturu a datové typy, nikoli pravdivost klasifikace nebo shrnutí.

3. Proč uložit formulář před AI zpracováním?

Odpověď: Aby se poptávka neztratila při výpadku, limitu nebo chybě externí služby.

4. Co řeší idempotence?

Odpověď: Zabraňuje tomu, aby opakované doručení stejné události vytvořilo duplicitní objednávku, kontakt nebo úkol.

5. Proč sledovat ruční opravy?

Odpověď: Technicky úspěšné požadavky mohou mít nízkou pracovní kvalitu. Opravy ukazují skutečný přínos a slabá místa procesu.

Co si odnést

Dobrá AI automatizace nepůsobí kouzelně. Je čitelná. Víme, co ji spustilo, odkud pocházejí data, co udělal model, co ověřil program, co schválil člověk a co se stane při výpadku.

Začněte malým tokem a nechte AI řešit jen tu část, kde přináší hodnotu. V posledním díle hlavní série si ukážeme, kdy taková integrace stačí a kdy už dává smysl vlastní AI aplikace, znalostní systém nebo širší firemní řešení.