Wróć do bloga
n8n

n8n + Google Workspace – automatyzacja maili, dokumentów i raportów

Gmail, Sheets, Docs, Calendar – podłącz Google do n8n i przestań kopiować dane ręcznie.

8 min czytania
n8n, Google Workspace, Gmail, Google Sheets, automatyzacja

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)

  1. Wejdź na Google Cloud Console
  2. Stwórz projekt (lub użyj istniejącego)
  3. Włącz API: Gmail, Sheets, Docs, Calendar, Drive
  4. Credentials → OAuth 2.0 Client ID → Web Application
  5. Redirect URI: https://twoj-n8n.pl/rest/oauth2-credential/callback
  6. W n8n: Settings → Credentials → Google OAuth2 API → wklej Client ID + Secret
Google OAuth – weryfikacja

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:

javascript
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):
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ędzieKiedy
AirtableRelacje, widoki, filtry – CRM-lite
NotionWiki + baza danych w jednym
SupabasePrawdziwy PostgreSQL, darmowy do 500 MB
SQLiteLokalna baza na serwerze n8n
Wskazówka

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.