Deinen AI Agent mit Google Sheets verbinden

Piotr Grudzień
Veröffentlicht 17 Min. Lesezeit
Deinen AI Agent mit Google Sheets verbinden

Einführung

Dein AI Agent spricht mit jedem Besucher auf deiner Website. Manche sind kaufbereit, manche stellen eine Frage, die er nicht beantworten kann, manche wünschen sich ein Feature, das du noch nicht hast, und manche möchten eine Demo. Standardmäßig ist all das weg, sobald der Chat geschlossen wird.

Diese Anleitung zeigt dir, wie du deinen AI Agent mit Google Sheets verbindest, damit jeder dieser Momente zu einer Zeile in einem Sheet wird, das dein Team bereits nutzt. Kein Zapier, keine Webhooks, kein Engineer. Du brauchst zwei Dinge:

Der Mechanismus heißt AI Actions: benutzerdefinierte HTTP-Requests, die dein Agent während einer Unterhaltung ausführen kann. Quickchat AI hat eine One-Click-Verbindung zu Google Sheets, die ein Sheet und eine Starter-Logging-Action für dich erstellt. Von dort aus passt du sie an und fügst beliebig viele Reports hinzu. Am Ende hast du vier funktionierende Reports und hast jeden davon selbst getestet.

Dies ist eine lange, genaue Schritt-für-Schritt-Anleitung. Die maßgebliche Referenz für AI Actions findest du in der Dokumentation unter docs.quickchat.ai/ai-agent/actions. Weitere ausgearbeitete Beispiele für eine benutzerdefinierte Action findest du unter deinen AI Agent mit HubSpot verbinden, um Kontakte, Deals und Tickets zu protokollieren, Slack-Benachrichtigungen mit AI Actions senden oder einen AI Telegram Bot zur Verwaltung deiner Gruppe erstellen.

Was du baust

Vier Reports, die jeweils in einen eigenen Tab eines Google Sheets schreiben:

ReportTabWann der Agent eine Zeile schreibt
LeadsLeadsEin Besucher zeigt Kaufinteresse und teilt eine E-Mail-Adresse
Unbeantwortete FragenUnansweredDer Agent kann eine Sachfrage nicht beantworten
FeedbackFeedbackEin Besucher wünscht ein Feature, meldet einen Bug oder gibt Lob
Demo-AnfragenDemosEin Besucher bittet um eine Demo oder einen Call

Die Screenshots unten stammen von einem Test-Agent für ein fiktives Unternehmen, Tideline, eine Subscription-Analytics-Plattform für SaaS-Unternehmen. Das Unternehmen ist erfunden, damit das Beispiel neutral bleibt, aber jede hier gezeigte Unterhaltung und jede Zeile wurde von einem echten Agent erzeugt, der die echte Antwort-Pipeline ausführt. Verwende die Details deines eigenen Unternehmens, wenn du die Schritte nachvollziehst.

Wie die Google-Sheets-Integration funktioniert

Die ganze Funktion beruht auf einer Idee: Eine AI Action ist ein beschriebener HTTP-Request, und eine Google-Sheet-Zeile ist ein solcher Request.

Anatomie einer AI Action: der Name, die Beschreibung, die angibt, wann sie aufgerufen werden soll, die Parameter, die der Agent aus dem Chat ausfüllt, und der Request, den er sendet Eine AI Action hat vier Teile. Die description ist das, was das Modell liest, um zu entscheiden, ob sie aufgerufen werden soll. Die parameters sind das, was es aus der Unterhaltung ausfüllt.

Ein paar weitere Fakten erleichtern den Rest des Beitrags.

  • Eine Zeile zu schreiben ist ein API-Call. Google Sheets hat einen append-Endpoint, der einem Tab eine Zeile hinzufügt. Jeder Report ist ein POST an diesen Endpoint mit den Zeilenwerten im Body.
  • Die Spalten sind nicht festgelegt. Sie sind das, was deine Action sendet. Du bestimmst die Spalten, indem du den Body der Action und die Header-Zeile des Sheets bearbeitest. So kann dieselbe Integration Leads, Bug Reports oder alles andere protokollieren.
  • Least-Privilege-Zugriff. Die Google-Verbindung fordert nur den Scope drive.file an. Dieser gewährt ausschließlich Zugriff auf Dateien, die die App erstellt. Sie kann den Rest deines Drive nicht sehen.
  • Der Agent sieht deine Zugangsdaten nie. Der Request enthält einen Authorization-Header, dessen Wert ein Platzhalter ist: {{google_sheets_access_token}}. Quickchat AI füllt diesen Platzhalter mit einem echten, automatisch aktualisierten Token nachdem das Modell seinen Teil erledigt hat. Das Token gelangt nie in den Prompt.
  • Zwei integrierte Variablen sind für jede Action verfügbar, ohne als Parameter definiert zu werden: {{conversation_url}}, ein Deep Link zurück zur Unterhaltung in deiner Inbox, und {{conversation_channel}}, der Kanal, den der Besucher verwendet hat (Web-Widget, Slack, WhatsApp und so weiter).

