Połącz Agenta AI z Google Sheets

Piotr Grudzień
Opublikowano 14 min czytania
Połącz Agenta AI z Google Sheets

Wprowadzenie

Twój Agent AI rozmawia z każdym odwiedzającym na twojej stronie. Niektórzy są gotowi do zakupu, inni zadają pytanie, na które Agent nie umie odpowiedzieć, jeszcze inni proszą o funkcję, której jeszcze nie masz, a część chce umówić demo. Domyślnie wszystko to znika po zamknięciu czatu.

Ten przewodnik pokazuje, jak połączyć Agenta AI z Google Sheets, aby każdy taki moment stawał się wierszem w arkuszu, którego twój zespół już używa. Bez Zapiera, bez webhooków, bez inżyniera. Potrzebujesz dwóch rzeczy:

Mechanizm to AI Actions: niestandardowe żądania HTTP, które Agent może wykonywać w trakcie rozmowy. Quickchat AI ma połączenie z Google Sheets jednym kliknięciem, które tworzy arkusz i startową akcję logowania, a potem możesz ją dopasować i dodać tyle raportów, ile chcesz. Na końcu będziesz mieć cztery działające raporty i samodzielnie przetestujesz każdy z nich.

To długi, dokładny przewodnik. Kanoniczna dokumentacja AI Actions znajduje się pod adresem docs.quickchat.ai/ai-agent/actions. Inne przykłady niestandardowych akcji znajdziesz w artykułach: połącz Agenta AI z HubSpot, aby logować kontakty, deale i tickety, wysyłaj powiadomienia Slack za pomocą AI Actions oraz zbuduj bota AI na Telegramie do zarządzania grupą.

Co zbudujesz

Cztery raporty, każdy zapisujący do własnej karty w jednym Google Sheet:

RaportKartaKiedy Agent zapisuje wiersz
LeadyLeadsOdwiedzający wykazuje intencję zakupu i podaje email
Pytania bez odpowiedziUnansweredAgent nie potrafi odpowiedzieć na pytanie faktograficzne
FeedbackFeedbackOdwiedzający prosi o funkcję, zgłasza błąd albo chwali produkt
Prośby o demoDemosOdwiedzający prosi o demo albo rozmowę

Zrzuty ekranu poniżej pochodzą z testowego Agenta zbudowanego dla fikcyjnej firmy Tideline, platformy do analityki subskrypcji dla firm SaaS. Firma jest wymyślona, aby przykład pozostał neutralny, ale każda rozmowa i każdy wiersz pokazany tutaj zostały wygenerowane przez prawdziwego Agenta uruchomionego na rzeczywistym pipeline odpowiedzi. Gdy będziesz wykonywać te kroki, użyj danych swojej firmy.

Jak działa integracja Google Sheets

Cała funkcja opiera się na jednej zasadzie: AI Action to opisane żądanie HTTP, a wiersz Google Sheet jest jednym takim żądaniem.

Budowa AI Action: nazwa, opis mówiący, kiedy ją wywołać, parametry wypełniane przez Agenta na podstawie czatu oraz wysyłane żądanie AI Action ma cztery części. Opis czyta model, aby zdecydować, czy wywołać akcję; parametry są wypełniane na podstawie rozmowy.

Kilka dodatkowych faktów ułatwi śledzenie dalszej części artykułu.

  • Zapisanie wiersza to jedno wywołanie API. Google Sheets ma endpoint append, który dodaje wiersz do karty. Każdy raport to POST do tego endpointu z wartościami wiersza w body.
  • Kolumny nie są stałe. Są takie, jakie wysyła twoja akcja. Decydujesz o kolumnach, edytując body akcji i wiersz nagłówka arkusza, więc ta sama integracja może logować leady, zgłoszenia błędów albo cokolwiek innego.
  • Dostęp zgodny z zasadą najmniejszych uprawnień. Połączenie z Google prosi tylko o zakres drive.file, który daje dostęp wyłącznie do plików tworzonych przez aplikację. Nie widzi reszty twojego Drive.
  • Agent nigdy nie widzi twoich danych uwierzytelniających. Żądanie zawiera nagłówek Authorization, którego wartością jest placeholder {{google_sheets_access_token}}. Quickchat AI wypełnia ten placeholder prawdziwym, automatycznie odświeżanym tokenem po tym, jak model wykona swoją część. Token nigdy nie trafia do promptu.
  • Dwie wbudowane zmienne są dostępne dla każdej akcji bez definiowania ich jako parametrów: {{conversation_url}}, deep link do rozmowy w twoim Inbox, oraz {{conversation_channel}}, kanał użyty przez odwiedzającego (widżet webowy, Slack, WhatsApp i tak dalej).

Krok 1: Utwórz Agenta AI i dodaj mu wiedzę

