Pomiń do treści
Tutorial12 min czytania

Stwórz własnego chatbota AI w Telegramie — asystent kalendarza w n8n krok po kroku

Zbuduj chatbota po polsku który zarządza Google Calendar przez Telegram. Tutorial n8n krok po kroku — asystent AI z pamięcią, obsługą głosu i 4 narzędziami kalendarza.

PF
Patryk Filipowicz·2 maja 2026

Piszesz na Telegramie: "Jutro o 14:00 spotkanie z Markiem, godzina". Bot odpowiada: "Dodałem — środa, 6 maja, 14:00–15:00". Gotowe. Bez otwierania kalendarza, bez klikania.

W tym tutorialu zbudujesz dokładnie taki chatbot po polsku — asystent AI który zarządza Twoim Google Calendar przez Telegram. Możesz pisać do niego tekstem albo mówić głosem. Pamięta kontekst rozmowy. Potrafi dodawać, przeglądać, zmieniać i usuwać wydarzenia.

To jest praktyczny przykład agenta AI w akcji — jeśli chcesz najpierw zrozumieć jak agenci AI działają od środka, przeczytaj ten artykuł o agentach AI.


Co zbudujesz — chatbot po polsku krok po kroku

Workflow ma 9 węzłów i 4 narzędzia Google Calendar. Na wejściu wiadomość z Telegrama (tekst lub głos), na wyjściu odpowiedź bota z potwierdzeniem akcji.

Przegląd workflow — chatbot AI Telegram z Google Calendar w n8n Źródło: zrzut ekranu z panelu n8n — opracowanie własne

Asystent AI umie:

  • Dodawać wydarzenia — pyta o tytuł, datę i czas trwania jeśli czegoś brakuje
  • Przeglądać kalendarz — "co mam jutro?" albo "pokaż tydzień"
  • Usuwać — najpierw pyta o potwierdzenie
  • Edytować — zmienia datę, godzinę lub tytuł istniejącego wydarzenia

Nie masz jeszcze n8n? → Instalacja na mikr.us krok po kroku

Nie masz bota na Telegramie? → Tworzenie bota przez BotFather opisuję w n8n tutorial — pierwsze workflow


Krok 1 — Trigger Telegram

Dodaj pierwszy węzeł: kliknij "Add first step...", wpisz Telegram Trigger i wybierz go z listy. Nazwij węzeł Nastuchiwanie Telegram. Podłącz credentials swojego bota, w Trigger On zostaw Message.

Telegram Trigger — konfiguracja nasłuchiwania wiadomości w n8n Źródło: zrzut ekranu z panelu n8n — opracowanie własne

Ten węzeł odpala cały workflow za każdym razem gdy wyślesz wiadomość do bota — tekst, głos, cokolwiek.


Krok 2 — Rozróżnienie głosu i tekstu

Dodaj węzeł IF i nazwij go "Wiadomość głosowa/tekstowa". Ustaw jeden warunek:

  • Value 1: {{ $json.message.voice.file_id }}
  • Condition: exists

Węzeł IF — wykrywanie wiadomości głosowej vs tekstowej w n8n Źródło: zrzut ekranu z panelu n8n — opracowanie własne

TRUE (głos) → ścieżka transkrypcji. FALSE (tekst) → bezpośrednio do węzła Set.


Krok 3 — Pobieranie i transkrypcja głosu

Ta część obsługuje ścieżkę głosową — dwa węzły po sobie.

Pobranie wiadomości głosowej — dodaj węzeł Telegram, ustaw:

  • Resource: File
  • Operation: Get
  • File ID: {{ $json.message.voice.file_id }}
  • Download: włączony

Pobieranie pliku głosowego z Telegrama w n8n Źródło: zrzut ekranu z panelu n8n — opracowanie własne

Transkrypcja audio — dodaj węzeł OpenAI, ustaw:

  • Resource: Audio
  • Operation: Transcribe a Recording
  • Input Data Field Name: data

Transkrypcja audio OpenAI Whisper — konfiguracja w n8n Źródło: zrzut ekranu z panelu n8n — opracowanie własne

OpenAI Whisper zamienia nagranie głosowe na tekst. Ten tekst trafia dalej dokładnie tak samo jak wpisana wiadomość.


Krok 4 — Ustawienie zmiennej do agenta AI

Zarówno ścieżka głosowa jak i tekstowa trafiają do węzła Set (nazwij go "Ustawienie zmiennej do agenta AI"). Jego rola: ujednolicenie danych — zawsze wystawia pole text które agent odczyta.

  • Field: text
  • Value: {{ $json.message.text }}

Węzeł Set — ustawienie zmiennej tekst dla agenta AI w n8n Źródło: zrzut ekranu z panelu n8n — opracowanie własne

Na ścieżce głosowej wartość jest nadpisywana przez wynik transkrypcji — pole text zawsze jest gotowe dla agenta.


Newsletter AIzi.pl

