> ## Documentation Index
> Fetch the complete documentation index at: https://revolai.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Workspace

> Verbinden Sie Gmail, Google Docs, Sheets, Drive, Calendar und Meet

## Ueberblick

Sechs Google-Dienste sind ueber einen gemeinsamen OAuth-Flow verfuegbar. Verbinden Sie sich einmal mit Ihrem Google-Konto — und Ihre KI-Agenten erhalten Zugriff auf E-Mail, Dokumente, Tabellen, Dateien, Kalender und Videokonferenzen.

## Unterstuetzte Dienste

| Dienst              | Tools | Beschreibung                                                                                |
| ------------------- | ----- | ------------------------------------------------------------------------------------------- |
| **Gmail**           | 6     | E-Mails senden, Posteingang lesen, suchen, antworten, Entwuerfe erstellen, Anhaenge abrufen |
| **Google Docs**     | 5     | Erstellen, lesen, anhaengen, suchen und Dokumente exportieren                               |
| **Google Sheets**   | 7     | Bereiche lesen/schreiben, Zeilen anhaengen, suchen, Tabellen erstellen                      |
| **Google Drive**    | 8     | Auflisten, suchen, hochladen, herunterladen, Dateien und Ordner teilen                      |
| **Google Calendar** | 6     | Termine erstellen, Verfuegbarkeit pruefen, freie Zeitfenster finden                         |
| **Google Meet**     | 1     | Videokonferenz-Links erstellen                                                              |

## Authentifizierung

Alle Google Workspace-Integrationen verwenden **OAuth 2.0** mit Offline-Zugriff:

<Steps>
  <Step title="Integration hinzufuegen">
    Gehen Sie zu **Integrationen** → **Integration hinzufuegen** → waehlen Sie einen beliebigen Google-Dienst (z.B. Gmail).
  </Step>

  <Step title="OAuth-Zustimmung">
    Klicken Sie auf "Mit Google verbinden". Sie werden zum Google-Zustimmungsbildschirm weitergeleitet, wo Sie den Zugriff auf den jeweiligen Dienst autorisieren.
  </Step>

  <Step title="Token-Speicherung">
    Revol erhaelt ein Access-Token und ein Refresh-Token. Beide werden verschluesselt in der Datenbank gespeichert. Das Refresh-Token bietet langfristigen Zugriff — Revol aktualisiert abgelaufene Access-Tokens automatisch.
  </Step>

  <Step title="Tools bereitgestellt">
    Nach erfolgreicher OAuth-Autorisierung werden Agenten-Tools automatisch basierend auf dem Integrationstyp erstellt.
  </Step>
</Steps>

### OAuth-Berechtigungen

Jeder Dienst fordert nur die benoetigten Berechtigungen an:

| Dienst          | Berechtigung                                                   |
| --------------- | -------------------------------------------------------------- |
| Gmail           | `gmail.modify`                                                 |
| Google Docs     | `documents`, `drive.file`                                      |
| Google Sheets   | `spreadsheets`, `drive.file`                                   |
| Google Drive    | `drive`                                                        |
| Google Calendar | `calendar`                                                     |
| Google Meet     | `calendar` (Meet-Links werden ueber die Calendar API erstellt) |

## Agenten-Tools

