Przewodnik administratora: podłączenie Kalendarza Google (MCP)

Ten przewodnik pokazuje, jak administrator organizacji podłącza Kalendarz Google do AnyLawyer przez integrację MCP. Konfigurację wykonujesz raz dla całej organizacji, a potem każdy użytkownik łączy własny kalendarz jednym kliknięciem. Większość pracy odbywa się w Google Cloud Console, gdzie włączasz Google Calendar API i tworzysz klienta OAuth, którego dane wklejasz w AnyLawyer.

Zobacz na wideo

Poniższe nagranie pokazuje całą konfigurację od początku do końca: włączenie Google Calendar API, utworzenie klienta OAuth z adresem przekierowania AnyLawyer oraz dodanie Kalendarza Google w ustawieniach organizacji. Nagranie pokazuje też włączanie Calendar MCP API; ten krok nie jest już wymagany i możesz go pominąć.

Nagranie ma polskie napisy opisujące każdy krok. Jeśli wolisz czytać, poniżej znajdziesz te same kroki opisane po kolei.

Jak to działa?

  • Kalendarz Google jest podłączany przez integrację MCP w AnyLawyer. Logowanie odbywa się przez Google OAuth, a asystent czyta kalendarz przez standardowe Google Calendar API.
  • Każda organizacja korzysta z własnego klienta OAuth Google. Na ekranie zgody użytkownicy zobaczą nazwę Waszej aplikacji, a dostęp do kalendarzy pozostaje pod Waszą kontrolą.
  • Administrator konfiguruje integrację raz. Potem każdy użytkownik łączy swój kalendarz własnym kontem Google bezpośrednio z okna rozmowy.
  • Asystent może wyświetlać kalendarze oraz nadchodzące rozprawy, terminy i spotkania w zadanym zakresie dat. Narzędzia są tylko do odczytu: asystent nie tworzy, nie zmienia ani nie usuwa wydarzeń.

Wymagane zakresy uprawnień, o które AnyLawyer prosi Google:

https://www.googleapis.com/auth/calendar.calendarlist.readonly
https://www.googleapis.com/auth/calendar.events.readonly

Połączenia sprzed zmiany zakresów. Wcześniej AnyLawyer prosił o zakres calendar.events, który pozwala też tworzyć, zmieniać i usuwać wydarzenia, oraz o calendar.events.freebusy. Istniejące połączenia działają dalej, ale zachowują tę szerszą zgodę, dopóki użytkownik nie połączy kalendarza ponownie: w menu Integracje w oknie rozmowy wystarczy kliknąć Rozłącz przy pozycji Google Calendar, a potem Połącz. Rozłączenie nie cofa zgody udzielonej na koncie Google. Aby ją całkowicie usunąć, użytkownik odbiera aplikacji dostęp na stronie myaccount.google.com/connections i łączy kalendarz ponownie.

Czego potrzebujesz?

  • Roli Administratora w organizacji AnyLawyer.
  • Konta Google z dostępem do Google Cloud Console.
  • Projektu Google Cloud. Może to być ten sam projekt, którego używacie do integracji Google Drive lub Gmaila.
  • Jeśli macie już skonfigurowanego Gmaila według przewodnika Podłączenie Gmaila (MCP), użyj tego samego projektu. Kroki są analogiczne, różnią się tylko włączany interfejs API i nazwa klienta.