Schritt 1: Erstelle deinen AI Agent und gib ihm Wissen

Das Verhalten eines Quickchat Agent kommt aus zwei Quellen: seiner Identity (dem Hauptprompt) und dem Wissen, das du ihm zum Beantworten gibst. Actions & MCPs ist der Bereich, in dem du erweiterst, was er tun kann, zum Beispiel in ein Google Sheet schreiben. Diese Anleitung arbeitet in Identity (dieser Schritt und Schritt 4) und Actions & MCPs (Schritte 2, 3 und 6) und testet alles in AI Preview (Schritt 5).

Nachdem du dich registriert hast, öffne Identity in der linken Seitenleiste. Der AI Main Prompt ist der Ort, an dem du beschreibst, was dein Agent ist und wie er sich verhalten soll. Gib ihm eine kurze, genaue Beschreibung deines Produkts und lege die Fakten, die er nennen können soll (Pläne, Preise, vorhandene Integrationen), in seinem Wissen ab, damit er Fragen direkt beantworten kann.

Die Identity-Seite mit dem Namen des AI Agent und dem AI Main Prompt, der die Rolle des Agent beschreibt Der Name des Agent und sein Hauptprompt: eine kurze, genaue Beschreibung deines Produkts und des gewünschten Verhaltens des Agent. Den Reporting-Block fügst du am Ende dieses Prompts in Schritt 4 hinzu.

Mach dir keine Sorgen, dass du den ganzen Prompt selbst schreiben musst. Jeder Prompt, jede Action-Beschreibung und jeder Request Body in dieser Anleitung wird als Copy-and-paste-Block bereitgestellt, du fügst sie also ein, statt sie abzutippen. In Schritt 4 kehrst du zu diesem Bildschirm zurück, um die Reporting-Anweisungen hinzuzufügen.

Schritt 2: Google Sheets verbinden

Öffne Actions & MCPs in der Seitenleiste, klicke auf Add Action und wähle Google Sheets.

Das Add Action-Menü mit der Option Google Sheets Actions & MCPs, dann Add Action, dann Google Sheets.

Der Verbindungsdialog öffnet sich und erklärt vor der Zugriffserteilung, was der eine Klick einrichtet: ein neues Google Sheet in deinem Drive und eine einsatzbereite Logging-Action, voreingestellt für Leads. Die aktuelle Bereitstellung aktiviert den Starter. Schalte ihn daher aus, während du ihn prüfst oder umfunktionierst.

Klicke auf Connect. Google fragt, welches Konto verwendet werden soll und dann, welche Berechtigung erteilt werden soll. Der einzige angeforderte Scope ist drive.file. Er erlaubt der Integration, nur die Dateien zu bearbeiten, die sie erstellt, niemals den Rest deines Drive.

Die Google-Kontoauswahl, die fragt, mit welchem Konto mit Quickchat AI fortgefahren werden soll Googles eigener Bildschirm: Wähle das Konto aus, in dessen Drive das Sheet liegen soll. Der nächste Bildschirm erteilt die Berechtigung drive.file, mit der die Integration nur die Dateien bearbeiten kann, die sie erstellt.

Wenn du zustimmst, kehrst du zur Seite Actions & MCPs zurück. Quickchat AI hat:

  1. Eine Tabelle erstellt in deinem Google Drive, mit einem Tab (Leads) und einer Header-Zeile.
  2. Eine einzelne, aktive AI Action hinzugefügt namens log_lead_to_google_sheet, die bereits mit diesem Sheet verbunden ist.

Diese Starter-Action ist eine normale, vollständig bearbeitbare AI Action. Die Integration stellt sie für Lead-Erfassung vorein. Behalte den Namen log_lead_to_google_sheet, damit die Verbindungsansicht den Starter identifizieren kann. Ändere Parameter, Body und Beschreibung nach Bedarf. In dieser Anleitung schaltest du sie aus, prüfst sie und aktivierst sie wieder als ersten Report, bevor du in Schritt 6 drei weitere baust.

Schritt 3: Lead-Action prüfen und aktivieren

Die automatisch erstellte Action log_lead_to_google_sheet ist unter Custom Actions aufgeführt und bei der Erstellung aktiv. Schalte sie aus und öffne sie dann, um die Konfiguration zu prüfen, bevor du sie wieder aktivierst. Das ist die Vorlage, der jeder weitere Report folgt, daher lohnt es sich, sie vollständig zu verstehen.

Die Seite Actions and MCPs mit den vier Reporting-Actions Die vier Reporting-Actions. Nur die erste, log_lead_to_google_sheet, wird für dich erstellt. Die anderen drei fügst du in Schritt 6 hinzu.

Oben in der Action stehen ihr Name und die Parameter, die der Agent sammelt:

Der Name und die Parameter der Lead-Action Der Action-Name und die Parameter, die der Agent aus der Unterhaltung ausfüllt.

Scrolle nach unten zum Abschnitt API Endpoint. Da Quickchat AI das Sheet und diese Action zusammen erstellt hat, ist die URL bereits mit der ID deiner Tabelle ausgefüllt, die Methode ist POST, und die Header sind gesetzt:

Der Abschnitt API Endpoint der Lead-Action: POST-Methode, die vollständige Endpoint-URL mit der echten Sheet-ID sowie die Header Authorization und Content-Type Die vollständige Endpoint-URL enthält bereits die ID deines Sheets. Query Params bleibt leer: Die Einstellung valueInputOption=RAW steht in der URL. Der Header Authorization enthält den Token-Platzhalter.

Das {SPREADSHEET_ID}, das du in der API-Dokumentation siehst, ist kein Live-Platzhalter. Beim Verbinden hat Quickchat AI dein Sheet erstellt und seine echte ID direkt in die URL dieser Action geschrieben. Deshalb zeigt das Feld bereits die vollständige Adresse:

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

Behalte valueInputOption=RAW: Werte werden wörtlich eingefügt, sodass eine Nachricht, die mit = oder + beginnt, nicht als Tabellenformel interpretiert wird. Du kopierst diese exakte URL in Schritt 6 in die anderen drei Reports, wobei du nur den Tab-Namen änderst. Dadurch musst du nie eine ID manuell heraussuchen.

Die Header sind für jeden Report gleich (du kannst sie aus dem Screenshot oben ablesen):

KeyValue
AuthorizationBearer {{google_sheets_access_token}}
Content-Typeapplication/json

Jetzt kommt der Teil, der die Spalten flexibel macht. Wechsle zum Tab Body, weiterhin im Abschnitt API Endpoint. Der Request Body ist eine einzelne Zeile, und jede Zelle ist ein Parameter. Die Reihenfolge der Zellen im Body ist die Reihenfolge der Spalten im Sheet:

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

Der Body-Tab im Abschnitt API Endpoint, der den Request Body als JSON mit einem Parameter pro Zelle zeigt Der Request Body befindet sich im Tab Body. Jedes {{parameter}} ist eine Zelle, und die Zellen laufen in derselben Reihenfolge wie die Spalten des Sheets.

Die Spalten sind also nicht durch die Integration fest codiert. Sie werden durch diesen Body plus die Header-Zeile des Tabs definiert. Ändere den Body und den Header, und du änderst, was der Report erfasst. So wird eine echte Lead-Unterhaltung auf diese Zeile abgebildet:

Wie eine Unterhaltung auf eine Zeile abgebildet wird: Die E-Mail-Adresse und Frage des Besuchers werden zu den Parametern email und what_they_asked, und die zwei integrierten Variablen füllen die Spalten für Link und Kanal Was der Besucher gesagt hat, wird Parametern zugeordnet, und die Parameter werden der Reihe nach Spalten zugeordnet. Die zwei integrierten Variablen werden automatisch ausgefüllt.

Die Parameter sind die Felder, die der Agent aus der Unterhaltung ausfüllt. Die Beschreibung jedes Parameters sagt dem Agent, was er dort eintragen soll:

ParameterRequiredDescription
emailYesDie geschäftliche E-Mail-Adresse des Leads. Erforderlich: Frage den Besucher danach, bevor du protokollierst, falls er noch keine geteilt hat.
what_they_askedYesEine kurze Zusammenfassung der gestellten Frage zu Preisen oder Plänen, in den eigenen Worten des Besuchers.

Zum Schluss die Action-Beschreibung. Das ist das wichtigste einzelne Feld, weil das Modell sie liest, um zu entscheiden, ob die Action überhaupt aufgerufen werden soll. Die folgende Version ist so abgestimmt, dass der Agent wartet, bis er tatsächlich eine E-Mail-Adresse hat, bevor er eine Zeile schreibt (mehr dazu im Abschnitt zur Feinabstimmung):

Erfasse einen qualifizierten Sales-Lead, damit das Team nachfassen kann. Der Auslöser für diese Action ist, dass der Besucher seine E-Mail-Adresse angibt und gleichzeitig Kaufinteresse zeigt (er hat nach Preisen, Plänen, Kosten, Zeitplan oder Budget gefragt). Rufe dies nur in einem Turn auf, in dem der Besucher dir gerade eine echte E-Mail-Adresse gegeben hat. Trage genau diese E-Mail-Adresse in den Parameter email ein. Wenn ein Besucher Kaufinteresse zeigt, aber noch keine E-Mail-Adresse angegeben hat, rufe diese Action NICHT auf: Antworte ihm und frage zuerst nach seiner E-Mail-Adresse. Rufe dies nie in einem Turn auf, in dem keine E-Mail-Adresse angegeben wurde, und nie mit einer leeren oder erfundenen E-Mail-Adresse.

Die thinking message (Noting your interest for our team...) ist der kurze Status, den der Besucher sieht, während die Action läuft. Wenn die Konfiguration korrekt aussieht, schalte die Action ein.

Schritt 4: Reporting-Anweisungen zu deinem Prompt hinzufügen