Zachowanie Agenta Quickchat wynika z dwóch miejsc: jego Identity (głównego promptu) oraz wiedzy, którą mu dajesz, aby mógł z niej odpowiadać. Actions & MCPs to miejsce, w którym rozszerzasz to, co Agent może robić, na przykład zapisywać do Google Sheet. Ten przewodnik wykorzystuje Identity (ten krok i Krok 4) oraz Actions & MCPs (kroki 2, 3 i 6), a wszystko testuje w AI Preview (Krok 5).

Po rejestracji otwórz Identity na lewym pasku bocznym. AI Main Prompt to miejsce, w którym opisujesz, czym jest twój Agent i jak powinien się zachowywać. Dodaj krótki, dokładny opis produktu, a fakty, które Agent powinien móc podawać (plany, ceny, dostępne integracje), umieść w jego wiedzy, aby mógł odpowiadać na pytania bezpośrednio.

Strona Identity pokazująca nazwę Agenta AI i AI Main Prompt opisujący rolę Agenta Nazwa Agenta i jego główny prompt: krótki, dokładny opis produktu oraz sposobu, w jaki Agent powinien się zachowywać. Blok raportowania dodasz na końcu tego promptu w Kroku 4.

Nie martw się pisaniem całego promptu samodzielnie. Każdy prompt, opis akcji i body żądania w tym przewodniku są podane jako bloki do skopiowania i wklejenia, więc będziesz je wklejać, a nie przepisywać. Wrócisz do tego ekranu w Kroku 4, aby dodać instrukcje raportowania.

Krok 2: Połącz Google Sheets

Otwórz Actions & MCPs na pasku bocznym, kliknij Add Action i wybierz Google Sheets.

Menu Add Action z opcją Google Sheets Actions & MCPs, potem Add Action, potem Google Sheets.

Otworzy się okno połączenia, które przed przyznaniem dostępu opisze, co zostanie skonfigurowane jednym kliknięciem: nowy Google Sheet w twoim Drive oraz gotowa akcja logowania, wstępnie ustawiona pod leady. Bieżące provisionowanie aktywuje akcję startową, więc wyłącz ją na czas przeglądu lub dostosowania.

Kliknij Connect. Google zapyta, którego konta użyć, a następnie o zgodę na uprawnienie. Jedyny wymagany zakres to drive.file, który pozwala integracji dotykać tylko plików, które sama tworzy, nigdy reszty twojego Drive.

Wybór konta Google z pytaniem, którym kontem kontynuować do Quickchat AI Własny ekran Google: wybierz konto, na którego Drive ma znajdować się arkusz. Następny ekran przyznaje uprawnienie drive.file, które pozwala integracji dotykać tylko plików, które sama tworzy.

Po zatwierdzeniu wrócisz na stronę Actions & MCPs. Quickchat AI:

  1. Utworzył spreadsheet w twoim Google Drive, z jedną kartą (Leads) i wierszem nagłówka.
  2. Dodał pojedynczą, aktywną AI Action o nazwie log_lead_to_google_sheet, już podłączoną do tego arkusza.

Ta akcja startowa to normalna, w pełni edytowalna AI Action. Integracja ustawia ją wstępnie pod zbieranie leadów. Zostaw nazwę log_lead_to_google_sheet, aby widok połączenia mógł rozpoznać akcję startową; zmień jej parametry, body i opis według potrzeb. W tym przewodniku wyłączysz ją, przejrzysz i ponownie włączysz jako pierwszy raport, zanim zbudujesz trzy kolejne w Kroku 6.

Krok 3: Przejrzyj i włącz akcję leadów

Automatycznie utworzona akcja log_lead_to_google_sheet jest widoczna w sekcji Custom Actions i po utworzeniu jest aktywna. Wyłącz ją, a następnie otwórz, aby przejrzeć konfigurację przed ponownym włączeniem. To szablon dla każdego kolejnego raportu, więc warto zrozumieć go dokładnie.

Strona Actions and MCPs z listą czterech akcji raportowania Cztery akcje raportowania. Tylko pierwsza, log_lead_to_google_sheet, jest tworzona dla ciebie; trzy pozostałe dodasz w Kroku 6.

Na górze akcji znajdują się jej nazwa oraz parametry, które Agent zbiera:

Nazwa i parametry akcji leadów Nazwa akcji i parametry, które Agent wypełnia na podstawie rozmowy.

Przewiń do sekcji API Endpoint. Ponieważ Quickchat AI utworzył arkusz i tę akcję razem, URL jest już wypełniony ID twojego spreadsheetu, metoda to POST, a nagłówki są ustawione:

