# Deinen KI-Agenten mit Dateien aus Google Drive trainieren

> Verbinde Google Drive mit einem intoCHAT-Agenten, wähle Docs, Sheets, Slides, PDFs, Word-, Text- und Markdown-Dateien aus, halte sie synchron: die Limits und wie du die Google-App einrichtest.

Liegen deine FAQs, Preislisten, Richtlinien oder Produktblätter in Google Drive, kannst du diese Dateien auswählen, und dein Agent lernt aus ihnen. intoCHAT kann nur die Dateien öffnen, die du auswählst. Es liest sie und ändert in deinem Drive nie etwas.

> Die Option **Drive** unter **Add knowledge** zeigt „Google Drive isn't configured on this server.“, wenn Google Drive für diese intoCHAT-Installation nicht eingerichtet ist. Du kannst die Dateien dann aus Google Drive als PDF, Word oder Text herunterladen und als [Dateien](/de/docs/files) hochladen. Betreibst du die Installation selbst, lies [Die Google-App einrichten](#die-google-app-einrichten).

## Was du importieren kannst

| Datei in Drive | Wie intoCHAT sie liest |
|---|---|
| Google Docs | Als Markdown exportiert, Überschriften und Listen bleiben also erhalten (als reiner Text, wenn Google kein Markdown exportieren kann) |
| Google Sheets | Jedes Tabellenblatt, als Überschrift mit dem Namen des Blatts und seinen Zeilen als CSV. Bis zu 1.000 Zeilen pro Blatt werden gelesen |
| Google Slides | Als reiner Text exportiert |
| PDF | Heruntergeladen und wie ein hochgeladenes PDF gelesen |
| Word (`.docx`) | Heruntergeladen und wie eine hochgeladene Word-Datei gelesen |
| Text (`.txt`) und Markdown (`.md`) | Unverändert heruntergeladen |

Andere Dateien wie Bilder, Videos, Google Forms oder Ordner erscheinen nicht in der Dateiauswahl. Ein gescanntes PDF ohne Textebene lässt sich nicht lesen; lass vorher eine Texterkennung (OCR) darüber laufen.

## Nur die Dateien, die du auswählst

intoCHAT bittet Google nur um die Berechtigung `drive.file`. Damit kann intoCHAT die Dateien öffnen, die du in der Dateiauswahl von Google wählst, und sonst nichts in deinem Drive:

- Es kann deine anderen Dateien, Ordner oder geteilten Ablagen weder auflisten noch durchsuchen noch lesen.
- Jede Datei, die du auswählst, gibt Google in dem Moment für intoCHAT frei, in dem du sie auswählst. Wurde der Zugriff entfernt, gibst du ihn zurück, indem du die Datei später erneut auswählst.
- Auf dem Zustimmungsbildschirm von Google erscheint das als „See, edit, create, and delete only the specific Google Drive files you use with this app“. intoCHAT liest sie nur.

Die Dateiauswahl selbst gehört Google: Sie zeigt dein Drive, damit du wählen kannst, aber intoCHAT erfährt nur von den Dateien, die du auswählst.

## Google Drive verbinden

1. Öffne den Tab **Knowledge** (Wissen) des Agenten und wähle unter **Add knowledge** die Option **Drive**.
2. Klicke auf **Connect Google Drive**. Der Zustimmungsbildschirm von Google öffnet sich.
3. Wähle dein Google-Konto und erlaube den Zugriff. Zeigt Google ein Kästchen für Google Drive, lass den Haken gesetzt.
4. Du landest wieder im Tab **Knowledge**, der „Google Drive connected“ und unter **Connected as** dein Google-Konto zeigt.

Die Verbindung gehört zu deinem intoCHAT-Konto, alle deine Agenten können also daraus importieren. Es ist jeweils ein Google-Konto verbunden; verbindest du erneut, ersetzt das die bisherige Verbindung. Brichst du bei Google ab, wird nichts verbunden. Brauchst du dort länger als 10 Minuten, starte noch einmal über die Option **Drive**.

Verbinden und Trennen erfordern die Stufe **Manage** für Integrationen, der Owner und Admins können es also. Siehe [Team](/de/docs/team).

## Dateien importieren

1. Klicke auf **Add from Google Drive**. Die Dateiauswahl von Google öffnet sich.
2. Wähle bis zu 10 Dateien aus. Die Auswahl hat einen Tab für dein eigenes Drive und einen für geteilte Ablagen. Ordner lassen sich öffnen, damit du Dateien darin wählen kannst.
3. Klicke auf **Select**. intoCHAT liest die Dateien, was einige Sekunden pro Datei dauern kann.