Die Action-Beschreibungen entscheiden, wann jeder Report ausgelöst wird. Der Prompt erfüllt eine andere, ergänzende Aufgabe: Er sagt dem Agent, dass Reporting Teil seiner Arbeit ist, und verhindert, dass sich die vier Reports gegenseitig überschneiden.

Gehe zurück zu Identity und füge diesen Block am Ende deines AI Main Prompt ein. Er deckt alle vier Reports ab, du fügst ihn also nur einmal ein:

## Reporting an das Team
Du hast mehrere Actions, die nützliche Informationen im Google Sheet des Teams protokollieren. Sie laufen still im Hintergrund. Sie sind Teil deiner Aufgabe und nicht optional. Wenn eine der folgenden Situationen zutrifft, rufe die passende Action im selben Turn wie deine Antwort auf. Du kannst dem Besucher antworten und im selben Turn eine Action aufrufen. Erwähne dem Besucher gegenüber nie das Spreadsheet, das Logging oder diese Actions. Im Zweifel protokollierst du es.
- Kaufinteresse. Der Besucher fragt nach Preisen, Plänen, Zeitplan oder Budget. Beantworte seine Frage und erfasse dann den Lead. Wenn er noch keine E-Mail-Adresse geteilt hat, frage nur nach der besten E-Mail-Adresse, unter der das Team nachfassen kann, und protokolliere in diesem Turn nichts. Rufe die Lead-Action nur in dem Turn auf, in dem du tatsächlich seine E-Mail-Adresse hast (oder er abgelehnt hat, eine zu teilen). Protokolliere jeden Lead einmal.
- Wissenslücke. Du kannst eine Sachfrage nicht vollständig beantworten (zum Beispiel zu Sicherheit, Zertifizierungen, Richtlinien, Rechtlichem oder einer bestimmten Funktion), oder der Besucher bittet um einen Menschen, oder der Besucher wirkt unzufrieden. Protokolliere dies als unbeantwortete Frage. Preisfragen werden von der Lead-Action behandelt und Feature Requests von der Feedback-Action, protokolliere diese daher nicht zusätzlich als unbeantwortet.
- Feedback. Der Besucher wünscht ein Feature oder eine Integration, die du nicht anbietest, meldet einen Bug oder gibt deutliches Lob. Protokolliere dies als Produktfeedback.
- Demo-Anfrage. Der Besucher bittet ausdrücklich um eine Demo, einen Call oder darum, mit Sales zu sprechen. Sammle seine E-Mail-Adresse und, falls angeboten, seinen Namen und sein Unternehmen. Protokolliere dann die Demo-Anfrage.

Der Reporting-Block, der am Ende des AI Main Prompt unterhalb der Identity des Agent eingefügt wurde Füge den Block ganz am Ende deines Hauptprompts ein, nach der Identity des Agent. Er deckt alle vier Reports ab, du fügst ihn also einmal hinzu.

Schritt 5: Lead-Report testen

Bestätige jetzt, dass es funktioniert, bevor ein echter Besucher es sieht. AI Preview ist die interaktive Live-Methode, um mit deinem Agent genauso zu chatten, wie es ein Besucher tun würde. (Später kannst du auch Simulation verwenden, um viele Testnachrichten auf einmal abzuspielen und die Antworten zu bewerten. Siehe Reports feinabstimmen.) Da beide Testkanäle sind, zeigt die Spalte Channel preview oder simulation statt eines echten Kanals.

Öffne AI Preview in der Seitenleiste und führe eine Unterhaltung, wie sie ein echter Besucher führen würde: Frage nach Preisen und teile dann eine E-Mail-Adresse.

Eine Preisunterhaltung in AI Preview, in der der Agent die Frage zum Growth-Plan beantwortet und der Besucher eine E-Mail-Adresse teilt Der Agent beantwortet die Frage zum Growth-Plan aus seinem Wissen. Sobald er die E-Mail-Adresse des Besuchers hat, protokolliert er den Lead im Hintergrund.

Genau sehen, was der Agent getan hat

Du musst nicht raten, ob die Action ausgelöst wurde. Öffne diese Unterhaltung in deiner Inbox und klappe den Action-Aufruf unter der Antwort des Agent aus. Er listet auf, welche Action lief, welche genauen Werte sie gesendet hat und dass sie erfolgreich war (200):

Das Unterhaltungstranskript in der Inbox mit dem protokollierten Action-Aufruf, seinen Parametern und einem 200-Status In der Unterhaltung wird der Action-Aufruf des Agent vollständig aufgezeichnet: der Action-Name, die gesendeten Parameter und das Ergebnis.

Und die geschriebene Zeile landet im Tab Leads:

Der erfasste Lead im Quickchat Leads Sheet Der Lead, direkt in das Sheet geschrieben. Jeder Report erhält unten einen eigenen Tab.

Der Conversation link öffnet die vollständige Unterhaltung in deiner Inbox, damit die Person, die nachfasst, den Kontext hat. Die Spalte Channel zeigt, woher der Besucher kam.