<Tabs>
  <Tab title="Gmail">
    | Tool              | Beschreibung                                                                    |
    | ----------------- | ------------------------------------------------------------------------------- |
    | `send_email`      | Eine E-Mail mit Betreff, Text, optionalem CC/BCC verfassen und senden           |
    | `read_inbox`      | Aktuelle E-Mails aus dem Posteingang auflisten                                  |
    | `search_emails`   | E-Mails mit Gmail-Abfragesyntax suchen (von, Betreff, Datum, Schluesselwoerter) |
    | `reply_to_email`  | Auf einen bestimmten E-Mail-Thread antworten                                    |
    | `create_draft`    | Einen E-Mail-Entwurf erstellen, ohne zu senden                                  |
    | `get_attachments` | E-Mail-Anhaenge herunterladen oder inspizieren                                  |
  </Tab>

  <Tab title="Google Docs">
    | Tool                 | Beschreibung                                     |
    | -------------------- | ------------------------------------------------ |
    | `create_document`    | Ein neues Google Doc erstellen                   |
    | `read_document`      | Den Inhalt eines Dokuments anhand der ID lesen   |
    | `append_to_document` | Text am Ende eines Dokuments anhaengen           |
    | `search_documents`   | Dokumente nach Titel oder Inhalt in Drive suchen |
    | `export_document`    | Dokument als PDF, DOCX oder Klartext exportieren |
  </Tab>

  <Tab title="Google Sheets">
    | Tool                 | Beschreibung                                          |
    | -------------------- | ----------------------------------------------------- |
    | `read_range`         | Daten aus einem Zellbereich lesen (z.B. A1:D10)       |
    | `write_range`        | Daten in einen Zellbereich schreiben                  |
    | `append_rows`        | Zeilen am Ende eines Blatts anhaengen                 |
    | `search_rows`        | Nach Zeilen suchen, die einem Spaltenwert entsprechen |
    | `create_spreadsheet` | Eine neue Tabelle erstellen                           |
    | `get_info`           | Tabellen-Metadaten abrufen (Blaetter, Zeilenanzahl)   |
    | `update_cells`       | Bestimmte Zellen aktualisieren                        |
  </Tab>

  <Tab title="Google Drive">
    | Tool            | Beschreibung                                                       |
    | --------------- | ------------------------------------------------------------------ |
    | `list_files`    | Dateien in einem Ordner auflisten                                  |
    | `search_files`  | Dateien nach Name, Typ oder Inhalt suchen                          |
    | `read_file`     | Dateiinhalt herunterladen oder lesen                               |
    | `create_file`   | Eine neue Datei hochladen                                          |
    | `update_file`   | Inhalt oder Metadaten einer bestehenden Datei aktualisieren        |
    | `delete_file`   | Eine Datei in den Papierkorb verschieben                           |
    | `create_folder` | Einen neuen Ordner erstellen                                       |
    | `share_file`    | Eine Datei mit bestimmten Benutzern teilen oder oeffentlich machen |
  </Tab>

  <Tab title="Calendar und Meet">
    **Google Calendar:**

    | Tool                 | Beschreibung                                                    |
    | -------------------- | --------------------------------------------------------------- |
    | `create_event`       | Einen Kalendertermin mit Teilnehmern und Erinnerungen erstellen |
    | `list_events`        | Kommende Termine in einem Datumsbereich auflisten               |
    | `update_event`       | Details eines bestehenden Termins aktualisieren                 |
    | `delete_event`       | Einen Kalendertermin stornieren/loeschen                        |
    | `check_availability` | Pruefen, ob ein Zeitfenster frei oder belegt ist                |
    | `find_free_slots`    | Verfuegbare Zeitfenster in einem Datumsbereich finden           |

    **Google Meet:**

    | Tool             | Beschreibung                                                                 |
    | ---------------- | ---------------------------------------------------------------------------- |
    | `create_meeting` | Einen Google Meet-Link erstellen (ueber Kalenderereignis mit conferenceData) |
  </Tab>
</Tabs>

## Tools in Workflow-Knoten verwenden

Google Workspace-Tools sind besonders leistungsstark in Workflow-Knoten, wo der Agent mehrere Tools in einer einzigen Konversation kombinieren kann:

1. Verbinden Sie einen Google-Dienst und verifizieren Sie per OAuth
2. Die Tools erscheinen im **Tools**-Tab des Agenten
3. Fuegen Sie sie zu **benutzerdefinierten Knoten** im Workflow-Editor hinzu
4. Das LLM ruft sie automatisch auf, wenn relevant

**Beispiel-Workflow:** Ein Kunde bittet um eine Demo-Terminplanung →

* Agent ruft `check_availability` auf, um freie Zeitfenster zu finden
* Kunde waehlt eine Zeit → Agent ruft `create_event` auf, um zu buchen
* Agent ruft `create_meeting` auf, um einen Google Meet-Link zu generieren
* Agent ruft `send_email` auf, um eine Bestaetigungs-E-Mail mit dem Link zu senden

## Anwendungsfaelle

<AccordionGroup>
  <Accordion title="Automatisierte Nachfass-E-Mails">
    Agent qualifiziert einen Lead per Chat → verwendet `send_email`, um eine Nachfass-E-Mail mit Preisen zu senden → protokolliert die Interaktion in Google Sheets ueber `append_rows`.
  </Accordion>

  <Accordion title="Terminbuchung">
    Kunde bittet um einen Termin → Agent verwendet `check_availability`, um freie Zeitfenster zu finden → `create_event` zum Buchen → `create_meeting` zum Generieren eines Meet-Links → sendet Bestaetigung per Chat oder E-Mail.
  </Accordion>

  <Accordion title="Dokumentenerstellung">
    Agent sammelt Informationen vom Kunden → verwendet `create_document`, um ein Angebot oder einen Bericht zu erstellen → `share_file`, um dem Kunden Zugriff zu geben.
  </Accordion>

  <Accordion title="CRM-aehnliches Lead-Tracking">
    Jede Konversation, die mit einem Lead endet → Agent verwendet `append_rows`, um Lead-Daten in ein Google Sheet einzufuegen → `send_email`, um das Vertriebsteam zu benachrichtigen.
  </Accordion>
</AccordionGroup>

## Token-Aktualisierung

Google Access-Tokens laufen nach 1 Stunde ab. Revol handhabt dies automatisch:

1. Vor jedem API-Aufruf prueft Revol, ob das Token innerhalb von 5 Minuten ablaeuft
2. Bei Ablauf wird das gespeicherte Refresh-Token verwendet, um ein neues Access-Token zu erhalten
3. Das neue Token wird verschluesselt und zurueck in die Datenbank gespeichert
4. Der API-Aufruf wird mit dem frischen Token fortgesetzt

Wenn ein Refresh-Token ungueltig wird (Benutzer hat den Zugriff widerrufen), wird die Integration als **getrennt** markiert und muss erneut autorisiert werden.