Sekcja API Endpoint akcji leadów: metoda POST, pełny URL endpointu z rzeczywistym ID arkusza oraz nagłówki Authorization i Content-Type Pełny URL endpointu zawiera już ID twojego arkusza. Query Params pozostaje puste: ustawienie valueInputOption=RAW jest częścią URL. Nagłówek Authorization zawiera placeholder tokenu.

{SPREADSHEET_ID}, które widzisz w dokumentacji API, nie jest żywym placeholderem. W momencie połączenia Quickchat AI utworzył twój arkusz i wpisał jego prawdziwe ID bezpośrednio w URL tej akcji, dlatego pole pokazuje już kompletny adres:

https://sheets.googleapis.com/v4/spreadsheets/<your sheet ID>/values/Leads:append?valueInputOption=RAW

Zostaw valueInputOption=RAW: wstawia wartości dosłownie, więc wiadomość zaczynająca się od = albo + nie zostanie zinterpretowana jako formuła arkusza. Skopiujesz ten dokładny URL do trzech pozostałych raportów w Kroku 6, zmieniając tylko nazwę karty, więc nigdy nie musisz ręcznie szukać ID.

Nagłówki są takie same dla każdego raportu (możesz odczytać je ze zrzutu ekranu powyżej):

KluczWartość
AuthorizationBearer {{google_sheets_access_token}}
Content-Typeapplication/json

Teraz część, dzięki której kolumny są elastyczne. Przełącz się na zakładkę Body, nadal w sekcji API Endpoint. Body żądania to pojedynczy wiersz, a każda komórka jest jednym parametrem. Kolejność komórek w body jest kolejnością kolumn w arkuszu:

{ "values": [[ "{{email}}", "{{what_they_asked}}", "{{conversation_url}}", "{{conversation_channel}}" ]] }

Zakładka Body w sekcji API Endpoint, pokazująca body żądania jako JSON z jednym parametrem na komórkę Body żądania znajduje się w zakładce Body. Każdy {{parameter}} to jedna komórka, a komórki idą w tej samej kolejności co kolumny arkusza.

Kolumny nie są więc zakodowane na sztywno przez integrację. Definiuje je to body plus wiersz nagłówka karty. Zmień body i nagłówek, a zmienisz to, co raport zapisuje. Oto jak prawdziwa rozmowa leadowa mapuje się na ten wiersz:

Jak rozmowa mapuje się na wiersz: email i pytanie odwiedzającego stają się parametrami email i what_they_asked, a dwie wbudowane zmienne wypełniają kolumny linku i kanału To, co powiedział odwiedzający, mapuje się na parametry, a parametry mapują się na kolumny, po kolei. Dwie wbudowane zmienne są wypełniane automatycznie.

Parametry to pola, które Agent wypełnia na podstawie rozmowy. Opis każdego parametru mówi Agentowi, co ma tam wpisać:

ParametrWymaganyOpis
emailTakSłużbowy adres email leada. Wymagane: poproś odwiedzającego o niego przed logowaniem, jeśli jeszcze go nie podał.
what_they_askedTakKrótkie podsumowanie, własnymi słowami odwiedzającego, pytania o cennik lub plany, które zadał.

Na końcu opis akcji. To najważniejsze pojedyncze pole, bo właśnie je czyta model, aby zdecydować, czy w ogóle wywołać akcję. Poniższa wersja jest dostrojona tak, aby Agent czekał, aż rzeczywiście ma email, zanim zapisze wiersz (więcej o tym w sekcji strojenia):

Zapisz zakwalifikowanego leada sprzedażowego, aby zespół mógł wrócić do niego z odpowiedzią. Wyzwalaczem tej akcji jest podanie przez odwiedzającego adresu email przy jednoczesnym wykazaniu zainteresowania zakupem (pytał o cennik, plany, koszt, harmonogram albo budżet). Wywołaj to tylko w turze, w której odwiedzający właśnie podał prawdziwy adres email; wpisz ten dokładny email w parametrze email. Jeśli odwiedzający wykazuje zainteresowanie zakupem, ale jeszcze nie podał emaila, NIE wywołuj tej akcji: odpowiedz mu i najpierw poproś o email. Nigdy nie wywołuj tego w turze, w której nie podano emaila, ani z pustym lub wymyślonym emailem.

Thinking message (Noting your interest for our team...) to krótki status, który odwiedzający widzi podczas działania akcji. Gdy konfiguracja wygląda poprawnie, włącz akcję.

Krok 4: Dodaj instrukcje raportowania do promptu

Opisy akcji decydują, kiedy uruchamia się każdy raport. Prompt wykonuje inne, uzupełniające zadanie: mówi Agentowi, że raportowanie jest częścią jego pracy, i zapobiega nakładaniu się czterech raportów.

Wróć do Identity i wklej ten blok na końcu AI Main Prompt. Obejmuje wszystkie cztery raporty, więc wklejasz go tylko raz:

## Raportowanie do zespołu
Masz kilka akcji, które zapisują przydatne informacje w Google Sheet zespołu. Działają cicho w tle. Są częścią twojej pracy i nie są opcjonalne. Gdy wystąpi jedna z poniższych sytuacji, wywołaj pasującą akcję w tej samej turze co swoją odpowiedź. Możesz jednocześnie odpowiedzieć odwiedzającemu i wywołać akcję w tej samej turze. Nigdy nie wspominaj odwiedzającemu o arkuszu, logowaniu ani tych akcjach. W razie wątpliwości loguj.
- Intencja zakupu. Odwiedzający pyta o cennik, plany, harmonogram albo budżet. Odpowiedz na jego pytanie, a potem przechwyć leada. Jeśli jeszcze nie podał emaila, tylko poproś o najlepszy email, aby zespół mógł wrócić do niego z odpowiedzią, i nie loguj nic w tej turze. Wywołaj akcję leadów tylko w turze, w której rzeczywiście masz jego email (albo odmówił jego podania). Loguj każdego leada raz.
- Luka w wiedzy. Nie możesz w pełni odpowiedzieć na pytanie faktograficzne (na przykład o bezpieczeństwo, certyfikaty, polityki, kwestie prawne albo konkretną funkcję), odwiedzający prosi o człowieka albo wydaje się niezadowolony. Zaloguj to jako pytanie bez odpowiedzi. Pytania o cennik obsługuje akcja leadów, a prośby o funkcje akcja feedbacku, więc nie loguj ich dodatkowo jako pytań bez odpowiedzi.
- Feedback. Odwiedzający prosi o funkcję lub integrację, której nie oferujesz, zgłasza błąd albo wyraźnie chwali produkt. Zaloguj to jako feedback produktowy.
- Prośba o demo. Odwiedzający wyraźnie prosi o demo, rozmowę albo kontakt ze sprzedażą. Zbierz jego email oraz imię i firmę, jeśli je poda, a następnie zaloguj prośbę o demo.

Blok raportowania wklejony na końcu AI Main Prompt, pod tożsamością Agenta Wklej blok na samym końcu głównego promptu, po tożsamości Agenta. Obejmuje wszystkie cztery raporty, więc dodajesz go raz.

Krok 5: Przetestuj raport leadów

Teraz potwierdź, że działa, zanim zobaczy go jakikolwiek prawdziwy odwiedzający. AI Preview to live, interaktywny sposób rozmowy z Agentem dokładnie tak, jak zrobiłby to odwiedzający. (Później możesz też użyć Simulation, aby odtworzyć wiele wiadomości testowych naraz i ocenić odpowiedzi; zobacz jak dostroić raporty.) Ponieważ oba są kanałami testowymi, kolumna Channel pokaże preview albo simulation, a nie prawdziwy kanał.

Otwórz AI Preview na pasku bocznym i przeprowadź rozmowę taką, jaką przeprowadziłby prawdziwy odwiedzający: zapytaj o cennik, a potem podaj email.

Rozmowa o cenniku w AI Preview, w której Agent odpowiada na pytanie o plan Growth, a odwiedzający podaje email Agent odpowiada na pytanie o plan Growth na podstawie swojej wiedzy. Gdy ma email odwiedzającego, loguje leada w tle.

Zobacz dokładnie, co zrobił Agent

Nie musisz zgadywać, czy akcja się uruchomiła. Otwórz tę rozmowę w Inbox i rozwiń wywołanie akcji pokazane pod odpowiedzią Agenta. Zobaczysz która akcja została uruchomiona, dokładne wartości, które wysłała, oraz potwierdzenie sukcesu (200):

Transkrypcja rozmowy w Inbox pokazująca zalogowane wywołanie akcji z parametrami i statusem 200 W rozmowie wywołanie akcji przez Agenta jest zapisane w całości: nazwa akcji, wysłane parametry i wynik.

A zapisany wiersz trafia do karty Leads:

Przechwycony lead w arkuszu Quickchat Leads Lead zapisany bezpośrednio w arkuszu. Każdy raport ma własną kartę na dole.

Conversation link otwiera pełną rozmowę w twoim Inbox, więc osoba wracająca do leada ma kontekst. Kolumna Channel pokazuje, skąd przyszedł odwiedzający.

Każda akcja ma też własny call log na stronie Actions: łączną liczbę wywołań, success rate, średnie opóźnienie oraz parametry i odpowiedź każdego pojedynczego wywołania. To tutaj potwierdzasz, w czasie, że Agent wywołuje właściwą akcję z właściwymi wartościami:

Call log akcji leadów pokazujący łączną liczbę wywołań, success rate, średnie opóźnienie i ostatnie udane wywołanie Call log dla pojedynczej akcji: jak często się uruchamia, jak często kończy się sukcesem oraz co każde wywołanie wysłało i otrzymało.