Jede Action führt außerdem ihr eigenes call log auf der Actions-Seite: Gesamtaufrufe, Erfolgsrate, durchschnittliche Latenz sowie die Parameter und Antwort jedes einzelnen Aufrufs. Hier bestätigst du über die Zeit, dass der Agent die richtige Action mit den richtigen Werten aufruft:

Das Call Log der Lead-Action mit Gesamtaufrufen, Erfolgsrate, durchschnittlicher Latenz und einem kürzlich erfolgreichen Aufruf Das Call Log pro Action: wie oft sie läuft, wie oft sie erfolgreich ist und was jeder Aufruf gesendet und empfangen hat.

Das ist der vollständige Ablauf: eine Unterhaltung, eine Entscheidung des Agent, ein Action-Aufruf und eine verwertbare Zeile. Die übrigen drei Reports folgen demselben Muster.

Schritt 6: Die anderen drei Reports hinzufügen

Jeder Report braucht zwei Dinge: einen Tab in deinem Sheet und eine neue AI Action, die daran anhängt.

Die drei Tabs hinzufügen

Öffne dein Sheet (den Link Open sheet im Google-Sheets-Dialog) und füge drei Tabs hinzu (Unanswered, Feedback, Demos), jeweils mit der Header-Zeile, die unten im jeweiligen Report angegeben ist.

Jede Action bauen

Öffne Actions & MCPs, füge eine benutzerdefinierte HTTP Request-Action hinzu und fülle sie aus. Die Methode (POST) und die Header sind identisch zur Lead-Action. Für die URL kopierst du die vollständige URL direkt aus deiner Lead-Action und änderst nur den Tab-Namen (Leads zu Unanswered, Feedback oder Demos). Da diese URL bereits die ID deiner Tabelle enthält, musst du nichts weiter verbinden:

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

Nur der Tab-Name, die Parameter, der Body und die Beschreibung ändern sich von Report zu Report.

Report 2: Unbeantwortete Fragen

Der nützlichste Report. Der Agent zeigt dir genau, wo seinem Wissen etwas fehlt und welche Interessenten du ohne Antwort zurückgelassen hast. Das ist deine Content-Roadmap.

Dieser Report funktioniert nur, wenn dem Agent die Antwort wirklich fehlt, die Lücke muss also echt sein. Wenn du den Test-Agent einrichtest, lasse die Fakten, die er markieren soll, bewusst weg. Der Tideline Agent kennt seine Pläne und Integrationen, weiß aber nichts über Sicherheitszertifizierungen. Daher ist eine SOC-2-Frage eine echte Lücke und nicht ein Fakt, den er hätte nennen können. Wenn du jedes Faktum in sein Wissen lädst, hat dieser Report nichts zu erfassen.

Tab Unanswered, Header-Zeile:

QuestionWhy we couldn’t answerEmailConversation linkChannel

Parameter:

ParameterRequiredDescription
questionYesDie Frage des Besuchers, in seinen eigenen Worten.
reasonYesKurz, warum du nicht vollständig antworten konntest: nicht in deinem Wissen, braucht einen Menschen, oder der Besucher war unzufrieden.
emailNoDie E-Mail-Adresse des Besuchers, falls er eine geteilt hat. Andernfalls leer lassen.

Body:

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

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

Rufe dies immer dann auf, wenn du eine Sachfrage aus deinem Wissen nicht vollständig beantworten kannst, der Besucher darum bittet, mit einem Menschen zu sprechen, oder der Besucher unzufrieden wirkt. Wenn deine Antwort sagt, dass du die angefragte Information nicht hast, nicht finden kannst, nicht bestätigen kannst oder dir nicht sicher bist, MUSST du diese Action im selben Turn aufrufen. Protokolliere die Lücke auch dann, wenn du eine Teilantwort gegeben hast. Rufe sie nicht für Fragen auf, die du vollständig beantwortet hast, nicht für Preise (wird von der Lead-Action behandelt) und nicht für Feature Requests (wird von der Feedback-Action behandelt).

Getestet mit einer Sicherheitsfrage, auf die der Agent keine Antwort hat:

Der Agent lehnt es ab, eine SOC-2-Frage zu bestätigen, und bietet an, sie zu markieren Der Agent sagt klar, dass er es nicht bestätigen kann, und markiert die Frage für das Team.

Die Zeile, die er in den Tab Unanswered schreibt:

Die unbeantwortete SOC-2-Frage, erfasst im Tab Unanswered Die Lücke, mit Grund und Link zurück zur Unterhaltung erfasst. Die Zelle Email ist leer, weil dieser Besucher keine E-Mail-Adresse geteilt hat.

Report 3: Feedback

Jedes „Unterstützt ihr X?“ und „Ich wünschte, es könnte Y“ wird zu einem priorisierten Backlog, zusammen mit den eigenen Worten des Kunden.

Tab Feedback, Header-Zeile:

TypeSummaryWhy / use caseEmailConversation link

Parameter:

ParameterRequiredDescription
typeYesEiner von: feature request, bug, praise.
summaryYesEine kurze Zusammenfassung des Feedbacks in den eigenen Worten des Besuchers.
contextNoWarum er es möchte oder wie er es verwenden würde, falls erwähnt.
emailNoDie E-Mail-Adresse des Besuchers, falls geteilt. Andernfalls leer lassen.

