Napsal jsem si Google Chat bota, co rozumí 14 příkazům. Běží na Vercel za pár centů.
Google Chat webhook + OpenAI klasifikace + GitHub Issues + Google Calendar/Tasks/Drive/Contacts. Jeden bot, co nahradí 5 appek.

Proč zrovna Google Chat?
Protože ho mám otevřený celý den. Email, Slack, Notion, Todoist — další appky, co musím otevírat. Ale Chat je prostě tab v Gmailu. Vždycky tam je.
Tak jsem si řekl: co kdybych měl jednoho bota, kterému napíšu přirozeným jazykem a on to vyřeší? Žádné přepínání mezi 5 appkami.
Jak to funguje
Napíšu zprávu do Google Chatu. Zpráva dorazí na Vercel serverless function jako webhook. Ta ji pošle do OpenAI GPT-4.1-mini, který klasifikuje intent a extrahuje parametry. A pak se to vykoná.
14 intentů, co bot zvládá:| Intent | Co dělá | Příklad |
|---|
| create_issue | Založí GitHub issue | "vytvoř úkol: opravit login" |
|---|---|---|
| query_status | Hledá v issues | "jaké mám otevřené úkoly?" |
| calendar_query | Dnešní kalendář | "co mám dnes?" |
| calendar_create | Nová událost | "zapiš meeting s Jirkou na zítra v 10" |
| tasks_query | Otevřené tasky | "ukaž moje tasky" |
| tasks_complete | Splnit task | "hotovo: nakoupit" |
| contacts_search | Hledání kontaktů | "najdi kontakt Novák" |
| contacts_create | Nový kontakt | "ulož kontakt: Petr, petr@firma.cz" |
| drive_search | Hledání na Drive | "najdi prezentaci o AI" |
| braindump | Zachytit myšlenku | "braindump: nápad na nový produkt..." |
| url_dump | Uložit odkaz | "ulož URL: https://zajimavyweb.cz" |
| weekly_checkin | Týdenní reflexe | "weekly checkin: tento týden jsem..." |
| checklist_done | Odškrtnout checklist | "hotovo: ranní cvičení" |
| general | Nápověda | "co umíš?" |
AI klasifikace — jak to pozná, co chci
Celý trik je v jednom OpenAI callu. Systém prompt definuje všech 14 intentů a GPT-4.1-mini vrátí strukturovaný JSON:
- intent — který z 14 intentů
- title — název úkolu/události
- priority — p1/p2/p3
- labels — relevantní štítky
GPT-4.1-mini je na tohle ideální — rychlý, levný a přesnost klasifikace je přes 95 %. Žádný fine-tuning, stačí dobrý system prompt.
Stack
| Vrstva | Technologie |
|---|
| Webhook | Vercel serverless (TypeScript) |
|---|---|
| AI klasifikace | OpenAI GPT-4.1-mini |
| Úkoly | GitHub Issues API |
| Kalendář | Google Calendar API |
| Tasky | Google Tasks API |
| Soubory | Google Drive API |
| Kontakty | Google People API |
| Notifikace | n8n webhooks |
Všechno běží na Vercel free/hobby tier. Google APIs mají OAuth s refresh tokenem. GitHub má personal access token.
Co mě překvapilo
1. Google Workspace Add-on format je divný. Odpověď musí být v DataActions formátu s XML wrapperem. Ne JSON, ne plain text. Strávil jsem půl dne, než jsem to rozchodil. 2. Intent klasifikace potřebuje příklady. Bez few-shot examples v system promptu se GPT pletl mezi "calendar_query" a "tasks_query". Přidání 2-3 příkladů na intent to vyřešilo. 3. Braindump je killer feature. Původně to měl být vedlejší intent, ale používám ho nejvíc. Napíšu myšlenku do Chatu, ta se uloží jako GitHub Issue s labelem "braindump". Jednou týdně si je projdu a roztřídím.Kolik mě to stojí
| Služba | Měsíční náklady |
|---|
| Vercel | $0 (hobby tier) |
|---|---|
| OpenAI (klasifikace) | ~$1-2 |
| GitHub | $0 |
| Google APIs | $0 |
| Celkem | ~$1-2/měsíc |
Za $2 měsíčně mám osobního asistenta, co je vždycky online a nikdy nezapomene.
Kdyby mi před rokem někdo řekl, že si napíšu vlastního AI asistenta za cenu jednoho kafe, nevěřil bych mu. Ale tady jsme.
Zaujal vás článek?
Pojďme si říct, co by podobná automatizace udělala ve vaší firmě.
Konzultace zdarma