To pełna pętla: rozmowa, decyzja Agenta, wywołanie akcji i użyteczny wiersz. Pozostałe trzy raporty działają według tego samego wzorca.

Krok 6: Dodaj pozostałe trzy raporty

Każdy raport potrzebuje dwóch rzeczy: karty w arkuszu oraz nowej AI Action, która dopisuje do niej wiersze.

Dodaj trzy karty

Otwórz arkusz (link Open sheet w oknie Google Sheets) i dodaj trzy karty (Unanswered, Feedback, Demos), każdą z wierszem nagłówka podanym przy danym raporcie poniżej.

Zbuduj każdą akcję

Otwórz Actions & MCPs, dodaj niestandardową akcję HTTP Request i wypełnij ją. Metoda (POST) i nagłówki są identyczne jak w akcji leadów. Dla URL skopiuj pełny URL prosto z akcji leadów i zmień tylko nazwę karty (Leads na Unanswered, Feedback albo Demos). Ponieważ ten URL zawiera już ID twojego spreadsheetu, nie musisz podłączać niczego więcej:

https://sheets.googleapis.com/v4/spreadsheets/<your sheet ID>/values/Unanswered:append?valueInputOption=RAW

Z raportu na raport zmieniają się tylko nazwa karty, parametry, body i opis.

Raport 2: Pytania bez odpowiedzi

Najbardziej użyteczny raport. Agent mówi ci dokładnie, gdzie brakuje mu wiedzy i których potencjalnych klientów zostawiłeś bez odpowiedzi, co tworzy roadmapę treści.

Ten raport działa tylko wtedy, gdy Agent rzeczywiście nie zna odpowiedzi, więc luka musi być prawdziwa. Gdy konfigurujesz Agenta testowego, celowo pomiń fakty, które chcesz, aby flagował. Agent Tideline zna swoje plany i integracje, ale nie wie nic o certyfikatach bezpieczeństwa, więc pytanie o SOC 2 jest prawdziwą luką, a nie faktem, który mógł podać. Jeśli załadujesz całą wiedzę, ten raport nie będzie miał czego wychwycić.

Karta Unanswered, wiersz nagłówka:

PytanieDlaczego nie mogliśmy odpowiedziećEmailLink do rozmowyKanał

Parametry:

ParametrWymaganyOpis
questionTakPytanie odwiedzającego, jego własnymi słowami.
reasonTakKrótko, dlaczego nie mogłeś w pełni odpowiedzieć: brak w wiedzy, potrzebny człowiek albo odwiedzający był niezadowolony.
emailNieEmail odwiedzającego, jeśli go podał; w przeciwnym razie zostaw puste.

Body:

{ "values": [[ "{{question}}", "{{reason}}", "{{email}}", "{{conversation_url}}", "{{conversation_channel}}" ]] }

Opis (thinking message: Flagging this for our team...):

Wywołuj to zawsze, gdy nie możesz w pełni odpowiedzieć na pytanie faktograficzne na podstawie swojej wiedzy, odwiedzający prosi o rozmowę z człowiekiem albo wydaje się niezadowolony. Jeśli twoja odpowiedź mówi, że nie masz, nie możesz znaleźć, nie możesz potwierdzić albo nie masz pewności co do żądanej informacji, MUSISZ wywołać tę akcję w tej samej turze. Zaloguj lukę nawet wtedy, gdy podałeś częściową odpowiedź. Nie wywołuj jej dla pytań, na które odpowiedziałeś w pełni, dla cennika (obsługiwanego przez akcję leadów) ani dla próśb o funkcje (obsługiwanych przez akcję feedbacku).

Przetestowane pytaniem o bezpieczeństwo, na które Agent nie ma odpowiedzi:

Agent odmawia potwierdzenia pytania o SOC 2 i proponuje oflagowanie go Agent mówi wprost, że nie może potwierdzić, i flaguje pytanie dla zespołu.

Wiersz zapisany w karcie Unanswered:

Pytanie bez odpowiedzi o SOC 2 zapisane w karcie Unanswered Luka zapisana z powodem i linkiem do rozmowy. Komórka Email jest pusta, ponieważ ten odwiedzający go nie podał.

Raport 3: Feedback

Każde „czy wspieracie X?” i „chciałbym, żeby dało się Y” staje się priorytetyzowanym backlogiem, z dołączonymi słowami klienta.

Karta Feedback, wiersz nagłówka:

TypPodsumowanieDlaczego / use caseEmailLink do rozmowy

Parametry:

ParametrWymaganyOpis
typeTakJedno z: prośba o funkcję, błąd, pochwała.
summaryTakKrótkie podsumowanie feedbacku własnymi słowami odwiedzającego.
contextNieDlaczego tego chce albo jak by tego używał, jeśli wspomniano.
emailNieEmail odwiedzającego, jeśli go podał; w przeciwnym razie zostaw puste.

Body:

{ "values": [[ "{{type}}", "{{summary}}", "{{context}}", "{{email}}", "{{conversation_url}}" ]] }

Opis (thinking message: Passing this to our product team...):

Wywołaj to, gdy odwiedzający prosi o funkcję, możliwość albo integrację (niezależnie od tego, czy obecnie ją oferujesz), zgłasza błąd lub problem albo wyraźnie chwali produkt. Ustaw type na jedną z wartości: prośba o funkcję, błąd, pochwała. Nie wywołuj tego dla neutralnych pytań informacyjnych.

Przetestowane prośbą o integrację, której firma nie oferuje:

Agent wyjaśnia, że nie ma natywnej integracji QuickBooks, i loguje prośbę Agent stwierdza, które integracje istnieją, jasno odmawia i loguje prośbę jako feedback.

Wiersz zapisany w karcie Feedback:

Prośba o funkcję QuickBooks zapisana w karcie Feedback Każdy wiersz ma typ (prośba o funkcję, błąd albo pochwała), podsumowanie w słowach odwiedzającego i link do rozmowy.

Raport 4: Prośby o demo

Gdy ktoś wyraźnie chce porozmawiać, przechwyć ustrukturyzowany wiersz gotowy dla sprzedaży.

Karta Demos, wiersz nagłówka:

ImięEmailFirmaUse caseLink do rozmowy

Parametry:

ParametrWymaganyOpis
nameNieImię odwiedzającego, jeśli podał; w przeciwnym razie zostaw puste.
emailTakNajlepszy email, pod którym zespół może się z nim skontaktować.
companyNieNazwa firmy, jeśli podana.
use_caseNieCo chce osiągnąć albo omówić, jeśli wspomniano.

Body:

{ "values": [[ "{{name}}", "{{email}}", "{{company}}", "{{use_case}}", "{{conversation_url}}" ]] }

Opis (thinking message: Setting up your demo request...):

Wywołaj to tylko wtedy, gdy odwiedzający wyraźnie prosi o zarezerwowanie demo, umówienie rozmowy albo kontakt ze sprzedawcą. Najpierw zbierz jego email oraz imię i firmę, jeśli je poda. Nie wywołuj tego tylko dlatego, że ktoś podał email albo zapytał o cennik; dla ogólnego zainteresowania zakupem użyj akcji leadów.

Przetestowane wyraźną prośbą o demo:

Agent potwierdza prośbę o demo i odnotowuje dane odwiedzającego Agent potwierdza demo i odnotowuje imię, firmę oraz temat.

Wiersz zapisany w karcie Demos:

Prośba o demo zapisana w karcie Demos z imieniem, emailem, firmą i use case Ustrukturyzowany wiersz gotowy dla sprzedaży: kto, gdzie pracuje i co chce zobaczyć.

Wszystkie cztery raporty zapisują do jednego spreadsheetu, każdy do osobnej karty, i wypełniają się w trakcie rozmów.

Jak dostroić raporty

Raporty powyżej nie działały dobrze przy pierwszej próbie, a proces ich naprawiania jest najcenniejszą częścią do skopiowania, bo tak doprowadzisz do poprawnego działania własne raporty. Pętla jest zawsze taka sama:

  1. Odegraj odwiedzającego. Otwórz AI Preview i przeprowadź dokładnie taką rozmowę, jaką przeprowadziłby prawdziwy odwiedzający.
  2. Czytaj wynik, nie tylko odpowiedź. Otwórz kartę arkusza i call log akcji (oba pokazane w Kroku 5) i sprawdź zapisany wiersz oraz parametry faktycznie wysłane przez Agenta.
  3. Znajdź lukę. Porównaj to, co zostało zalogowane, z tym, co powinno zostać zalogowane.
  4. Zmień jedną rzecz. Edytuj opis akcji (kontroluje, kiedy akcja się uruchamia) albo blok promptu, ale tylko jedno naraz, aby wiedzieć, co zmieniło wynik.
  5. Uruchom ponownie tę samą rozmowę i potwierdź, że wiersz jest teraz poprawny.

Najważniejsze okazały się dwie zmiany z tej pętli, obie wynikające bezpośrednio ze złego wiersza:

Dwie poprawki znalezione przez symulację: lead zalogowany zbyt wcześnie z pustym emailem, naprawiony przez wymaganie emaila i wyzwalanie na jego podaniu; oraz luka w wiedzy, która nie logowała nic, naprawiona mocniejszym sformułowaniem Dwie zmiany, które miały znaczenie, każda znaleziona przez uruchomienie rozmowy i przeczytanie wygenerowanego wiersza.