Body:

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

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

Rufe dies auf, wenn ein Besucher ein Feature, eine Fähigkeit oder eine Integration wünscht (unabhängig davon, ob du sie aktuell anbietest), einen Bug oder ein Problem meldet oder deutliches Lob zum Produkt gibt. Setze type auf einen von: feature request, bug, praise. Rufe dies nicht für neutrale Informationsfragen auf.

Getestet mit einer Anfrage nach einer Integration, die das Unternehmen nicht anbietet:

Der Agent erklärt, dass es keine native QuickBooks-Integration gibt, und protokolliert die Anfrage Der Agent nennt die vorhandenen Integrationen, lehnt klar ab und protokolliert die Anfrage als Feedback.

Die Zeile, die er in den Tab Feedback schreibt:

Der QuickBooks Feature Request, erfasst im Tab Feedback Jede Zeile ist typisiert (feature request, bug oder praise), in den Worten des Besuchers zusammengefasst und zurück zur Unterhaltung verlinkt.

Report 4: Demo-Anfragen

Wenn jemand ausdrücklich sprechen möchte, erfasse eine strukturierte, sales-fertige Zeile.

Tab Demos, Header-Zeile:

NameEmailCompanyUse caseConversation link

Parameter:

ParameterRequiredDescription
nameNoDer Name des Besuchers, falls geteilt. Andernfalls leer lassen.
emailYesDie beste E-Mail-Adresse, unter der das Team ihn erreichen kann.
companyNoDer Unternehmensname, falls geteilt.
use_caseNoWas er erreichen oder besprechen möchte, falls erwähnt.

Body:

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

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

Rufe dies nur auf, wenn der Besucher ausdrücklich darum bittet, eine Demo zu buchen, einen Call zu planen oder mit einem Sales-Mitarbeiter zu sprechen. Sammle zuerst seine E-Mail-Adresse und, falls angeboten, seinen Namen und sein Unternehmen. Rufe dies nicht nur deshalb auf, weil jemand eine E-Mail-Adresse geteilt oder nach Preisen gefragt hat. Nutze die Lead-Action für allgemeines Kaufinteresse.

Getestet mit einer ausdrücklichen Demo-Anfrage:

Der Agent bestätigt eine Demo-Anfrage und notiert die Details des Besuchers Der Agent bestätigt die Demo und notiert Name, Unternehmen und Schwerpunkt.

Die Zeile, die er in den Tab Demos schreibt:

Die Demo-Anfrage, erfasst im Tab Demos mit Name, E-Mail, Unternehmen und Use Case Eine strukturierte, sales-fertige Zeile: wer, wo die Person arbeitet und was sie sehen möchte.

Alle vier Reports schreiben in dieselbe Tabelle, jeweils in einen eigenen Tab, und füllen sich, während Unterhaltungen stattfinden.

Reports feinabstimmen

Die Reports oben haben beim ersten Versuch nicht gut funktioniert, und der Prozess ihrer Korrektur ist der wertvollste Teil zum Kopieren, weil du damit deine eigenen Reports richtig einstellst. Die Schleife ist jedes Mal gleich:

  1. Spiele den Besucher. Öffne AI Preview und führe genau die Unterhaltung, die ein echter Besucher führen würde.
  2. Lies das Ergebnis, nicht nur die Antwort. Öffne den Sheet-Tab und das call log der Action (beides in Schritt 5 gezeigt) und sieh dir die geschriebene Zeile sowie die Parameter an, die der Agent tatsächlich gesendet hat.
  3. Finde die Lücke. Vergleiche, was protokolliert wurde, mit dem, was hätte protokolliert werden sollen.
  4. Ändere eine Sache. Bearbeite die description der Action (sie steuert, wann die Action ausgelöst wird) oder den Prompt-Block, aber nur jeweils eins, damit du weißt, was den Unterschied gemacht hat.
  5. Führe dieselbe Unterhaltung erneut aus und bestätige, dass die Zeile jetzt korrekt ist.

Zwei Änderungen aus dieser Schleife waren am wichtigsten, und beide kamen direkt aus einer schlechten Zeile:

Zwei durch Simulation gefundene Korrekturen: der Lead, der zu früh mit leerer E-Mail protokolliert wurde, korrigiert durch Anfordern der E-Mail und Trigger darauf; und die Wissenslücke, die nichts protokollierte, korrigiert durch deutlichere Formulierung Die zwei entscheidenden Änderungen, jeweils gefunden durch das Ausführen einer Unterhaltung und das Lesen der erzeugten Zeile.

