> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Google Calendar

## Übersicht

Verbinden Sie Ihre ElevenLabs-KI-Agenten mit [Google Calendar](https://calendar.google.com), um Termine und Kalenderereignisse zu verwalten. Mit dieser Integration können Ihre Agenten Verfügbarkeiten prüfen, Ereignisse mit Teilnehmern und optionalen Google-Meet-Konferenzen erstellen, aktualisieren und löschen, anstehende Ereignisse auflisten und über natürliche Gespräche zugängliche Kalender finden.

## Funktionen

| Funktion                  | Unterstützung                                   |
| ------------------------- | ----------------------------------------------- |
| Zero Retention Mode (ZRM) | Nicht unterstützt                               |
| Anhänge in Tools          | Nicht unterstützt — Tools arbeiten nur mit Text |

## Sicherheitswarnung

> **Sicherheitswarnung: `google_calendar_update_event` und `google_calendar_delete_event` sind privilegierte Tools.** Sie werden mit dem vollständigen Kalenderzugriff des verbundenen Google-Kontos ausgeführt, nicht nur mit Zugriff auf Ereignisse, die Ihr Agent erstellt hat. Jeder, der mit dem Agenten sprechen kann, kann **jedes** Ereignis in diesem Kalender ändern oder absagen, auch Ereignisse, die er nicht erstellt hat, da der Agent mit `google_calendar_list_events` Ereignis-IDs abrufen kann. Eine Bestätigung im System-Prompt ist ein Hinweis für das Modell, keine Sicherheitsmaßnahme.
>
> Aktivieren Sie diese Tools nur für Agenten mit **aktivierter Authentifizierung** oder wenn die Ereignis-ID aus einer vertrauenswürdigen Quelle stammt. Fügen Sie sie nicht zu öffentlichen Agenten hinzu. Teilnehmer werden immer benachrichtigt, wenn ein Ereignis aktualisiert oder gelöscht wird.

## Einrichtung

Diese Integration verwendet **Google OAuth 2.0** zur Authentifizierung. Sie autorisieren ElevenLabs, in Ihrem Namen auf Ihren Google Calendar zuzugreifen.

#### In ElevenLabs auf Connect klicken

Klicken Sie in der ElevenLabs-Integrationseinrichtung auf **Connect**. Sie werden zu Google weitergeleitet, um den Zugriff zu autorisieren.

#### Google-Konto auswählen

Wählen Sie das Google-Konto, auf dessen Kalenderdaten Ihr Agent zugreifen soll. Wenn Sie in Ihrem Browser bei mehreren Google-Konten angemeldet sind, wählen Sie das richtige aus.

#### Kalenderzugriff autorisieren

Prüfen Sie die angeforderten Berechtigungen und klicken Sie auf **Allow**. Die Integration fordert Zugriff an, um Ereignisse in Ihren Kalendern zu verwalten, Ihre Kalenderliste anzuzeigen und Frei/Gebucht-Informationen zu prüfen.

## OAuth-Bereiche

Die Integration fordert die folgenden Google-OAuth-2.0-Bereiche an:

| Bereich                          | Zweck                                                                                      |
| -------------------------------- | ------------------------------------------------------------------------------------------ |
| `calendar.events.owned`          | Ereignisse in Kalendern erstellen, lesen, aktualisieren und löschen, die Ihnen gehören.    |
| `calendar.calendarlist.readonly` | Die Liste der für Ihr Konto zugänglichen Kalender anzeigen (Namen und IDs).                |
| `calendar.freebusy`              | Frei/Gebucht-Verfügbarkeit kalenderübergreifend prüfen, ohne Ereignisdetails offenzulegen. |

## So funktioniert es

Der Agent plant Meetings mithilfe von Tool-Aufrufen, die ihn durch den Buchungsprozess führen. Die folgenden Tabs zeigen eine Zusammenfassung und einen detaillierten System-Prompt.

#### Übersicht

#### Kalender finden

Der Agent listet zugängliche Kalender auf, um den richtigen Kalender für die Terminplanung zu ermitteln. Für die meisten Nutzer ist dies der primäre Kalender.

#### Verfügbarkeit prüfen

Der Agent prüft die Frei/Gebucht-Verfügbarkeit durch:

* Verwendung des Tools `google_calendar_check_availability`, um belegte Zeitblöcke abzufragen.
* Prüfung, ob die angefragte Zeit frei ist.
* Vorschlagen von Alternativen, wenn die angefragte Zeit mit einem bestehenden Ereignis kollidiert.
* Bestätigung der ausgewählten Zeit mit dem Anrufer.

#### Teilnehmerdaten erfassen

Sobald ein Zeitpunkt vereinbart wurde, führt der Agent folgende Schritte aus:

* Erfasst den vollständigen Namen und die E-Mail-Adresse des Teilnehmers.
* Bestätigt die E-Mail-Adresse, indem er sie dem Anrufer vorliest.
* Prüft die Zeitzoneninformationen.

#### Ereignis erstellen

Der Agent:

* Ruft das Tool `google_calendar_create_event` mit den bestätigten Details auf.
* Fügt optional einen Google-Meet-Link hinzu, wenn eine Videokonferenz gewünscht ist.
* Bestätigt die Erstellung des Ereignisses und informiert den Teilnehmer, dass er eine Kalendereinladung erhält.

#### Detaillierter System-Prompt

```
You are a helpful scheduling assistant responsible for managing calendar bookings using Google Calendar. Be friendly, precise, and concise.

Begin by briefly asking for the purpose of the meeting and the caller's preferred date and time.
Then, ask about the desired meeting duration (15, 30, or 60 minutes), and wait for the user's response before proceeding.

Once you have the meeting details, check calendar availability:
- Call google_calendar_check_availability with the appropriate time range and calendar ID (use 'primary' for the main calendar)
- The tool returns busy time blocks — any time not listed as busy is available
- If the requested time overlaps with a busy block, suggest alternative times
- Continue until a suitable time is agreed upon

After confirming a time slot, gather the following contact details:
- The attendee's full name
- A valid email address. Note that the email address is transcribed from voice, so ensure it is formatted correctly.
- The attendee's time zone (in 'Continent/City' format like 'America/New_York')
- Read the email back to the caller to confirm accuracy

Once all details are confirmed, create the event:
- Call google_calendar_create_event with calendarId set to 'primary'
- Set summary to a descriptive meeting title
- Set start and end times in RFC 3339 format with the attendee's time zone
- Add the attendee's email to the attendees array
- If the caller requests a video call, include conferenceData with conferenceSolutionKey type 'hangoutsMeet' and set the conferenceDataVersion query parameter to 1
- Set sendUpdates to 'all' so attendees receive calendar invitations

Thank the attendee and inform them they will receive a calendar invitation shortly.

Clarifications:
- Do not inform the user that you are formatting the email; do it silently.
- If the caller asks you to proceed with booking, do so with the existing information.
- Use google_calendar_list_calendars if the caller asks to schedule on a specific calendar other than their primary one.
- Use google_calendar_list_events if the caller asks what meetings they have coming up, or to find the event ID before changing or cancelling a meeting.
- Use google_calendar_update_event to reschedule or edit an existing event. Check availability for the new time first, and confirm the change with the caller.
- Use google_calendar_delete_event to cancel an event only after the caller has explicitly confirmed which event to cancel. For recurring events, confirm whether to cancel one occurrence or the whole series: list events with singleEvents=true and use the occurrence's ID for one occurrence, or its recurringEventId for the whole series.

Guardrails:
- Do not share any internal IDs or API details with the caller.
- If event creation fails, check for formatting issues in the email or time conflicts.
```

## Agent-Tools

Wenn Sie Google-Calendar-Tools zu einem Agenten hinzufügen, stehen folgende integrierte Tools zur Verfügung:

| Tool                                 | Beschreibung                                                                                                                                                                                                                                                              |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `google_calendar_check_availability` | Prüft die Frei/Gebucht-Verfügbarkeit für einen oder mehrere Kalender innerhalb eines Zeitraums. Gibt belegte Zeitblöcke zurück, damit der Agent freie Zeitfenster finden kann. Verwenden Sie es vor dem Erstellen von Ereignissen, um Konflikte zu vermeiden.             |
| `google_calendar_create_event`       | Erstellt ein neues Ereignis in Google Calendar mit optionalen Teilnehmern, Ort und Google-Meet-Konferenz. Sendet E-Mail-Benachrichtigungen an alle Teilnehmer.                                                                                                            |
| `google_calendar_list_events`        | Listet anstehende Ereignisse eines Kalenders innerhalb eines Zeitraums auf, sortiert nach Startzeit. Unterstützt die Freitextsuche in Ereigniszusammenfassungen, Beschreibungen, Orten und Teilnehmerdetails.                                                             |
| `google_calendar_update_event`       | **Privilegiert.** Aktualisiert jedes Ereignis im Kalender, etwa um es zu verschieben oder Titel, Ort oder Teilnehmer zu ändern. Nur die angegebenen Felder werden geändert. Teilnehmer werden benachrichtigt.                                                             |
| `google_calendar_delete_event`       | **Privilegiert.** Löscht jedes Ereignis im Kalender und sagt es für alle Teilnehmer ab. Listen Sie zuerst Ereignisse auf, um die Ereignis-ID zu finden. Verwenden Sie für wiederkehrende Ereignisse die ID eines Vorkommens oder dessen recurringEventId (gesamte Serie). |
| `google_calendar_list_calendars`     | Listet alle Kalender auf, die für das verbundene Google-Konto zugänglich sind. Gibt Kalendernamen und IDs zurück. Verwenden Sie es, um den Zielkalender zu ermitteln, bevor Sie Verfügbarkeiten prüfen oder Ereignisse erstellen.                                         |

## Nützliche Links

* [Google Calendar API-Dokumentation](https://developers.google.com/calendar/api/v3/reference)
* [Google OAuth 2.0-Bereiche für Calendar](https://developers.google.com/identity/protocols/oauth2/scopes#calendar)
* [Google Calendar API-Schnellstart](https://developers.google.com/calendar/api/quickstart/python)
* [Übersicht der ElevenLabs-Tools](/docs/de/eleven-agents/customization/tools/server-tools)