Dává smysl postavit si ve firmě vlastní mozek? Jedno místo, kde je všechno, co firma ví o klientech, zakázkách a penězích, a kde s tím umí pracovat umělá inteligence. Možná. My jsme to v Mediatoringu zkusili. Tady je, jak jsme na to šli, co nám to dává a co to stálo.
S umělou inteligencí pracuji denně a dlouho jsem narážel na stejnou hranici. ChatGPT nebo Claude mi napíše pěkný e-mail, ale netuší, že klient čeká tři týdny na nabídku, že minulý měsíc nezaplatil fakturu a že jsme se na telefonu domluvili na jiném termínu. Všechno tohle jsme měli rozházené. Úkoly byly ve Freelu, přicházely v poště v Gmailu, faktury jsme vystavovali ve Fakturoidu, newsletter přes Mailchimp, nabídky rozstrkané v mailu, Wordu nebo na Google Disku a souvislosti většinou v něčí hlavě. To není dlouhodobě udržitelný model.
A tak jsme začali ve firmě programovat vlastní CRM, jednotné místo, kde se bude všechno sbíhat. Vznikla aplikace, která v podstatě opisovala stávající tooly a služby. Sbíhali se tam projekty, úkoly, pošta, sledování času, kalendář, dokonce to mělo i veřejný portál pro zákazníky. Vlastní modul na prodej ebooků, evidence hostingů, fakturace i tvorba cestovních příkazů. Aplikace byla v PHP pověšená na serveru, takže k ní měl přístup de facto kdokoli z firmy. Její vývoj trval asi dva měsíce a nakonec to byl takový moloch, že jsem občas musel otevřít Cursor, který jsem používal pro vývoj, abych se zeptal AI asistenta, kde danou funkci najdu.
Největší problém byl s úkoly, a tak jsem si vytvořil separátně pouze u sebe v počítači jednoduchou python aplikaci podobnou vzdáleně Trellu. Nástěnka se 3 sloupci – To do · Dělám · Hotovo. Po pár dnech přibylo routování ticketů z webu a z pošty, kdy nové věci zvenku získaly vlastní sloupeček. O týden později přibyl sloupec Jednou možná. A za další týden Čeká, což byl první poloautomatizovaný sloupec, kam se přesouvalo vlákno, pokud se čekalo na odpověď klienta. O dva měsíce později z toho vzniklo už vlastní workflow, závislé na tom, zda na úkol/mail/lead/ticket druhá strana odpoví nebo ne.
Aktuální stav jsou sloupce Nové · Dělám · Čeká · K práci a v patičce se schovávají stavy Hotovo · Bucket. Nad tím vším Připomínky, co je třeba udělat právě dnes.
Nástroj se měnil současně s tím, jak se přizpůsoboval firmě. Z obecného Trella „jen u mne na Macu“ se aplikace přesunula na vlastní VPS a stala se interaktivní nástěnkou podle toho, kdo má v konverzaci odpovídat: nové od klienta, rozdělané, čeká na druhou stranu….
Původní systém sice ještě stále běží, ale už jsem v něm nebyl popravdě několik týdnů. Z malého úkolníčku se třemi sloupci je dnes firemní paměť, ve které je celá historie klienta. Všechny nitky se sbíhají, takže se tam dostane každý důležitý e-mail od zákazníka a každá poptávka z webu. Nové poptávky buď spadnou rovnou do CRM, jsou-li poslané na dedikovanou mailovou adresu, nebo je jednoduše označím štítkem a do pár minut se objeví v CRM. Skončí tam webové formuláře i leady z placené reklamy na Google nebo sociálních sítích. Klienti, kteří mají od nás web, eshop nebo aplikaci, mohou poslat ticket přímo z administrace. Zákazníci mají k dispozici klientský portál, kde vidí stav svých ticketů a mohou zde nový i zadat. Když se nechtějí někam přihlašovat, jednoduše odpoví na email, který se propíše do systému i našeho CRM.
A to byl vlastně i důvod, proč jsem si zakládal vlastní separátní úkolníček vedle „velkého CRM“. Vždy mi každé založení úkolu, každá operace brala čas, který bych jinak mohl věnovat něčemu smysluplnějšímu. Moje nová nástěnka byla totiž od prvního okamžiku AI first.
Hezky to ukazuje následující přehled. Z 356 úkolů jich většina vznikla automaticky. Osm procent založil Claude na můj pokyn. Ručně jsem jich založil jen 6 procent.
| Původ | Úkolů | Podíl |
|---|---|---|
| Formulář nebo notifikace z webu | 124 | 34,8 % |
| E-mail (Gmail, přeposlání, catch-all schránka) | 99 | 27,8 % |
| Poptávka z webu (API) | 51 | 14,3 % |
| AI na pokyn | 28 | 7,9 % |
| Ticket | 28 | 7,9 % |
| Ručně | 22 | 6,2 % |
| Systémově | 4 | 1,1 % |
| Celkem | 356 | 100 % |
AI na pokyn (28) zahrnuje Clauda přes příkazovou řádku, skripty, Cowork, MCP, štítek v Gmailu a také chat a diktát v aplikaci.
Jak jsme na to šli a co to umí
V červnu vznikla na mém počítači nástěnka úkolů s časovačem, první náhrada Freela. „Vznikla“ je trochu nepřesné slovo: programoval ji Claude a já mu jen vlastně popisoval, co potřebuju.
V červenci přibyli klienti a fakturační údaje z Fakturoidu, takže úkoly konečně věděly, ke komu patří. V srpnu se systém přestěhoval z notebooku na server, aby běžel nonstop a fungoval i v mobilu, a přibyly statistiky. Poprvé jsem černé na bílém viděl, jaká mi u kterého klienta vychází skutečná hodinová sazba. Pak se nabídky přestaly psát ve Wordu: vznikají jako PDF i jako webová stránka, kterou klient přijme jedním klikem. Na podzim se do systému přestěhovala pošta, přibylo vyhledávání napříč celou historií a dokončuje se vlastní fakturace, která od konce roku nahradí Fakturoid.
Každý krok odpověděl na konkrétní problém, který mě ten měsíc nejvíc pálil. Že to funguje, je vidět na tom, jak se systém zabydlel: v červnu v něm vzniklo 16 úkolů, za první tři říjnové týdny 135. Freelo a Mailchimp jsme mezitím opustili.
CRM má dnes devět hlavních sekcí: Dnes, Úkoly, Pošta, Projekty, Subjekty, Příležitosti, Inventář, Peníze a Statistiky. Nad nimi je pořád po ruce vyhledávání napříč úkoly, fakturami, nabídkami, firmami, e-maily i doménami a vedle něj pole pro AI asistenta, kterému napíšu třeba „založ úkol zavolat Novákovi, termín pátek.“. Totéž jde nadiktovat, stačí kliknout na ikonu mikrofonu a AI přepíše hlas na text.
Dnes. Obrazovka, kterou ráno otevírám jako první. Nahoře jsou rozdělané věci s tlačítkem Start, které spustí časovač. Pod nimi tři sloupce: Hoří (úkoly po termínu), Čeká na tebe (nové zprávy a odpovědi klientů, často už s připravenou odpovědí) a Čekáš na ně (faktury po splatnosti a nabídky bez reakce, u kterých stačí kliknout na Připomenout). Tlačítkem Vyřídit postupně pak frontu projdu jednu věc po druhé.
Úkoly. Srdce celého systému. Kanban se sloupci Nové · Dělám · Čeká · K práci, v patičce Hotovo a Bucket a nad tím připomínky na dnes s tlačítky na posunutí na zítra a k uzavření. Úkoly se mezi sloupci přesouvají ručně, ale i samy: po mé odpovědi se úkol přesune do Čeká, jakmile klient odpoví, vrátí se do Nové, a co čtrnáct dní leží v Dělám bez práce, spadne zpátky do K práci. Na kartě vidím, odkud úkol přišel (mail, lead, ticket, poptávka), kolik zpráv má vlákno, hodnotu navázané nabídky, výsledek auditu, stav checklistu, termín a naměřený čas, případně upozornění „možná duplicita“ nebo „odpověď připravena“. Stejná data umím zobrazit jako tabulku, Ganttův diagram, kalendář nebo plán připomínek, kde jsou seřazené follow-upy k odeslaným nabídkám a připomínku odešlu jedním tlačítkem.
Detail úkolu. Nahoře je rozbor od AI: co klient chce, v jakém je to kontextu a proč je to teď na mně, k tomu návrh odpovědi, který upravím a odešlu ve stejném vlákně Gmailu i s podpisem. Pod tím je celá konverzace, subtasky (navrhnout je umí i AI), poznámky a AI shrnutí. V pravém panelu nastavím stav, termín nebo připomínku (AI ji umí najít přímo ve zprávě), přístupy, firmu, kontakt, projekt, paušál nebo fixní cenu, měřím čas a přidávám odkazy a přílohy. Úkol jde jedním klikem překlopit do nabídky, spustit na firmu audit viditelnosti v AI, nechat AI doplnit firmu a kontakt, sloučit ho s jiným, označit jako spam, nebo ho celý předat AI k řešení.
Pošta. Schránku za mě nejdřív projde AI. Napíše souhrn za posledních 24 hodin, newslettery a automatické zprávy rovnou archivuje a nechá mi jen to, co vyžaduje moje rozhodnutí, i s větou, co odesílatel chce. U každé zprávy pak volím Odpovědět, Do úkolu nebo Vyřízeno. Vedle schránky jsou hromadné maily s personalizací, zachycený spam s vlastním blocklistem a newsletter s kampaněmi, seznamy a odběrateli, který nahradil Mailchimp.
Projekty. Přehled zakázek a webů s firmou, doménou, stavem, posledním pohybem a počtem otevřených úkolů. Řadit je jde podle toho, kde se naposledy něco dělo, nebo ve vlastním pořadí.
Subjekty. Firmy a lidé. U firmy vidím kontakty, hlavní e-mail, hodinovou sazbu a otevřené úkoly. Firmy umím naimportovat z Fakturoidu, doplnit jim automaticky údaje z ARESu a synchronizovat je do WordPressu, kde běží portál pro klienty.
Příležitosti. To je naše obchodní oddělení. Nabídky jsou předpřipravené pomocí AI, generují se do PDF a interaktivní webové stránky. Odešle se e-mailem, včetně upomínek a online náhled, kde ji klient přijme jedním klikem. Když ji přijme, můžu s ní snadno připravit smlouvu. Vidím, o kolik se právě hraje a kolik nabídek čeká na reakci. Dál jsou tu smlouvy se stavem podpisu – podpis lze realizovat i online s časovým razítkem a podpisem přes tablet nebo obrazovku mobilu, leady z webů a kampaní a bezplatné audity viditelnosti webu v AI, které rovnou navážou na nabídku.
Inventář. Evidence několika stovek hostovaných domén s automatickou kontrolou dostupnosti, která sama upozorní, který web nefunguje, včetně evidence přístupů.
Peníze. Fakturace vychází z naměřeného času: zaškrtám, co se má vyfakturovat (celou firmu, web nebo jednotlivý úkol), a co nezaškrtnu, zůstane v podkladu na příště. Dál jsou tu vystavené faktury s přehledem zaplacených, nezaplacených, po splatnosti a záloh, pravidelné faktury s výhledem na rok dopředu, paušály s měsíční kontrolou, jestli někde nezapomínám fakturovat, cestovní příkazy s evidencí vozidel a sazeb a platby kartou přes platební bránu navázané na nabídky a faktury.
Statistiky. Co nezměříš, nezlepšíš. Takže sledujeme, co se dá. Efektivní hodinová sazba po klientech, odpracované hodiny, výnos a průměrná doba, než se nového ticketu někdo chytne. Ceník z faktur z celé historie fakturace spočítá obvyklou cenu každé položky, její rozptyl a vývoj a stejný podklad dostává AI, když píše nabídky. Třeba sekce Návrhy AI měří, kolik návrhů odpovědí odešlo beze změny, kolik jsem jich přepsal a kolik textu z návrhu v odeslané zprávě zůstalo.
AI u každého úkolu
A tím se dostáváme k jedné z nejsilnějších funkcí CRM. Formuláře dnes skoro nevyplňuji. Úkol zadám jednou větou v chatu nebo hlasem do mobilu. U nové zprávy mi AI shrne, co klient chce, připraví návrh odpovědi a navrhne další krok, třeba že se klient ozve po Novém roce a úkol je dobré odložit do ledna. Návrh si přečtu, upravím a odešlu. Záznam telefonátu se nahraje automaticky k úkolu a z přepisu vznikne zápis s tím, na čem jsme se domluvili. A když si vzpomenu, že jsem někomu psal o jeho SharePointu, napíšu to slovo a mail najdu za vteřinu.
Všechno má jedno společné pravidlo: AI navrhuje, ale neodesílá. Žádný mail, faktura ani smlouva neodejde bez mého kliknutí. Právě díky tomu jí můžu svěřit tolik práce, poslední slovo má vždycky člověk.
Celý systém dál vyvíjím v Claude Code. Funguje to jako práce s kolegou, který zná celý kód a má čas kdykoli. Napíšu mu, co je špatně nebo co bych potřeboval, často jen se screenshotem z mobilu. AI najde příčinu v kódu a v datech, opraví ji, napíše test, nasadí novou verzi a na produkci ověří, že to opravdu funguje.
Díky tomu se systém přizpůsobuje firmě, a ne obráceně. Nedávno mi klientka napsala, že jí nejde otevřít online nabídka. Do pár minut byla chyba nalezená, opravená, pokrytá testem a nasazená. Když potřebuju nový pohled, třeba přehled klientů, kterým už odešla připomínka, mám ho do půl hodinky.
Aby to bylo bezpečné, má Claude Code v projektu sepsaná pevná pravidla. Ví, kde jsou živá data a kam nesmí sahat, jak se nasazuje, co musí mít firma v systému, než jí vystavíme fakturu, a že se nic nemaže. Poučení z chyb si ukládá do paměti, takže stejnou past podruhé nepřehlédne.
Pro technicky zvídavé: pod kapotou je server v Pythonu a aplikace v jedné webové stránce, data leží v souborech a fakturace v databázi. Běží to na vlastním virtuálním serveru, nová verze se nasadí odesláním do gitu a před každým nasazením proběhnou automatické testy. Gmail posílá nové zprávy do systému malým skriptem každou minutu.
S CRM nepracuje jen Claude Code. Do systému se připojují i další AI asistenti a umožňují to dvě věci s trochu technickými jmény. MCP neboli Model Context Protocol si můžete představit jako zásuvku, přes kterou se AI připojí k aplikaci. CRM má vlastní MCP server, takže v běžném chatu s Claudem napíšu „přidej úkol zavolat Novákovi ve čtvrtek“ nebo se zeptám, jak jsme na tom s fakturací tento měsíc, a Claude to vyřídí přímo v systému.
Skills jsou zase návody, které agentovi řeknou, jak se u nás dělá konkrétní práce. Jeden umí nabídky v naší grafice: agent dohledá firmu v ARESu, přidělí číslo, vygeneruje PDF a všechno zapíše do CRM. Další ví, jak z přijaté nabídky připravit smlouvu se stejným číslem a se správnými články. Skill je vlastně zapsané know-how firmy, které může použít kterýkoli agent, a tím přestává být vázané na moji hlavu.
SaaSokalypsa? Spíš evoluce
Často slyším, že AI zabije SaaS. Nevěřím tomu. Gmail, banka, platební brána, servery i samotné AI modely zůstávají služby, za které rád platím, a nikdo rozumný si nebude psát vlastní poštovní server.
Mění se vrstva mezi nimi, tedy procesy, kterými se moje firma liší od ostatních. Dřív jsem se musel přizpůsobit cizímu nástroji, protože software na míru byl drahý. Dnes se může ukázat jako levnější si tu vrstvu ušít než ohýbat cizí aplikaci. Není to SaaSokalypsa, ale evoluce a customizace.
Zbývá otázka, kterou si nejspíš kladete od začátku. Kolik to stálo?
Nejsnáz se počítají licence. Freelo a Mailchimp už neplatíme a od ledna přibude Fakturoid. Ve Freelu jsme měli ke stovce aktivních klientů a momentálně stojí jeden klient 193 korun měsíčně, takže bychom platili nějakých 200 tisíc ročně. Mailchimp pro více než 1000 kontaktů vychází kolem tisícovky měsíčně, Fakturoid stojí necelých 400 korun za měsíc. To byly vcelku drobné a jejich funkce tedy šly do CRM spíše pro pohodlí, než pro nějakou velkou úsporu.
Mnohem víc ušetřila práce, která zmizela. Odpovědi klientů už nepřepisuji do úkolů, nabídky neskládám ve Wordu a připomínky nepíšu z hlavy. Systém mi navíc ukazuje, na co bych zapomněl: kdo čeká na mou odpověď, kdo mlčí a čí faktura je po splatnosti.
Největší přínos přesto není v korunách. Nástroj dělá přesně to, co potřebuju, a když ne, obvykle to umí ještě ten den.
CRM není hotové a nikdy nebude. Každý týden v něm něco upravím, ať je to tlačítko, které chybí, chyba, kterou našel klient, nebo nápad z rána. Ten cyklus je neuvěřitelně rychlý a návykový. A upřímně, právě v tom je i past. Láká ladit detaily místo práce pro klienty a v říjnu jsem vývoji věnoval víc času než za celé léto. Každá změna navíc může něco rozbít. Zažil jsem skript, který vyčerpal denní limit Gmailu, i připomínky, které jednomu člověku odešly třikrát. Proto dnes nic nejde do provozu, dokud neprojdou všechny automatické testy. A pořád platí, že AI napíše kód sice rychle, ale rozhodnutí, jak má firma fungovat, za mě neudělá. Pomáhá disciplína: pravidla v projektu, testy před každým nasazením, zálohy, zákaz mazání a jasné hranice toho, co smí AI udělat sama.
Náklady na tvorbu a provoz
| Položka | Částka |
|---|---|
| Můj čas s Claude: odhadem 120 hodin za 4,5 měsíce (1 500 Kč/h) | 180000 Kč |
| Claude, předplatné Max za 200 $ měsíčně | 4300 Kč měsíčně |
| VPS | 1000 Kč měsíčně |
| AI přes API | do 500 Kč měsíčně |
Pro představu o rozsahu: Claude Code na systému aktivně pracoval asi 120 hodin a dostal ode mě přes 1 400 zadání. Vzniklo přes 550 změn kódu, zhruba 76 tisíc řádků a 343 automatických testů. Kdyby to psal programátor postaru, odhaduji to na víc než tisíc hodin, tedy minimálně jeden a půl milionu korun. Ten odhad je hrubý, ale řádově sedí. Provoz teď stojí kolem 5 800 Kč měsíčně a většinu z toho tvoří předplatné Clauda, které používám i na další práci.
Největší položkou tedy není AI ani server, ale můj čas. Kdo čeká, že mu umělá inteligence postaví firemní systém za víkend, bude zklamaný. Vyplatí se to tam, kde dobře znáte své procesy, jste ochotni se o systém starat a vadí vám, kolik času stojí přechody mezi nástroji. Přesto to pro nás byla jedna z nejlepších investic posledních let.