Fix 1: Der Lead wurde zu früh ausgelöst. Die erste Beschreibung knüpfte den Trigger an die Frage: „Rufe dies auf, wenn der Besucher nach Preisen, Plänen oder Kosten fragt.“ Bei einer Preisunterhaltung antwortete der Agent und protokollierte den Lead im selben Turn, bevor der Besucher eine E-Mail-Adresse angegeben hatte. Die Zeile landete als [ (leer), "Growth plan cost", link, simulation ]: ein Lead ohne Möglichkeit zum Nachfassen. Die Lösung war, den Trigger von der Frage auf die Kontaktdaten zu verschieben. Die Beschreibung sagt jetzt, dass die Action nur in dem Turn aufgerufen werden soll, in dem der Besucher tatsächlich eine E-Mail-Adresse angegeben hat, und der Parameter email ist als required markiert. Beim erneuten Ausführen derselben Unterhaltung beantwortete der Agent die Preisfrage, protokollierte in diesem Turn nichts und schrieb die Zeile erst, nachdem der Besucher eine Adresse geteilt hatte.

Fix 2: Die Wissenslücke blieb stumm. Der Report für unbeantwortete Fragen war am schwersten zuverlässig auszulösen. Die erste Beschreibung („Rufe dies auf, wenn du eine Frage nicht beantworten kannst“) tat fast nichts: Auf die Frage, ob das Produkt SOC 2 zertifiziert sei, sagte der Agent korrekt, dass er es nicht bestätigen könne, und verwies den Besucher ans Team, protokollierte aber gar nichts. Für das Modell fühlt sich „Ich weiß es nicht“ bereits wie eine vollständige Antwort an, daher bleibt kein Signal übrig, das es zusätzlich zur Erfassung der Lücke bewegt. Die Lösung war deutliche Formulierung: Die Beschreibung sagt jetzt, dass die Action im selben Turn aufgerufen werden MUSS, wenn die Antwort sagt, dass der Agent etwas nicht bestätigen kann oder sich nicht sicher ist. Damit erzeugte dieselbe SOC-2-Frage sowohl die ehrliche Antwort als auch eine Zeile im Tab Unanswered. Dieser Report bleibt der am stärksten urteilsgesteuerte der vier, weil er davon abhängt, dass der Agent seine eigene Lücke bemerkt, statt auf ein ausdrückliches Besuchersignal zu reagieren. Am zuverlässigsten wird er ausgelöst, wenn der Besucher zusätzlich um eine Rückmeldung bittet.

Was der Prompt-Block tut und nicht tut. Die Action-Beschreibungen entscheiden, wann jeder Report ausgelöst wird. Der Prompt-Block aus Schritt 4 erfüllt drei separate Aufgaben: Er sagt dem Agent, dass die Reports nicht optional sind, er trennt überlappende Fälle (eine Preisfrage ist ein Lead, keine unbeantwortete Frage), und er legt die Regel fest, vor dem Protokollieren eines Leads nach einer E-Mail-Adresse zu fragen. Eine ehrliche Einschränkung aus dem Testen: Ob der Agent proaktiv nach einer E-Mail-Adresse fragt, wenn ein Besucher Interesse zeigt, ohne eine anzugeben, variiert von Lauf zu Lauf. Verlasse dich also nicht darauf. Die Garantie, dass du nie einen Lead mit leerer E-Mail erhältst, ist der required email parameter plus die Trigger-Formulierung, nicht der Prompt.

Skalierbares Testen mit Simulation

Sobald ein Report funktioniert, kannst du mit Simulation (unter Testing in der Seitenleiste) prüfen, dass er nicht regressiert. Du gibst einen Datensatz mit Testnachrichten vor, Simulation spielt sie alle durch deinen Agent ab, und ein evaluator (ein LLM, das jede Antwort anhand einer von dir geschriebenen Rubrik auf einer Skala von 1 bis 5 bewertet) bewertet die Antworten für dich. Das ist das richtige Werkzeug, um Einbrüche in der Qualität dessen, was der Agent sagt, über viele Fälle auf einmal zu erkennen.

Ein Simulation-Lauf mit einem Datensatz aus vier Nachrichten: jede Testnachricht, die Antwort des Agent und die Bewertung des Evaluator von 1 bis 5 mit Begründung Ein Simulation-Lauf über die vier Report-Szenarien. Jede Zeile ist eine Testnachricht, die Antwort des Agent sowie Score und Begründung des Evaluator. Hier bestehen alle vier mit 5 von 5.

Eine wichtige Grenze: Der Evaluator sieht nur den Antworttext, nicht dein Spreadsheet. Er kann nicht bestätigen, dass die richtige Zeile im richtigen Tab gelandet ist. Verwende dafür das Sheet und das Action Call Log aus Schritt 5, worauf genau die oben beschriebene Feinabstimmungsschleife beruht.

Ein operativer Hinweis. Jede Testunterhaltung verbraucht die monatlichen AI Messages deines Agent. Wenn der Agent mitten im Testen plötzlich eine „unavailable“-Meldung zurückgibt, hast du das Limit erreicht. Das ist kein Bug.

Live gehen

