Überblick
Google Calendar hilft dir dabei, deinen Zeitplan zu organisieren und Termine mit Kollegen zu teilen. Durch Langdocks Integration kannst du direkt aus deinen Unterhaltungen auf Google Calendar zugreifen und es verwalten.Authentifizierung: OAuth
Kategorie: Google Workspace
Verfügbarkeit: Alle Workspace-Pläne
Kategorie: Google Workspace
Verfügbarkeit: Alle Workspace-Pläne
Verfügbare Aktionen
Termin hinzufügen
googlecalendar.addEvent
Erstellt einen neuen Termin in einem bestimmten Kalender
Bestätigung erforderlich: Ja
Parameter:
sendUpdates
(TEXT, Optional): Ob Benachrichtigungen gesendet werden sollen (‘all’, ‘externalOnly’, ‘none’)startTime
(TEXT, Erforderlich): Startzeit im RFC3339-Format (z.B. ‘2025-03-15T09:00:00+01:00’)description
(TEXT, Optional): Beschreibung des Termins (optional)attendees
(TEXT, Optional): Liste der E-Mail-Adressen der Teilnehmer (optional)recurrence
(TEXT, Optional): Liste von RRULE, EXRULE, RDATE und EXDATE Zeilen für einen wiederkehrenden Termin, wie in RFC5545 spezifiziert. Beachte, dass DTSTART und DTEND Zeilen nicht erlaubt sind. Das Trennzeichen zwischen Regeln ist ein Leerzeichen.endTime
(TEXT, Erforderlich): Endzeit im RFC3339-Format (z.B. ‘2025-03-15T10:00:00+01:00’)calendarId
(TEXT, Erforderlich): Die ID des Kalenders (z.B. ‘primary’ für den Hauptkalender)location
(TEXT, Optional): Ort des Termins (optional)timeZone
(TEXT, Erforderlich): WICHTIG: Falls du die Zeitzone des Users nicht kennst, frage ihn. RATE DIE ZEITZONE NICHT (Beispielformat: ‘America/New_York’)title
(TEXT, Erforderlich): Titel des TerminseventType
(TEXT, Optional): Der Typ des Termins. Erlaubte Werte: default, focusTime, outOfOffice, workingLocation, etc. Siehe Google Calendar API Dokumentation für die vollständige Liste. Gib nur einen Termintyp an
id
: Termin-IDsummary
: Termintiteldescription
: Terminbeschreibungstart
: Startzeit-Informationen mit dateTime und timeZoneend
: Endzeit-Informationen mit dateTime und timeZonelocation
: Terminortattendees
: Array von Teilnehmer-Objekten mit E-Mail-Adressenrecurrence
: Wiederholungsregeln falls zutreffendhtmlLink
: Link zum Anzeigen des Termins in Google Calendarcreated
: Erstellungszeitstempelupdated
: Letzter Update-Zeitstempel
Termin aktualisieren
googlecalendar.updateEvent
Aktualisiert einen Termin
Bestätigung erforderlich: Ja
Parameter:
eventId
(TEXT, Erforderlich): ID des TerminsendTime
(TEXT, Optional): Endzeit im RFC3339-Format (z.B. ‘2025-03-15T10:00:00+01:00’)startTime
(TEXT, Optional): Neue Startzeit im RFC3339-Format (z.B. ‘2025-03-15T09:00:00+01:00’)calendarId
(TEXT, Erforderlich): Die ID des Kalenders (z.B. ‘primary’ für den Hauptkalender)timeZone
(TEXT, Optional): Neue Zeitzone (z.B. ‘America/New_York’)eventTitle
(TEXT, Optional): Neuer Titel des Termins (optional)attendees
(TEXT, Optional): Neue Liste der E-Mail-Adressen der Teilnehmer (optional)description
(TEXT, Optional): Neue Beschreibung des Termins (optional)location
(TEXT, Optional): Neuer Ort des Termins (optional)sendUpdates
(TEXT, Optional): Neue Richtlinie, ob Benachrichtigungen gesendet werden sollen (‘all’, ‘externalOnly’, ‘none’) (optional)recurrence
(TEXT, Optional): Neue Liste von RRULE, EXRULE, RDATE und EXDATE Zeilen für einen wiederkehrenden Termin, wie in RFC5545 spezifiziert. Beachte, dass DTSTART und DTEND Zeilen nicht erlaubt sind. Das Trennzeichen zwischen Regeln ist ein Leerzeichen.eventType
(TEXT, Optional): Der zu aktualisierende Termintyp. Erlaubte Werte: default, focusTime, outOfOffice, workingLocation, etc. Siehe Google Calendar API Dokumentation für die vollständige Liste. Als durch Kommas getrennte Liste angeben.
Termin abrufen
googlecalendar.getEvent
Ruft einen Termin ab
Bestätigung erforderlich: Nein
Parameter:
eventId
(TEXT, Erforderlich): Die ID des spezifischen Termins, der abgerufen werden sollcalendarId
(TEXT, Erforderlich): Die ID des Kalenders (kann ‘primary’ für den Hauptkalender des Users verwenden)
Nach Terminen suchen
googlecalendar.searchforEvents
Ruft Kalendertermine durch Suchabfrage ab
Bestätigung erforderlich: Nein
Parameter:
maxResults
(TEXT, Optional): Maximale Anzahl der zurückzugebenden Ergebnisse (optional, Standard: 10)searchQuery
(TEXT, Optional): Bei der Verwendung des Suchfelds für Kalendertermine gib spezifische und relevante Schlüsselwörter ein, die wahrscheinlich in den folgenden Feldern erscheinen: WICHTIG NICHT IGNORIEREN: Falls nach Dingen wie einem Termin, Meeting, Anruf, … gesucht wird, schließe diesen Begriff nicht in die Suchabfrage ein, da diese Synonyme für Ereignis sind
- Zusammenfassung oder Titel: Schließe Schlüsselwörter ein, die das Ereignis beschreiben, wie “Projekt Meeting”, “Quartalsreview” oder “Team-Lunch”.
- Beschreibung: Verwende Begriffe, die sich auf den Inhalt oder Zweck des Ereignisses beziehen, wie “Budget-Diskussion” oder “Kundenpräsentation”.
- Ort: Gib den Namen des Ortes oder Gebäudes an, in dem das Ereignis stattfindet, wie “Konferenzraum A” oder “Hauptbüro”.
- Teilnehmer: Schließe Namen oder E-Mail-Adressen spezifischer Teilnehmer ein, z.B. “john.doe@example.com” oder “Jane Smith”.
- Organisator: Verwende den Namen oder die E-Mail des Organisators, um von ihm veranstaltete Ereignisse zu finden, wie “organizer@example.com” oder “Michael Johnson”.
- Arbeitsplatz-Eigenschaften: Falls zutreffend, verwende Kennzeichnungen wie Bürostandort-Labels oder Gebäude-IDs.
endDate
(TEXT, Optional): Enddatum des Zeitraums, der für die Suchabfrage durchsucht wird. Obergrenze (exklusiv) für die Startzeit eines Ereignisses zum Filtern. Optional. Muss ein RFC3339-Zeitstempel mit obligatorischem Zeitzonen-Offset sein, zum Beispiel 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Millisekunden können angegeben werden, werden aber ignoriert. Falls Startdatum gesetzt ist, muss Enddatum größer als Startdatum sein.calendarId
(TEXT, Erforderlich): Die ID des zu durchsuchenden Kalenders (‘primary’ für den Hauptkalender des Users verwenden)startDate
(TEXT, Optional): Startdatum des Zeitraums, der für die Suchabfrage durchsucht wird. Untergrenze (exklusiv) für die Endzeit eines Ereignisses zum Filtern. Optional. Muss ein RFC3339-Zeitstempel mit obligatorischem Zeitzonen-Offset sein, zum Beispiel 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Millisekunden können angegeben werden, werden aber ignoriert. Falls Enddatum gesetzt ist, muss Startdatum kleiner als Enddatum sein.desc
(BOOLEAN, Optional): Wähle, ob die Ergebnisse in absteigender Reihenfolge sortiert werden sollen (Startzeit).eventType
(TEXT, Optional): Der Termintyp, nach dem gefiltert werden soll. Erlaubte Werte: default, focusTime, outOfOffice, workingLocation, etc. Siehe Google Calendar API Dokumentation für die vollständige Liste. Gib nur einen einzigen Termintyp an.
Termin löschen
googlecalendar.deleteEvent
Löscht einen Termin
Bestätigung erforderlich: Ja
Parameter:
eventId
(TEXT, Erforderlich): ID des Termins, der gelöscht wird. Für Terminserienn beachte, dass wenn du eine Termininstanz-ID angibst, nur diese Instanz gelöscht wird, und wenn du die Master-ID eines wiederkehrenden Termins angibst, die gesamte Serie gelöscht wird. Für eine Termininstanz-ID eines wiederkehrenden Termins wie 7hagg0gtspd2b03lm8i3g4irr0_20250318T160000Z ist der Teil bis zum ersten _ die Master-ID des Termins.calendarId
(TEXT, Erforderlich): Die ID des Kalenders (z.B. ‘primary’ für den Hauptkalender)
Kalender auflisten
googlecalendar.listCalendars
Listet alle für den authentifizierten User zugänglichen Kalender mit dem Google Calendar API /users/me/calendarList Endpunkt auf.
Bestätigung erforderlich: Nein
Parameter:
maxResults
(TEXT, Optional): Maximale Anzahl der Einträge, die in einer Ergebnisseite zurückgegeben werden (Standard: 100, max: 250).minAccessRole
(SELECT, Optional): Beschränkt Ergebnisse auf Kalender, bei denen der User mindestens diese Zugriffsberechtigung hat. Erlaubte Werte: freeBusyReader, reader, writer, owner.pageToken
(TEXT, Optional): Token, das angibt, welche Ergebnisseite zurückgegeben werden soll (für Paginierung).showDeleted
(BOOLEAN, Optional): Ob gelöschte Kalenderlisteneinträge im Ergebnis enthalten sein sollen (Standard: false).showHidden
(BOOLEAN, Optional): Ob versteckte Einträge angezeigt werden sollen (Standard: false).syncToken
(TEXT, Optional): Für inkrementelle Synchronisation, gibt nur Einträge zurück, die sich seit der vorherigen Anfrage mit diesem Token geändert haben. Kann nicht mit minAccessRole verwendet werden.
id
: Kalender-IDsummary
: Kalendernamedescription
: KalenderbeschreibungtimeZone
: Kalender-ZeitzoneaccessRole
: Zugriffsberechtigung des Users für diesen KalenderbackgroundColor
: KalenderfarbeforegroundColor
: Textfarbe für diesen Kalenderselected
: Ob dieser Kalender ausgewählt istprimary
: Ob dies der Hauptkalender des Users ist
Frei/Besetzt für Kalender abrufen
googlecalendar.getFreeBusyforCalendar
Ruft Frei/Besetzt-Informationen für einen oder mehrere Kalender über einen bestimmten Zeitraum mit dem Google Calendar API /freeBusy Endpunkt ab.
Bestätigung erforderlich: Nein
Parameter:
timeMin
(TEXT, Erforderlich): RFC3339-Zeitstempel für den Beginn des zu prüfenden Zeitraums (inklusive). Beispiel: 2025-05-15T08:00:00ZtimeMax
(TEXT, Erforderlich): RFC3339-Zeitstempel für das Ende des zu prüfenden Zeitraums (exklusive). Beispiel: 2025-05-15T18:00:00ZtimeZone
(TEXT, Optional): Zeitzone für die Antwort (optional, Standard ist UTC). Beispiel: Europe/Berlinitems
(TEXT, Erforderlich): Liste der zu prüfenden Kalender-IDs (z.B. E-Mails, Ressourcen-IDs oder ‘primary’). Als durch Kommas getrennte Liste eingeben.
kind
: API-RessourcentyptimeMin
: Beginn des abgefragten BereichstimeMax
: Ende des abgefragten Bereichscalendars
: Objekt mit Frei/Besetzt-Informationen für jeden angeforderten Kalenderbusy
: Array von Zeitbereichen, in denen der Kalender besetzt isterrors
: Eventuell aufgetretene Fehler für diesen Kalender
Trigger
Neuer Termin
googlecalendar.newEvent
Wird ausgelöst, wenn neue Kalendertermine in bestimmten Kalendern erstellt werden
Bestätigung erforderlich: Nein
Parameter:
calendarId
(TEXT, Optional): ID des Kalenders, der auf neue Termine überwacht werden soll. Identifiziert, welcher spezifische Kalender auf neue Termine geprüft werden solldaysToInclude
(TEXT, Optional): Anzahl der Tage in der Zukunft, nach Terminen zu suchen. Standard sind 30 Tage
Terminbeginn
googlecalendar.eventStart
Wird ausgelöst, wenn Termine innerhalb eines bestimmten Zeitfensters beginnen
Bestätigung erforderlich: Nein
Parameter:
calendarId
(TEXT, Optional): ID des zu überwachenden Kalenders. Standardmäßig dein Hauptkalender, wenn nicht angegebenminuteBefore
(TEXT, Erforderlich): Anzahl der Minuten vor Terminbeginn, um den Workflow auszulösen. Standard sind 15 Minuten
Neuer Termin mit passender Suche
googlecalendar.newEventMatchingSearch
Wird ausgelöst, wenn neue Kalendertermine erstellt werden, die der angegebenen Suchabfrage entsprechen
Bestätigung erforderlich: Nein
Parameter:
calendarId
(TEXT, Optional): ID des Kalenders, der auf neue Termine überwacht werden soll. Identifiziert, welcher spezifische Kalender auf neue Termine geprüft werden solldaysToInclude
(NUMBER, Optional): Anzahl der Tage in der Zukunft, nach Terminen zu suchen. Standard sind 30 TagesearchQuery
(TEXT, Erforderlich): Text, nach dem in Terminbetreffzeilen gesucht werden soll. Beispiele: ‘Meeting’, ‘Review’, ‘Projektstart’
Häufige Anwendungsfälle
Datenverwaltung
Verwalte und organisiere deine Google Calendar Daten
Automatisierung
Automatisiere Workflows mit Google Calendar
Berichterstattung
Erstelle Einblicke und Berichte
Integration
Verbinde Google Calendar mit anderen Tools
Best Practices
Erste Schritte:
- Aktiviere die Google Calendar Integration in deinen Workspace-Einstellungen
- Authentifiziere dich mit OAuth
- Teste die Verbindung mit einer einfachen Leseoperation
- Erkunde verfügbare Aktionen für deinen Anwendungsfall
Wichtige Überlegungen:
- Stelle sicher, dass du die richtigen Authentifizierungsdaten hast
- Beachte Rate Limits und API-Kontingente
- Überprüfe die Datenschutzeinstellungen
- Teste Operationen zuerst in einer sicheren Umgebung
Fehlerbehebung
Problem | Lösung |
---|---|
Authentifizierung fehlgeschlagen | Überprüfe deine OAuth-Anmeldedaten |
Rate Limit überschritten | Reduziere die Anfragenhäufigkeit |
Daten nicht gefunden | Überprüfe Berechtigungen und Datenverfügbarkeit |
Verbindungs-Timeout | Überprüfe die Netzwerkverbindung |