Poprawka 1: lead uruchamiał się zbyt wcześnie. Pierwszy opis wiązał trigger z pytaniem: „wywołaj to, gdy odwiedzający pyta o cennik, plany albo koszt”. Po uruchomieniu rozmowy o cenniku Agent odpowiedział i zalogował leada w tej samej turze, zanim odwiedzający podał email. Wiersz trafił jako [ (empty), "Growth plan cost", link, simulation ]: lead bez możliwości kontaktu. Poprawka polegała na przeniesieniu triggera z pytania na dane kontaktowe. Opis mówi teraz, aby wywołać akcję tylko w turze, w której odwiedzający faktycznie podał email, a parametr email jest oznaczony jako wymagany. Po ponownym uruchomieniu tej samej rozmowy Agent odpowiedział na pytanie o cennik, nic nie zalogował w tej turze i zapisał wiersz dopiero po podaniu adresu przez odwiedzającego.

Poprawka 2: luka w wiedzy pozostała cicha. Raport pytań bez odpowiedzi najtrudniej było zmusić do uruchamiania. Pierwszy opis („wywołaj to, jeśli nie możesz odpowiedzieć na pytanie”) nie robił prawie nic: zapytany, czy produkt ma certyfikat SOC 2, Agent poprawnie powiedział, że nie może tego potwierdzić, i skierował odwiedzającego do zespołu, ale nic nie zalogował. Dla modelu „nie wiem” już wydaje się kompletną odpowiedzią, więc nie ma dodatkowego sygnału, który popychałby go do zapisania luki. Poprawką było stanowcze sformułowanie: opis mówi teraz, że jeśli odpowiedź stwierdza, że Agent nie może potwierdzić albo nie jest pewien, MUSI wywołać akcję w tej samej turze. Dzięki temu to samo pytanie o SOC 2 wygenerowało zarówno uczciwą odpowiedź, jak i wiersz w karcie Unanswered. Ten raport pozostaje najbardziej oparty na ocenie spośród czterech, ponieważ zależy od tego, czy Agent zauważy własną lukę, a nie od wyraźnego sygnału odwiedzającego; działa najpewniej, gdy odwiedzający prosi też o późniejszy kontakt.

Co robi blok promptu, a czego nie robi. Opisy akcji decydują, kiedy każdy raport się uruchamia. Blok promptu z Kroku 4 ma trzy oddzielne zadania: mówi Agentowi, że raporty nie są opcjonalne, rozdziela nakładające się przypadki (pytanie o cennik to lead, nie pytanie bez odpowiedzi) i ustala politykę proszenia o email przed logowaniem leada. Jedno uczciwe zastrzeżenie z testów: to, czy Agent proaktywnie poprosi o email, gdy odwiedzający okazuje zainteresowanie, ale go nie podaje, różni się między uruchomieniami, więc nie polegaj na tym. Gwarancją, że nie dostaniesz leada z pustym emailem, jest wymagany parametr email plus sformułowanie triggera, a nie prompt.

Testowanie na większą skalę w Simulation

Gdy raport działa, Simulation (w sekcji Testing na pasku bocznym) pozwala sprawdzić, czy nie pojawiła się regresja. Dajesz mu zestaw danych z wiadomościami testowymi, odtwarza je wszystkie przez twojego Agenta, a evaluator (LLM oceniający każdą odpowiedź według napisanej przez ciebie rubryki, w skali od 1 do 5) punktuje odpowiedzi za ciebie. To właściwe narzędzie do wychwytywania spadków jakości tego, co mówi Agent w wielu przypadkach naraz.

Uruchomienie symulacji na zestawie czterech wiadomości: każda wiadomość testowa, odpowiedź Agenta oraz ocena evaluatora od 1 do 5 z uzasadnieniem Uruchomienie symulacji dla czterech scenariuszy raportowania. Każdy wiersz to wiadomość testowa, odpowiedź Agenta oraz ocena i uzasadnienie evaluatora. Tutaj wszystkie cztery przechodzą z wynikiem 5 z 5.

Jedno ważne ograniczenie: evaluator widzi tylko tekst odpowiedzi, a nie twój arkusz. Nie może potwierdzić, że właściwy wiersz trafił do właściwej karty. Do tego użyj arkusza i call logu akcji z Kroku 5, na których opiera się dokładnie pętla strojenia powyżej.

Jedna uwaga operacyjna. Każda rozmowa testowa zużywa miesięczne wiadomości AI twojego Agenta. Jeśli Agent nagle zwróci komunikat „unavailable” w trakcie testów, osiągnąłeś limit, a nie błąd.

Uruchomienie na produkcji