Wurden Dateien hinzugefügt oder aktualisiert, startet das Training von selbst. Eine Meldung fasst den Import zusammen, zum Beispiel „3 added, 1 updated, 0 unchanged“. Jede Datei wird eine Quelle vom Typ **Google Drive** mit dem Dateinamen als Namen, einem Link zur Datei in Drive und dem Zeitpunkt ihrer letzten Änderung.

- **Alles oder nichts.** Lässt sich eine Datei nicht lesen oder würden die Dateien das Zeichenlimit des Agenten überschreiten, wird nichts importiert, und dein Wissen bleibt, wie es war. Die Meldung nennt die Datei, wenn möglich. Beim Überschreiten des Limits zeigt intoCHAT **Character limit reached**.
- **Erneutes Auswählen aktualisiert.** Die bestehende Quelle bekommt den neuen Text, statt dass eine zweite Kopie entsteht. Eine Datei, deren Text sich nicht geändert hat, bleibt, wie sie ist.
- **Leere Dateien werden übersprungen** und als „skipped (no text)“ aufgeführt.
- **Große Tabellen werden gekürzt.** Nur die ersten 1.000 Zeilen jedes Blatts werden gelesen, und die Meldung nennt die Tabelle. Teile ein größeres Blatt auf mehrere Blätter oder Dateien auf.

Mitglieder mit der Stufe **Edit** für Wissen können Dateien auswählen und importieren. Sie wählen aus dem Drive des verbundenen Google-Kontos, gib diese Stufe also nur Leuten, denen du das anvertraust.

## Dateien aktuell halten

Importierter Text ändert sich nicht, wenn du die Datei in Drive bearbeitest. So übernimmst du deine Änderungen:

- **Klicke auf Sync now** in der Option **Drive**. intoCHAT prüft, wann jede Drive-Datei des Agenten zuletzt geändert wurde, und liest nur die geänderten neu. Nur Dateien mit geändertem Text werden neu trainiert.
- **Schalte Auto-resync ein.** Täglich oder wöchentlich macht intoCHAT dieselbe Prüfung für dich. Drive-Dateien verbrauchen keine Website-Crawls, und ein Durchlauf liest bis zu 30 Drive-Dateien. Siehe [Auto-resync](/de/docs/managing-sources#auto-resync).
- **Wähle die Datei erneut aus** mit **Add from Google Drive**.

Eine in Drive umbenannte Datei übernimmt ihren neuen Namen bei der nächsten Prüfung.

Wurde eine Datei gelöscht, in den Papierkorb verschoben oder darf intoCHAT sie nicht mehr öffnen, schlägt die Prüfung mit einer Meldung an der Quelle fehl, und der gespeicherte Text bleibt in deinem Wissen. Wähle die Datei erneut aus oder lösch die Quelle, wenn du sie nicht mehr brauchst.

## Limits

| Limit | Wert |
|---|---|
| Dateien pro Import | 10 |
| Dateigröße (PDF, Word, Text, Markdown) | 50 MB, wie beim Hochladen |
| Text pro Datei | 4 MB, wie beim Hochladen |
| Google Docs und Slides | Was Google exportieren kann: bis zu 10 MB Text |
| Google Sheets | 1.000 Zeilen pro Blatt |
| Zeichen | Zählen wie jede Quelle auf das Zeichenlimit des Agenten. Siehe [Pläne und Limits](/de/docs/plans-and-limits) |

## Drive-Dateien bleiben privat

- Drive-Dateien erscheinen nie als Quellenlinks unter einer Antwort. Nur Webseiten bekommen Links.
- Der Agent sieht den Namen einer Datei, aber nicht ihre Drive-Adresse, und kann den Link deshalb nicht an Besucher weitergeben.
- intoCHAT speichert seinen Zugriff auf dein Google-Konto verschlüsselt, und der Browser bekommt immer nur einen kurzlebigen Zugriff für die Dateiauswahl.

> Alles im Wissen des Agenten kann in einer Antwort landen. Importiere nur Dateien, deren Text du auch Besuchern zeigen würdest.

## Google Drive trennen

Klicke in der Option **Drive** auf **Disconnect** (trennen). Im Dialog wählst du, was mit den importierten Dateien passiert:

- **Behalten (Standard).** Sie bleiben im Wissen all deiner Agenten, so wie sie jetzt sind, werden aber nicht mehr synchron gehalten. Auto-resync markiert sie mit „Google Drive was disconnected. Connect Google Drive and pick this file again to keep it in sync.“
- **Also delete the … files imported from Google Drive, in all your agents.** Setz hier einen Haken, um sie ebenfalls zu entfernen.

intoCHAT widerruft seinen Zugriff bei Google und löscht den gespeicherten Zugriff. Du kannst intoCHAT auch in deinem Google-Konto unter **Security → Third-party apps & services** (Sicherheit, Drittanbieter-Apps und -Dienste) entfernen. Tust du das nur dort, zeigt die nächste Prüfung „Google Drive access was revoked or has expired. Reconnect Google Drive to keep this file in sync.“

## Wenn etwas schiefgeht

| Meldung | Was du tun kannst |
|---|---|
| „Google Drive isn't configured on this server.“ | Google Drive ist für diese Installation nicht eingerichtet. Lade die Dateien stattdessen unter **Files** hoch, oder richte die Google-App wie unten beschrieben ein. |
| „Google didn't grant access to the files you pick.“ | Verbinde erneut und lass auf dem Bildschirm von Google den Haken bei Google Drive gesetzt. |
| „This file was deleted in Google Drive, or intoCHAT can no longer open it.“ | Wähle die Datei erneut aus Google Drive aus oder lösch die Quelle. |
| „This file is in the Google Drive trash.“ | Stell sie in Drive wieder her oder lösch die Quelle. |
| „intoCHAT is no longer allowed to open this file.“ | Bitte den Eigentümer der Datei um Zugriff und wähle sie dann erneut aus. |
| „The file's owner turned off downloading, so intoCHAT can't read it.“ | Bitte den Eigentümer, das Herunterladen zu erlauben, oder erstelle eine Kopie, die dir gehört. |
| „Google can't export this file because it is too large“ | Teile das Doc oder die Slides in kleinere Dateien auf. |
| „Google Drive is limiting requests right now.“ | Warte ein paar Minuten und versuche es dann erneut. |
| **Reconnect Google Drive** erscheint | Der Zugriff von intoCHAT wurde widerrufen oder ist abgelaufen. Klicke darauf, um neu zu verbinden. |

## Die Google-App einrichten

Dieser Abschnitt richtet sich an die Person, die die intoCHAT-Installation betreibt. Kunden von intoCHAT brauchen ihn nicht.

Google Drive braucht einen OAuth-Client, einen API-Schlüssel und die Projektnummer aus einem einzigen Google-Cloud-Projekt:

1. Lege in der [Google Cloud console](https://console.cloud.google.com/) ein Projekt an oder wähle eines aus.
2. Aktiviere unter **APIs & Services → Library** die **Google Drive API** und die **Google Picker API**.
3. Richte unter **Google Auth Platform** den Zustimmungsbildschirm ein: den App-Namen, eine Support-E-Mail-Adresse, deine Domain und Links zu deiner Datenschutzerklärung und deinen Nutzungsbedingungen. Wähle **External** als Zielgruppe. Füge unter **Data access** den Scope `https://www.googleapis.com/auth/drive.file` hinzu. Er ist ein nicht sensibler Scope, die App braucht also nur die einfache Markenprüfung von Google, nicht die Sicherheitsbewertung für eingeschränkte Scopes.
4. Lege unter **Clients** (oder **Credentials → Create credentials → OAuth client ID**) einen Client vom Typ **Web application** an:
   - **Authorized redirect URI:** die Adresse deiner App, gefolgt von `/api/integrations/google-drive/callback`, zum Beispiel `https://www.example.com/api/integrations/google-drive/callback`. Sie muss genau zu `NEXT_PUBLIC_APP_URL` passen.
   - **Authorized JavaScript origin:** die Adresse deiner App, zum Beispiel `https://www.example.com`.
   - Speichere die Client-ID als `GOOGLE_DRIVE_CLIENT_ID` und das Client-Secret als `GOOGLE_DRIVE_CLIENT_SECRET`.
5. Lege unter **Credentials → Create credentials → API key** einen Schlüssel für die Dateiauswahl an. Beschränke ihn auf **Websites** mit der Adresse deiner App und auf die **Google Picker API**. Speichere ihn als `NEXT_PUBLIC_GOOGLE_DRIVE_API_KEY`.
6. Kopiere die **project number** (Projektnummer, nicht die Projekt-ID) aus dem Dashboard des Projekts oder unter **IAM & Admin → Settings** und speichere sie als `NEXT_PUBLIC_GOOGLE_DRIVE_APP_ID`. Es muss das Projekt des OAuth-Clients sein: Google gibt ausgewählte Dateien für genau diese App frei.
7. Deploye neu. Sind alle vier Einstellungen vorhanden, bietet die Option **Drive** **Connect Google Drive** an.

Tokens werden mit `TOKEN_ENCRYPTION_KEY` verschlüsselt (oder mit `NEXTAUTH_SECRET`, wenn dieser nicht gesetzt ist). Änderst du dieses Secret, lassen sich die gespeicherten Verbindungen nicht mehr lesen, und Owner müssen neu verbinden.

Solange der Zustimmungsbildschirm im Status **Testing** ist, können sich nur die Testnutzer verbinden, die du hinzufügst, und Google lässt ihren Zugriff nach 7 Tagen ablaufen. Veröffentliche die App mit **In production** für alle.
