AI w firmie
Agent AI do obsługi e-maili: jak to działa i jak wdrożyć
AI do obsługi maili to agent, który przez API Gmaila lub Microsoft 365 czyta nowe wiadomości, przypisuje im kategorię, wyciąga dane do CRM, ERP albo helpdesku i przygotowuje szkic odpowiedzi na podstawie Twojej bazy wiedzy. Wysyłkę zatwierdza człowiek, a agent ma tylko te uprawnienia, których naprawdę potrzebuje.
Poniżej znajdziesz konkretny przepływ, od uprawnień OAuth po pomiar efektów, oraz miejsca, w których takie wdrożenia najczęściej się sypią.
Co agent AI robi ze skrzynką e-mail w praktyce
Najlepiej sprawdzają się skrzynki współdzielone: biuro@, faktury@, reklamacje@, sprzedaz@. Ruch jest tam powtarzalny, a większość pracy polega na przeczytaniu wiadomości, rozpoznaniu sprawy i przeniesieniu danych do innego systemu.
- Klasyfikacja: lead sprzedażowy, faktura, reklamacja, zgłoszenie serwisowe, pytanie ogólne, spam lub phishing.
- Ekstrakcja danych: numer zamówienia, NIP, kwoty i terminy płatności z faktur, numer seryjny urządzenia z reklamacji.
- Zakładanie rekordów: nowy lead w CRM, zgłoszenie w helpdesku, dokument do zaksięgowania w ERP.
- Szkice odpowiedzi: z odwołaniem do regulaminu, cennika, statusu zamówienia i historii klienta.
- Eskalacja: przekazanie sprawy właściwej osobie razem z krótkim streszczeniem wątku.
Agent nie zastępuje działu obsługi klienta. Odbiera ludziom sortowanie i przepisywanie, a decyzje zostawia im.
Wbudowane AI w Gmailu i Outlooku, n8n czy własny agent?
Zanim zlecisz budowę, sprawdź, czy nie wystarczy to, co już masz. W styczniu 2026 Google ogłosił w Gmailu podsumowania wątków (AI Overviews), Help Me Write i Suggested Replies, zaczynając od użytkowników w USA i języka angielskiego. Copilot w Outlooku streszcza wątki, pisze szkice i oferuje funkcję Prioritize my inbox. Firmy na Google Workspace mają też Workspace Studio, w którym bez programowania zbudujesz prostego agenta, np. do oznaczania maili z zadaniami do wykonania.
| Opcja | Kiedy wystarczy | Ograniczenia |
|---|---|---|
| AI wbudowane w Gmail lub Outlook | Pojedynczy użytkownik, streszczenia, pomoc w pisaniu | Nie zapisze danych w Twoim CRM ani ERP; dostępność zależy od planu, języka i regionu |
| Workspace Studio | Proste agenty, gdy praca odbywa się głównie w Gmailu, Arkuszach i Dysku | Mniejsza kontrola nad logiką, testami i integracjami z systemami spoza Google |
| n8n lub Make | Kilka kategorii, gotowe konektory, szybki prototyp | Przy dużej skali trudniej o testy regresji, wersjonowanie promptów i szczegółowy audyt |
| Własny agent (kod + API modelu) | Nietypowe systemy, wiele reguł, wysokie wymagania bezpieczeństwa | Wyższy koszt startu i potrzeba utrzymania |
Wiele firm zaczyna od n8n: Gmail Trigger cyklicznie sprawdza skrzynkę, węzeł Text Classifier przypisuje kategorię, a Information Extractor zwraca dane według zdefiniowanego schematu JSON. Własny agent ma sens, gdy prototyp działa, a Ty potrzebujesz testów, kontroli uprawnień i śladu każdej decyzji. Więcej podobnych scenariuszy opisujemy we wpisie Automatyzacje AI w 2026: przykłady.
Jak podłączyć agenta do Gmaila i Microsoft 365
Agent dostaje minimalny zestaw uprawnień i dostęp tylko do skrzynek, które obsługuje. Skrzynka zarządu czy kadr nie powinna być w zasięgu bota od faktur.
Gmail API
Google dzieli zakresy OAuth na niewrażliwe, wrażliwe i ograniczone (restricted). Do czytania treści wystarczy gmail.readonly, do tworzenia szkiców potrzebujesz gmail.compose, a do etykiet gmail.labels. Uważaj: zarówno gmail.compose, jak i gmail.modify pozwalają też wysyłać wiadomości. Zakaz wysyłki egzekwujesz więc po swojej stronie, po prostu nie dając modelowi takiego narzędzia.
Omijaj zakres https://mail.google.com/, który daje pełny dostęp łącznie z trwałym usuwaniem poczty. Aplikacja wewnętrzna w Twojej organizacji Workspace nie przechodzi dodatkowej weryfikacji Google. Jeśli jednak budujesz produkt dla innych firm i przechowujesz dane z zakresów ograniczonych na serwerach, czeka Cię ocena bezpieczeństwa.
Microsoft 365 (Microsoft Graph)
W Graph wybierasz między uprawnieniami delegowanymi (agent działa w imieniu zalogowanego użytkownika) a aplikacyjnymi (działa jako usługa w tle). Aplikacyjne Mail.Read oznacza odczyt wszystkich skrzynek w organizacji i wymaga zgody administratora. Zawęź je do konkretnych skrzynek przez RBAC for Applications w Exchange Online, który zastępuje starsze Application Access Policies.
Do szkiców potrzebujesz Mail.ReadWrite. Nie przydzielaj Mail.Send, dopóki nie pojawi się przypadek, który naprawdę wymaga automatycznej wysyłki.
Nowe wiadomości pobierzesz przez powiadomienia push (Cloud Pub/Sub w Gmailu, subskrypcje w Graph) albo cyklicznym odpytywaniem. Niezależnie od metody zapisuj identyfikatory przetworzonych wiadomości, żeby po awarii nie obsłużyć tego samego maila dwa razy.
Przykładowy przepływ wiadomości krok po kroku
Tak wygląda typowy przepływ dla współdzielonej skrzynki firmy handlowej. Kolejność ma znaczenie: tanie, deterministyczne filtry idą przed modelem językowym.
| Krok | Co się dzieje | Kto wykonuje |
|---|---|---|
| 1. Odbiór | Wiadomość trafia do kolejki z nagłówkami, treścią i listą załączników | Integracja z API |
| 2. Filtry wstępne | Odrzucenie spamu, sprawdzenie wyników SPF, DKIM i DMARC, rozpoznanie znanych nadawców | Reguły w kodzie |
| 3. Klasyfikacja | Kategoria i poziom pewności: lead, faktura, reklamacja, wsparcie, inne | Model językowy |
| 4. Ekstrakcja | Dane według schematu JSON dla danej kategorii, także z załącznika PDF | Model i walidacja w kodzie |
| 5. Kontekst | Klient z CRM, status zamówienia, fragmenty bazy wiedzy | Narzędzia tylko do odczytu |
| 6. Akcja | Rekord w CRM lub helpdesku, szkic odpowiedzi, etykieta w skrzynce | Agent w granicach uprawnień |
| 7. Przegląd | Pracownik poprawia i wysyła szkic albo przejmuje sprawę | Człowiek |
| 8. Log | Kategoria, dane, wersja promptu, decyzja człowieka | System |
Gdy pewność klasyfikacji jest niska albo walidacja danych nie przechodzi, wiadomość ląduje w kolejce do ręcznej weryfikacji. To normalny element systemu, a nie dowód, że wdrożenie się nie udało.
Wyciąganie danych z maili do CRM i ERP
Ekstrakcja daje najszybszy i najłatwiej mierzalny efekt. Zamiast prosić model o „opis faktury”, zdefiniuj schemat i wymuś zgodną z nim odpowiedź. API modeli, m.in. Anthropic i OpenAI, obsługują tzw. structured outputs, czyli odpowiedź zgodną z podanym JSON Schema.
Przykładowy wynik dla maila z fakturą (wszystkie dane są fikcyjne):
{
"category": "invoice",
"confidence": 0.94,
"vendor": {
"name": "Przykładowa Hurtownia Sp. z o.o.",
"tax_id": "0000000000"
},
"invoice_number": "FV/2026/09/0147",
"issue_date": "2026-09-10",
"due_date": "2026-09-24",
"currency": "PLN",
"net_amount": 1200.00,
"gross_amount": 1476.00,
"purchase_order": "ZAM-55812",
"attachments_processed": ["faktura_0147.pdf"],
"needs_human_review": false,
"review_reasons": []
}
Model nie jest tu ostatnią instancją. Kod sprawdza sumę kontrolną NIP, porównuje kwotę brutto z netto i stawką VAT, weryfikuje, czy zamówienie istnieje w ERP i czy dostawca jest w kartotece. Każda niezgodność ustawia needs_human_review na true i dopisuje powód.
Pole confidence traktuj ostrożnie. To sygnał pomocniczy, a nie gwarancja poprawności, więc progi ustalaj na podstawie testów na własnych, oznaczonych przez ludzi mailach.
Szkice odpowiedzi z bazy wiedzy i zasady eskalacji
Dobry szkic powstaje z trzech źródeł: treści wątku, danych z CRM (kim jest klient, co kupił, jakie ma otwarte sprawy) i bazy wiedzy (regulamin, polityka zwrotów, FAQ, cennik). Bazę wiedzy podłączasz przez wyszukiwanie semantyczne, opisane we wpisie Czym jest RAG. Dostęp do CRM czy ERP wystawiasz agentowi jako narzędzia, np. przez serwer MCP.
Ustal na piśmie, kiedy agent tylko proponuje, a kiedy działa sam:
- Zawsze szkic: reklamacje, pytania o ceny i rabaty, wszystko, co dotyczy umów, danych osobowych i płatności.
- Automatycznie, w wąskim zakresie: potwierdzenie przyjęcia zgłoszenia z numerem, informacja o godzinach pracy, odesłanie do formularza. Treść jest wtedy szablonem, a model wybiera tylko wariant.
- Natychmiastowa eskalacja: zapowiedź sporu prawnego, wzmianka o wycieku danych, zgłoszenie podatności, klient z listy kluczowych kont, trzecia wiadomość w tej samej sprawie.
Przy każdym szkicu pokazuj pracownikowi dokumenty, z których agent skorzystał. Łatwiej wtedy wyłapać odpowiedź opartą na nieaktualnym cenniku.
Prompt injection w mailach i RODO
E-mail może napisać każdy, więc treść wiadomości traktuj jako niezaufane dane. Atakujący ukrywa w mailu polecenie dla modelu, np. białym tekstem albo w komentarzu HTML. OWASP opisuje to jako pośrednie prompt injection (LLM01). Podatność EchoLeak (CVE-2025-32711) w Microsoft 365 Copilot pokazała, że jeden spreparowany mail mógł doprowadzić do wycieku danych bez żadnej interakcji użytkownika.
- Oddziel treść maila od instrukcji systemowych i oznacz ją wprost jako dane, nie polecenia.
- Waliduj każdy wynik schematem i regułami biznesowymi.
- Daj agentowi narzędzia tylko do odczytu, a zapis realizuj przez kontrolowane funkcje z listą dozwolonych pól.
- Regularnie testuj agenta mailami zawierającymi próby ataku.
Mechanikę tych ataków rozkładamy na części we wpisie Prompt injection i bezpieczeństwo agentów AI.
Po stronie RODO dostawca modelu jest zwykle podmiotem przetwarzającym, więc potrzebujesz umowy powierzenia oraz informacji, gdzie dane są przetwarzane i jak długo przechowywane. Wysyłaj do modelu tylko to, co jest potrzebne do zadania, maskuj numery PESEL i rachunków, jeśli nie są wymagane, i ustal retencję logów. Zaktualizuj też rejestr czynności przetwarzania.
Jak zmierzyć, czy agent do maili się sprawdza
Zanim uruchomisz agenta, zbieraj dane o obecnym stanie przez dwa, trzy tygodnie. Bez punktu odniesienia nie porównasz wyników.
- Czas do pierwszej odpowiedzi i czas do zamknięcia sprawy, osobno dla każdej kategorii.
- Trafność klasyfikacji na próbce oznaczonej przez ludzi, liczona co tydzień.
- Odsetek szkiców wysłanych bez zmian, z poprawkami i odrzuconych.
- Błędy ekstrakcji zatrzymane przez walidację oraz te, które przedostały się do ERP.
- Udział kolejki ręcznej: zbyt wysoki wskazuje na słaby prompt lub schemat, podejrzanie niski może oznaczać zbyt luźne progi.
Zacznij od jednej skrzynki i dwóch, trzech kategorii, najlepiej faktur i zgłoszeń serwisowych. Zakres rozszerzaj dopiero wtedy, gdy liczby są stabilne przez kilka tygodni. Jeśli chcesz, żeby ktoś zaprojektował i wdrożył takiego agenta pod Twoje systemy, zobacz nasze usługi.
Najczęściej zadawane pytania
Czy AI może samo odpowiadać na maile klientów?
Może, ale bezpiecznie tylko w wąskich przypadkach, np. przy potwierdzeniu przyjęcia zgłoszenia z gotowego szablonu. Reklamacje, ceny, umowy i sprawy dotyczące danych osobowych powinny przechodzić przez szkic zatwierdzany przez pracownika. Automatyczna wysyłka zwiększa też skutki udanego ataku prompt injection.
Jakie uprawnienia Gmail API są potrzebne dla agenta AI?
Do odczytu treści wystarczy gmail.readonly, do tworzenia szkiców potrzebny jest gmail.compose, a do etykiet gmail.labels. Zakresy gmail.compose i gmail.modify pozwalają również wysyłać wiadomości, więc blokadę wysyłki trzeba zrobić w kodzie. Unikaj pełnego zakresu mail.google.com, który obejmuje trwałe usuwanie poczty.
Czy n8n wystarczy do automatycznej obsługi maili z AI?
Do prototypu i prostych scenariuszy często tak: węzły Gmail Trigger, Text Classifier i Information Extractor pokrywają pobieranie, klasyfikację i ekstrakcję danych. Przy wielu regułach, wymaganiach audytowych i integracjach z nietypowymi systemami lepiej sprawdza się własny agent z testami i wersjonowaniem promptów.
Czy przetwarzanie firmowych maili przez AI jest zgodne z RODO?
Może być, jeśli masz podstawę prawną, umowę powierzenia z dostawcą modelu, wiesz, gdzie dane są przetwarzane i jak długo przechowywane, oraz ograniczasz zakres przesyłanych danych. Zaktualizuj rejestr czynności przetwarzania i ustal retencję logów. Konkretny przepływ skonsultuj z IOD lub prawnikiem.
Jak ograniczyć aplikację AI w Microsoft 365 do jednej skrzynki pocztowej?
Uprawnienia aplikacyjne Mail.Read i Mail.ReadWrite w Microsoft Graph domyślnie obejmują wszystkie skrzynki w organizacji. W Exchange Online zawęzisz je do wybranych skrzynek przez RBAC for Applications, który zastępuje starsze Application Access Policies.
Źródła
- Google for Developers: Choose Gmail API scopes
- Microsoft Learn: Microsoft Graph permissions reference
- Microsoft Learn: Role Based Access Control for Applications in Exchange Online
- Google: Gmail is entering the Gemini era
- Google Workspace Updates: Create AI agents with Google Workspace Studio
- n8n Docs: Information Extractor node
- OWASP GenAI Security Project: LLM01 Prompt Injection
- arXiv: EchoLeak, the first real-world zero-click prompt injection exploit in a production LLM system