Gdy cztery akcje są włączone, a blok promptu jest na miejscu, wdroż Agenta na jego rzeczywistych kanałach. Nie trzeba konfigurować nic więcej: te same akcje działają dla widżetu webowego, Slacka, WhatsApp i pozostałych kanałów, a kolumna Channel zapisuje, skąd pochodzi każdy wiersz. Twój zespół obserwuje, jak arkusz wypełnia się w czasie rzeczywistym, a każdy wiersz linkuje bezpośrednio do rozmowy, która go utworzyła.

Najczęściej zadawane pytania

Czy potrzebuję kodu, aby połączyć agenta AI z Google Sheets?

Nie. Połączenie z Google Sheets wymaga jednego kliknięcia, a każdy opis akcji, prompt i body żądania, których potrzebujesz, znajdziesz w tym przewodniku jako blok do skopiowania i wklejenia. Nie piszesz ani nie hostujesz żadnego kodu.

Czy potrzebuję Zapiera albo webhooka, aby połączyć Agenta AI z Google Sheets?

Nie. Quickchat AI łączy się z Google Sheets bezpośrednio przez AI Action, natywne żądanie HTTP, które Agent wykonuje w trakcie rozmowy. Nie ma Zapiera, usługi webhooków ani inżyniera pośrodku. Jedno kliknięcie tworzy dla ciebie arkusz i pierwszą akcję logowania.

Czy moje dane w Google Drive są bezpieczne?

Tak. Integracja prosi tylko o zakres OAuth drive.file, który daje dostęp wyłącznie do plików utworzonych przez samą aplikację, na przykład arkusza utworzonego dla ciebie. Nie może odczytać ani zmienić niczego innego w twoim Drive, a token dostępu nigdy nie jest ujawniany modelowi AI.

Czy mogę logować rzeczy inne niż leady?

Tak. Integracja jest uniwersalnym loggerem. Akcja startowa jest wstępnie ustawiona pod leady, bo to najczęstszy przypadek, ale kolumny to po prostu body akcji plus wiersz nagłówka arkusza, więc możesz je edytować, aby logować pytania bez odpowiedzi, prośby o funkcje, rezerwacje demo albo cokolwiek innego, jak pokazuje ten przewodnik.

Na których kanałach działa logowanie do Google Sheets?

Na wszystkich. Te same akcje działają wszędzie tam, gdzie wdrożysz Agenta (widżet webowy, Slack, WhatsApp i inne), a kolumna Channel zapisuje, skąd pochodzi każdy wiersz.

Czy to coś kosztuje i czy testowanie zużywa moje wiadomości AI?

Możesz zacząć za darmo, a samo połączenie z Google Sheets nie dodaje kosztów. Każda rozmowa, w tym te uruchamiane w AI Preview i Simulation podczas testów, wlicza się do miesięcznych wiadomości AI w twoim planie, więc intensywne testy korzystają z tego samego limitu co rozmowy live.

Co jeśli usunę startową akcję logowania?

Możesz ją odzyskać. Otwórz Add Action, ponownie wybierz Google Sheets i użyj Reconnect: integracja ponownie uruchomi konfigurację jednym kliknięciem, odtworzy akcję log_lead_to_google_sheet i wykorzysta istniejący arkusz (nigdy nie tworzy drugiego). Gdy jesteś już połączony, okno połączenia oferuje tę opcję ponownego połączenia bezpośrednio.

Okno połączenia po usunięciu akcji logowania, oferujące ponowne połączenie i ponowne dodanie akcji Jeśli akcja startowa zniknęła, okno informuje o tym i oferuje ścieżkę odtworzenia jednym kliknięciem. Twój arkusz pozostaje połączony.

Przykład produktowo-społecznościowy znajdziesz w tutorialu feedbacku Discord-to-Google-Sheets. Rejestruje jawne zgłoszenia do przeglądu przez zespół, odróżnia udokumentowane ograniczenia od brakujących odpowiedzi i testuje zarówno treść rekordów, jak i odpowiedź.

Podsumowanie

AI Action to opisane żądanie HTTP, a wiersz Google Sheet jest jednym takim żądaniem. Połącz Google raz, ukształtuj akcję startową w raport leadów, wklej blok raportowania, a potem dodaj kartę i akcję dla każdego kolejnego raportu, którego chcesz. Kolumny są twoje: są body akcji, nie stałym szablonem. Ustawienia i prompt z tego artykułu to te same, które wygenerowały pokazane tutaj wiersze, więc możesz je skopiować, podmienić dane własnego produktu i uruchomić te same testy, aby potwierdzić, że Agent działa, zanim pokażesz go prawdziwym odwiedzającym.

Zapisz ten przewodnik. Stale aktualizowana dokumentacja AI Actions znajduje się pod adresem docs.quickchat.ai/ai-agent/actions, a API reference for AI Actions zawiera pełną listę pól.