Krok 1: Otwórz stronę integracji w AnyLawyer i skopiuj adres przekierowania

  1. Zaloguj się do AnyLawyer jako administrator.
  2. W menu bocznym kliknij Administracja, a następnie w sekcji Integracje kliknij Integracje (MCP).
  3. W sekcji Dodaj serwer kliknij kafelek Google Calendar.
  4. Nad instrukcją zobaczysz ramkę Adres przekierowania OAuth, np. https://anylawyer.com/api/mcp/callback.
  5. Skopiuj ten adres. Będzie potrzebny w Kroku 4 i musi zostać wklejony w Google Cloud Console znak w znak (protokół https://, domena, ścieżka, bez ukośnika na końcu).

Zostaw tę kartę otwartą. Wrócisz do niej w Kroku 5.


Krok 2: Wybierz projekt w Google Cloud Console

  1. Otwórz console.cloud.google.com i na górnym pasku wybierz projekt.
  2. Jeśli macie już projekt użyty do integracji Gmaila lub Google Drive, możesz użyć tego samego. Klient OAuth dla Kalendarza będzie osobnym wpisem w tym projekcie.
  3. Jeśli nie masz projektu, utwórz go pod adresem console.cloud.google.com/projectcreate.

Krok 3: Włącz Google Calendar API

  1. W menu konsoli przejdź do APIs & Services → Library.
  2. W polu wyszukiwania wpisz Calendar API i zatwierdź.
  3. Otwórz kartę Google Calendar API i kliknij Enable. Po chwili przy przycisku pojawi się status API Enabled. Możesz też wejść bezpośrednio pod adres console.cloud.google.com/apis/library/calendar-json.googleapis.com.

Calendar MCP API nie jest potrzebne. Serwer MCP Google jest dostępny tylko w programie Developer Preview, dlatego AnyLawyer korzysta ze zwykłego Google Calendar API. Jeśli włączysz Calendar MCP API, nic się nie stanie, ale nie jest to wymagane.


Krok 4: Utwórz klienta OAuth typu Web application

  1. W menu konsoli przejdź do APIs & Services → Credentials (console.cloud.google.com/apis/credentials).
  2. Kliknij + Create credentials → OAuth client ID.
  3. W polu Application type wybierz Web application.
  4. W polu Name wpisz np. AnyLawyer Calendar MCP.
  5. W sekcji Authorized redirect URIs kliknij + Add URI i wklej adres skopiowany w Kroku 1, np.:
    https://anylawyer.com/api/mcp/callback
    
    Adres musi być identyczny co do znaku. Najczęstszy błąd na tym etapie to literówka lub dodatkowy ukośnik na końcu.
  6. Kliknij Create.
  7. Wyświetli się okno OAuth client created z dwiema wartościami:
    • Client ID, długi ciąg zakończony na .apps.googleusercontent.com,
    • Client secret, krótszy ciąg zaczynający się zwykle od GOCSPX-.
  8. Skopiuj obie wartości od razu. Google pokazuje client secret tylko w tym oknie. Traktuj go jak hasło i nie wysyłaj e-mailem ani na czacie.

Jeśli konfigurujesz ekran zgody OAuth po raz pierwszy w tym projekcie, konsola poprosi Cię najpierw o nazwę aplikacji i adres e-mail wsparcia. Postępuj tak samo jak w przewodniku Konfiguracja Google Drive: w Google Workspace wybierz typ odbiorców Internal, a bez Workspace External i dodaj pracowników jako użytkowników testowych. Na ekranie zgody dodaj zakresy calendar.calendarlist.readonly oraz calendar.events.readonly.


Krok 5: Dodaj Kalendarz Google w AnyLawyer

  1. Wróć do karty AnyLawyer z otwartą stroną Integracje (MCP). Kafelek Google Calendar powinien być nadal zaznaczony.
  2. W polu Client ID wklej Client ID z Kroku 4.
  3. W polu Client secret wklej Client secret.
  4. Kliknij Dodaj Google Calendar.
  5. Google Calendar pojawi się na liście Skonfigurowane serwery z opisem https://calendarmcp.googleapis.com/mcp/v1 · OAuth (zarejestrowany klient).

Od tej chwili integracja jest dostępna dla wszystkich użytkowników organizacji.


Krok 6: Sprawdź, czy działa

  1. Otwórz dowolny projekt w AnyLawyer i rozpocznij rozmowę.
  2. Pod polem wiadomości kliknij Źródła.
  3. W sekcji Integracje przy pozycji Google Calendar kliknij Połącz.
  4. Zostaniesz przekierowany na stronę Google. Wybierz konto i kliknij Zezwól / Allow.
  5. Po powrocie do AnyLawyer przy pozycji Google Calendar pojawi się status Połączono.
  6. Zapytaj asystenta np. „Jakie mam rozprawy w przyszłym tygodniu?" albo „Kiedy mam najbliższe spotkanie z klientem X?". Asystent użyje narzędzi Kalendarza i pokaże, z czego skorzystał.

Każdy użytkownik łączy własny kalendarz w ten sam sposób. Połączenie można w każdej chwili rozłączyć w tym samym menu.


Najczęstsze problemy

  • Błąd redirect_uri_mismatch przy łączeniu konta. Adres przekierowania w kliencie OAuth różni się od adresu z Kroku 1. Sprawdź, czy nie ma literówki ani ukośnika na końcu, i zapisz zmiany w konsoli. Google może potrzebować kilku minut, aby nowe ustawienie zaczęło działać.
  • Google pokazuje błąd access_denied lub „This app is blocked". Aplikacja jest typu External w trybie testowym, a konto użytkownika nie jest na liście użytkowników testowych. Dodaj je na ekranie zgody OAuth albo przełącz aplikację na Internal (Google Workspace).
  • Po połączeniu asystent zgłasza błąd przy czytaniu kalendarza. Sprawdź, czy w projekcie jest włączone Google Calendar API (Krok 3). Błąd Google Calendar API has not been used in project… oznacza, że nie jest.
  • Client secret został utracony. W konsoli otwórz Google Auth Platform → Clients, wybierz klienta i dodaj nowy secret. Następnie usuń Google Calendar w AnyLawyer i dodaj go ponownie z nowymi danymi.
  • Chcesz odłączyć integrację dla całej organizacji. Na stronie Integracje (MCP) kliknij ikonę kosza przy pozycji Google Calendar. Połączenia wszystkich użytkowników zostaną usunięte.