Google Workspace to chleb powszedni polskiego biznesu. Gmail, Sheets, Docs, Calendar – używasz ich codziennie. Problem: ręcznie kopiujesz dane między nimi. n8n to łącznik, który sprawia, że Google Workspace pracuje za Ciebie.
TL;DR
- n8n ma natywne node'y dla Gmail, Google Sheets, Google Docs, Google Calendar, Google Drive
- Gmail → parser: automatycznie wyciągaj dane z emaili (faktury, zamówienia, leady)
- Sheets jako baza: czytaj, pisz, aktualizuj – Sheets to najtańsza baza danych
- Docs z szablonów: generuj dokumenty (umowy, oferty, raporty) automatycznie
- Calendar: synchronizuj spotkania, wysyłaj przypomnienia, blokuj sloty
Nie masz n8n? Zainstaluj w 15 minut. Szerszy kontekst: kompletny poradnik n8n.
Konfiguracja: n8n + Google
Credentials (OAuth2)
- Wejdź na Google Cloud Console
- Stwórz projekt (lub użyj istniejącego)
- Włącz API: Gmail, Sheets, Docs, Calendar, Drive
- Credentials → OAuth 2.0 Client ID → Web Application
- Redirect URI:
https://twoj-n8n.pl/rest/oauth2-credential/callback - W n8n: Settings → Credentials → Google OAuth2 API → wklej Client ID + Secret
Google wymaga weryfikacji aplikacji dla scopów „wrażliwych" (Gmail, Docs). Na czas testów: w Google Cloud Console → OAuth consent screen → dodaj swój email jako Test User. Produkcja: prześlij do weryfikacji (trwa 2-4 tygodnie).
Workflow 1: Gmail → parser → Sheets (automatyczne wyciąganie danych)
Scenariusz
Dostajesz emaile z zamówieniami/fakturami/leadami. Ręcznie przepisujesz dane do Sheets. Automatyzacja: n8n czyta email, AI wyciąga dane, zapisuje do Sheets.
Implementacja
Gmail Trigger (nowy email, label: "zamówienia")
→ OpenAI (wyciągnij dane: kwota, firma, data)
→ Google Sheets (dodaj wiersz)
→ Gmail (oznacz jako przetworzone, przenieś label)
Gmail Trigger:
- Poll times: co 5 minut
- Label: „zamówienia" (filtruj tylko relevantne emaile)
OpenAI prompt:
Wyciągnij dane z emaila. Zwróć JSON:
{
"firma": "nazwa firmy",
"kwota": "kwota PLN (tylko liczba)",
"data_zamowienia": "YYYY-MM-DD",
"nr_zamowienia": "numer",
"produkty": "lista produktów"
}
Google Sheets:
- Spreadsheet: „Zamówienia 2026"
- Sheet: „Dane"
- Append row z polami z OpenAI
Szczegóły AI: n8n + OpenAI.
Workflow 2: Google Sheets → raport → email
Scenariusz
Co piątek musisz wysłać raport tygodniowy szefowi/klientowi. Dane w Sheets, formatujesz w mailu, wysyłasz. Każdy tydzień to samo.
Implementacja
Schedule Trigger (piątek 16:00) → Google Sheets (czytaj dane)
→ Code node (kalkulacje: suma, średnia, top)
→ Gmail (raport w HTML)
Google Sheets – Read:
- Range:
A:F(wszystkie dane) - Filter: data z ostatniego tygodnia
Code node:
const items = $input.all();
const total = items.reduce((sum, i) => sum + i.json.kwota, 0);
const count = items.length;
const avg = total / count;
return [{
json: {
total,
count,
avg: avg.toFixed(2),
week: new Date().toLocaleDateString('pl-PL')
}
}];
Gmail:
- To: szef@firma.pl
- Subject:
Raport tygodniowy – {{ $json.week }} - Body (HTML):
<h2>Raport tygodniowy</h2>
<ul>
<li>Zamówień: {{ $json.count }}</li>
<li>Suma: {{ $json.total }} PLN</li>
<li>Średnia: {{ $json.avg }} PLN</li>
</ul>
Workflow 3: Generowanie dokumentów z szablonu
Scenariusz
Wysyłasz oferty/umowy klientom. Każda jest inna, ale szablon ten sam. Kopiujesz Google Doc, ręcznie zmieniasz dane. n8n robi to automatycznie.
Implementacja
Webhook (dane klienta) → Google Drive (kopiuj szablon)
→ Google Docs (zamień placeholdery)
→ Google Drive (udostępnij klientowi)
→ Gmail (wyślij link)
Google Drive – Copy File:
- Source: szablon oferty (Google Doc z placeholderami
{{FIRMA}},{{KWOTA}},{{DATA}}) - Destination: folder „Oferty/2026"
- New name:
Oferta – {{ $json.firma }} – {{ $now.format('yyyy-MM-dd') }}
Google Docs – Replace:
{{FIRMA}}→{{ $json.firma }}{{KWOTA}}→{{ $json.kwota }}{{DATA}}→{{ $now.format('dd.MM.yyyy') }}
Workflow 4: Calendar – automatyczne blokowanie i przypomnienia
Scenariusz A: Deep work blocks
Automatycznie blokuj 2h rano na deep work (jeśli brak spotkań).
Schedule (pon-pt 7:00) → Google Calendar (sprawdź 8:00-10:00)
→ IF (brak eventów)
→ Google Calendar (stwórz "Deep Work" 8:00-10:00)
Scenariusz B: Przypomnienie przed spotkaniem
Przed każdym spotkaniem – Slack z agendą i linkiem.
Schedule (co 15 min) → Google Calendar (eventy w następnych 30 min)
→ IF (są eventy)
→ Slack: "Za 15 min spotkanie: {{ $json.summary }}"
Google Sheets jako baza danych
Sheets to nie Excel – to najtańsza, najłatwiejsza „baza danych" dla małych projektów.
Kiedy Sheets wystarczy
- Do 10 000 wierszy
- 1-5 workflow korzysta z tych samych danych
- Nie potrzebujesz relacji między tabelami
- Dane nie zmieniają się >100 razy na godzinę
Kiedy NIE Sheets
-
10 000 wierszy (performance spada)
- Współbieżny zapis z wielu workflow (ryzyko nadpisania)
- Dane wrażliwe (Sheets nie ma granularnych uprawnień per wiersz)
- Potrzebujesz query (Sheets nie ma SQL)
Alternatywy
| Narzędzie | Kiedy |
|---|---|
| Airtable | Relacje, widoki, filtry – CRM-lite |
| Notion | Wiki + baza danych w jednym |
| Supabase | Prawdziwy PostgreSQL, darmowy do 500 MB |
| SQLite | Lokalna baza na serwerze n8n |
Złota reguła: zacznij od Google Sheets. Gdy dorośniesz – migruj do Airtable lub Supabase. Migracja to jeden workflow w n8n: Sheets (read all) → Supabase (insert rows).
FAQ
Czy Google OAuth wymaga weryfikacji?
Dla testów – nie (dodaj siebie jako Test User). Dla produkcji z wieloma użytkownikami – tak. Weryfikacja trwa 2-4 tygodnie. Alternatywa: Service Account (nie wymaga weryfikacji, ale działa inaczej).
Ile kosztuje Google Workspace z n8n?
Google Workspace: od 0 PLN (personal Gmail) do €5,75/user/mies (Business Starter). n8n self-hosted: 0 PLN. Razem: 0-30 PLN/mies.
Mogę używać personal Gmail (nie Workspace)?
Tak – OAuth działa z personal Gmail. Ograniczenie: limit 500 emaili/dzień (sending). Dla większości automatyzacji to wystarczające.
Google Sheets vs Excel Online?
n8n obsługuje oba. Sheets ma lepsze API i jest natywnie wspierany (dedykowany node). Excel Online działa przez Microsoft 365 node.