Sobald die vier Actions eingeschaltet sind und der Prompt-Block vorhanden ist, deploye deinen Agent auf seinen echten Kanälen. Es gibt nichts weiter zu konfigurieren: Dieselben Actions laufen für das Web-Widget, Slack, WhatsApp und die übrigen Kanäle, und die Spalte Channel erfasst, woher jede Zeile stammt. Dein Team sieht zu, wie sich das Sheet in Echtzeit füllt, und jede Zeile verlinkt direkt zurück zu der Unterhaltung, die sie erzeugt hat.

Häufig gestellte Fragen

Brauche ich Code, um einen AI Agent mit Google Sheets zu verbinden?

Nein. Die Google-Sheets-Verbindung erfolgt mit einem Klick, und jede Action-Beschreibung, jeder Prompt und jeder Request Body, den du brauchst, wird in dieser Anleitung als Copy-and-paste-Block bereitgestellt. Du schreibst oder hostest keinen Code.

Brauche ich Zapier oder einen Webhook, um meinen AI Agent mit Google Sheets zu verbinden?

Nein. Quickchat AI verbindet sich direkt über eine AI Action mit Google Sheets, einen nativen HTTP-Request, den der Agent während der Unterhaltung ausführt. Es gibt kein Zapier, keinen Webhook-Dienst und keinen Engineer dazwischen. Ein Klick erstellt das Sheet und die erste Logging-Action für dich.

Sind meine Google-Drive-Daten sicher?

Ja. Die Integration fordert nur den OAuth-Scope drive.file an. Dieser gewährt ausschließlich Zugriff auf Dateien, die die App selbst erstellt, zum Beispiel das Sheet, das sie für dich anlegt. Sie kann nichts anderes in deinem Drive lesen oder ändern, und das Access Token wird dem KI-Modell nie offengelegt.

Kann ich auch andere Dinge als Leads protokollieren?

Ja. Die Integration ist ein universeller Logger. Die Starter-Action ist für Leads voreingestellt, weil das der häufigste Anwendungsfall ist. Die Spalten bestehen aber nur aus dem Body der Action plus der Header-Zeile des Sheets. Du kannst sie also bearbeiten, um unbeantwortete Fragen, Feature Requests, Demo-Buchungen oder etwas anderes zu protokollieren, wie diese Anleitung zeigt.

Auf welchen Kanälen funktioniert das Logging in Google Sheets?

Auf allen. Dieselben Actions laufen überall dort, wo dein Agent eingesetzt wird (Web-Widget, Slack, WhatsApp und mehr), und die Spalte Channel erfasst, woher jede Zeile stammt.

Kostet das etwas, und verbraucht das Testen meine AI Messages?

Du kannst kostenlos starten, und die Google-Sheets-Verbindung selbst verursacht keine zusätzlichen Kosten. Jede Unterhaltung, einschließlich der Unterhaltungen, die du beim Testen in AI Preview und Simulation ausführst, zählt zu den monatlichen AI Messages deines Plans. Intensives Testen verbraucht also dasselbe Kontingent wie Live-Chats.

Was passiert, wenn ich die Starter-Logging-Action lösche?

Du kannst sie wiederherstellen. Öffne Add Action, wähle erneut Google Sheets und nutze Reconnect: Die Integration führt das One-Click-Setup erneut aus, erstellt die Action log_lead_to_google_sheet neu und verwendet dein bestehendes Sheet weiter (sie erstellt nie ein zweites). Wenn du bereits verbunden bist, bietet der Verbindungsdialog diese Reconnect-Option direkt an.

Der Verbindungsdialog, nachdem die Logging-Action gelöscht wurde, mit dem Angebot, erneut zu verbinden und die Action wieder hinzuzufügen Wenn die Starter-Action nicht mehr vorhanden ist, sagt der Dialog das und bietet einen One-Click-Weg, sie neu zu erstellen. Dein Sheet bleibt verbunden.

Ein ausgearbeitetes Beispiel für eine Produkt-Community findest du im Discord-to-Google-Sheets-Feedback-Tutorial. Es erfasst ausdrückliche Einreichungen zur Prüfung durch das Team, unterscheidet dokumentierte Einschränkungen von fehlenden Antworten und testet die erfassten Inhalte ebenso wie die Antwort.

Zusammenfassung

Eine AI Action ist ein beschriebener HTTP-Request, und eine Google-Sheet-Zeile ist ein solcher Request. Verbinde Google einmal, forme die Starter-Action zu deinem Lead-Report, füge den Reporting-Block ein und füge dann für jeden weiteren gewünschten Report einen Tab und eine Action hinzu. Die Spalten gehören dir: Sie sind der Body der Action, keine feste Vorlage. Die Einstellungen und der Prompt in diesem Beitrag sind diejenigen, mit denen die hier gezeigten Zeilen erzeugt wurden. Du kannst sie also kopieren, deine eigenen Produktdetails einsetzen und dieselben Tests ausführen, um zu bestätigen, dass dein Agent funktioniert, bevor du ihn echten Besuchern zeigst.

Setze ein Lesezeichen für diese Anleitung. Die laufend aktualisierte Referenz für AI Actions findest du in der Dokumentation unter docs.quickchat.ai/ai-agent/actions, und die API-Referenz für AI Actions enthält die vollständige Feldliste.