Zostań na bieżąco z AI

Narzędzia, porady i aktualności ze świata AI.

500 promptów AI po polsku — ekskluzywnie dla subskrybentów.

Krok 5 — Asystent AI

To jest serce workflow. Dodaj węzeł AI Agent i nazwij go "Asystent AI".

W Source for Prompt wybierz Define below, w Prompt (User Message) wpisz: {{ $json.text }}

W System Message wklej poniższy prompt — definiuje on jak bot ma się zachowywać:

Dzisiaj jest: {{ $now.format('dddd, D MMMM YYYY') }}
Godzina: {{ $now.format('HH:mm') }}

Jesteś asystentem który zarządza kalendarzem Google użytkownika. Komunikujesz się tylko po polsku.

## Tworzenie wydarzeń
Gdy użytkownik chce dodać wydarzenie ZAWSZE upewnij się że masz:
- tytuł wydarzenia — jeśli brak zapytaj "Jak nazwać to wydarzenie?"
- datę i godzinę — jeśli brak zapytaj "Kiedy ma się odbyć?"
- czas trwania — jeśli brak zapytaj "Ile ma trwać wydarzenie?"

Dopiero gdy masz wszystkie trzy — utwórz wydarzenie narzędziem create_event.

## Usuwanie wydarzeń
Gdy użytkownik chce usunąć wydarzenie użyj get_events żeby znaleźć wydarzenie,
potwierdź z użytkownikiem "Czy chodzi o [tytuł] — [data] o [godzina]?"
i dopiero po potwierdzeniu użyj delete_event.

## Edytowanie wydarzeń
Gdy użytkownik chce zmienić wydarzenie użyj get_events żeby je znaleźć,
zapytaj co zmienić jeśli niejasne, i użyj update_event z nowymi danymi.

## Sprawdzanie kalendarza
Gdy użytkownik pyta o wydarzenia użyj get_events i wylistuj je w formacie:
- [godzina] [tytuł] [miejsce jeśli jest]

## Data i godzina
Możesz odpowiadać na pytania o aktualną datę i godzinę.

## Czego nie robisz
Jeśli wiadomość nie dotyczy kalendarza ani daty — odpowiedz:
"Mogę tylko zarządzać Twoim kalendarzem Google."

Asystent AI — konfiguracja węzła AI Agent z system message w n8n Źródło: zrzut ekranu z panelu n8n — opracowanie własne

Podgląd system message — asystent kalendarza w n8n Źródło: zrzut ekranu z panelu n8n — opracowanie własne

Model AI

Pod węzłem Asystenta kliknij "+" → Chat Model. Wybierz OpenAI i model gpt-5.4-nano. Włącz Use Responses API.

Model AI — gpt-5.4-nano z Responses API w n8n Źródło: zrzut ekranu z panelu n8n — opracowanie własne

Pamięć

Kliknij "+" → Memory i wybierz Window Buffer Memory (Pamięć). Ustaw:

  • Session ID: Define below
  • Key: {{ $('Nastuchiwanie Telegram').item.json.message.chat.id }}
  • Context Window Length: 10

Pamięć konwersacji — session ID po chat.id Telegrama w n8n Źródło: zrzut ekranu z panelu n8n — opracowanie własne

Klucz oparty o chat.id daje każdej osobie osobną historię rozmowy. Liczba 10 oznacza że agent pamięta 10 ostatnich wymian.

Narzędzia Google Calendar

Kliknij cztery razy "+" → Tool i dodaj cztery węzły Google Calendar. To są narzędzia które asystent AI kalendarz wywołuje samodzielnie — sam decyduje którego użyć na podstawie opisu.

Workflow z narzędziami Google Calendar podpiętymi do agenta AI Źródło: zrzut ekranu z panelu n8n — opracowanie własne

Tworzenie — Resource: Event, Operation: Create. W Tool Description wybierz Set Manually i w Description wpisz:

Tworzy wydarzenie w Google Calendar.
Użyj gdy użytkownik chce dodać nowe spotkanie.
Wymagane pola: summary (tytuł, np. "Spotkanie z Kowalskim"),
start (data i godzina ISO 8601), end (data i godzina ISO 8601).
Nigdy nie twórz eventu bez tytułu — jeśli brak tytułu zapytaj użytkownika.

Start, End i Use Default Reminders ustaw na "Defined automatically by the model".

Tworzenie wydarzeń Google Calendar — parametry węzła narzędzia w n8n Źródło: zrzut ekranu z panelu n8n — opracowanie własne

Pobieranie — Resource: Event, Operation: Get Many. W Description wpisz:

Pobiera listę wydarzeń z Google Calendar.
Użyj gdy użytkownik pyta o swój kalendarz, sprawdza plany na dany dzień lub tydzień,
lub gdy potrzebujesz znaleźć ID wydarzenia przed usunięciem lub edycją.

Limit, After i Before ustaw na "Defined automatically by the model".

Pobieranie wydarzeń — opis narzędzia dla agenta AI w n8n Źródło: zrzut ekranu z panelu n8n — opracowanie własne

Pobieranie wydarzeń — parametry Limit, After, Before ustawiane przez model Źródło: zrzut ekranu z panelu n8n — opracowanie własne

Usuwanie — Resource: Event, Operation: Delete. W Description wpisz:

Usuwa wydarzenie z Google Calendar.
Użyj TYLKO gdy użytkownik potwierdził że chce usunąć konkretne wydarzenie.
Wymaga ID wydarzenia — najpierw użyj get_events żeby je znaleźć.

Event ID ustaw na "Defined automatically by the model".

Usuwanie wydarzeń Google Calendar — konfiguracja węzła Delete w n8n Źródło: zrzut ekranu z panelu n8n — opracowanie własne

Aktualizowanie — Resource: Event, Operation: Update. W Description wpisz:

Aktualizuje istniejące wydarzenie w Google Calendar.
Użyj gdy użytkownik chce zmienić tytuł, datę, godzinę, czas trwania lub miejsce.
Wymaga ID wydarzenia — najpierw użyj get_events żeby je znaleźć.

Event ID i pola Update Fields (End, Start, Summary) ustaw na "Defined automatically by the model".

Aktualizowanie wydarzeń Google Calendar — konfiguracja węzła Update w n8n Źródło: zrzut ekranu z panelu n8n — opracowanie własne

Aktualizowanie wydarzeń — pola End, Start, Summary ustawiane przez model Źródło: zrzut ekranu z panelu n8n — opracowanie własne


Krok 6 — Wysyłanie odpowiedzi

Ostatni węzeł: Telegram → Send Message (nazwij "Wysyłanie wiadomości z Asystenta AI"). Ustaw:

Wysyłanie wiadomości z asystenta AI przez Telegram w n8n Źródło: zrzut ekranu z panelu n8n — opracowanie własne

Kliknij "Publish" — workflow działa. Napisz do bota cokolwiek o kalendarzu.


Efekt końcowy

Chatbot sztuczna inteligencja rozumie kontekst, dopytuje o brakujące dane i wykonuje akcje na Twoim Google Calendar.

Demo chatbota AI — asystent kalendarza w Telegramie w akcji Źródło: zrzut ekranu z aplikacji Telegram — opracowanie własne

Chatbot z n8n to praktyczny przykład agenta AI — program który sam planuje co zrobić, wywołuje narzędzia i zwraca wynik. Więcej o tym jak agenci AI działają od środka, czym różnią się od zwykłej automatyzacji i jakie mają zastosowania znajdziesz w artykule agenci AI — co to jest i jak mogą pracować za Ciebie.


Najczęstsze pytania

Czy chatbot po polsku w Telegramie wymaga programowania? Nie. Cały workflow budujesz przez interfejs n8n — klikasz, łączysz węzły, wklejasz prompt. Jedyna "techniczna" czynność to stworzenie bota przez BotFather, co trwa 2 minuty.

Ile kosztuje uruchomienie takiego asystenta? Serwer n8n (np. mikr.us) to 75 zł rocznie. Koszty API: OpenAI za transkrypcję głosu (opcjonalna) i model GPT — przy codziennym użytkowaniu przez jedną osobę to kilka złotych miesięcznie.

Czy chatbot z n8n może obsługiwać kilka osób? Tak. Węzeł Pamięci używa chat.id Telegrama jako klucza, więc każda osoba ma osobną historię rozmowy. Możesz udostępnić bota całej rodzinie lub małemu zespołowi.

Czy muszę używać głosu? Mogę tylko pisać? Obsługa głosu jest opcjonalna. Jeśli nie potrzebujesz głosu, usuń węzły Pobranie i Transkrypcja i połącz trigger bezpośrednio z węzłem Set — ścieżka tekstowa działa samodzielnie.

Jaki model AI wybrać do asystenta kalendarza? Na screenshotach używam gpt-5.4-nano — szybki, tani, dobrze radzi sobie z zadaniami kalendarza. Dla lepszego rozumienia złożonych poleceń możesz wybrać gpt-4o lub inny mocniejszy model.

Nota redakcyjna: AIzi.pl jest niezależnym blogiem edukacyjnym. Nie jest powiązany, sponsorowany ani zatwierdzony przez OpenAI, Anthropic, n8n, Mistral AI ani żaden inny podmiot. Nazwy ChatGPT, Claude, n8n, Mistral i innych narzędzi są używane wyłącznie w celu informacyjnego wskazania omawianych produktów i należą do ich właścicieli. Wszelkie treści powstają na podstawie własnych doświadczeń autora.

Newsletter

Zostań na bieżąco z AI

Narzędzia, gotowe prompty i ciekawe rzeczy ze świata AI — bez spamu.

500 promptów AI po polsku — ekskluzywnie dla subskrybentów.