Zum Inhalt
Für Agenten

calendar_event_save

Create or Update Calendar Event

Markdown Tools als JSON

Beschreibung

Create or fully update an event in a calendar you can edit. Creation requires a stable request_id (8–100 characters); reuse it when retrying to avoid duplicates. Updates require event_id and expected_version from a prior read. Supply full event fields; omitted description/location are cleared. For all-day events, use start_on/end_on dates, with end_on exclusive. Timed events require starts_at/ends_at with UTC offsets. Google writes default to this occurrence; explicit all scope updates the master series. Writes never send invitations and do not edit sharing or attendees.

Zugriff

Zugriffsprofil: gated. Module: calendar. Die Freigabe im Profil ersetzt keine Account-, Workspace- oder Rollenberechtigung.

Parameter

Name Typ Pflicht Beschreibung
account_id string Ja
calendar_id string Ja
event_id string Nein
request_id string Nein
expected_version integer Nein
google_meet boolean Nein Optionally create a Google Meet on a supported Google calendar. Existing meetings are preserved.
reminders object Nein Optional personal alerts. Omit to preserve. Set useDefault false and overrides [] to remove; up to five popup alerts (also in the owner's oona Inbox) or Google email alerts. Google defaults are available on Google calendars only.
recurrence object Nein oona or Google calendar repeat rule. Weekdays use ISO Monday=1 through Sunday=7. Omit on update to retain the existing rule. Use frequency none to stop repeating with all/future scope.
series_scope string Nein Edit this occurrence or all events; Google and native calendars support this and following events; Google future splits reset following exceptions. Other individually edited/cancelled dates are preserved for all.
expected_series_version integer Nein Required for all/future operations, from a fresh event read.
title string Ja
description string Nein
location string Nein
time_zone string Nein
all_day boolean Nein
start_on string Nein
end_on string Nein
starts_at string Nein
ends_at string Nein

Eingabeschema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "account_id": {
      "type": "string"
    },
    "calendar_id": {
      "type": "string"
    },
    "event_id": {
      "type": "string"
    },
    "request_id": {
      "type": "string",
      "minLength": 8,
      "maxLength": 100
    },
    "expected_version": {
      "type": "integer",
      "minimum": 0
    },
    "google_meet": {
      "type": "boolean",
      "description": "Optionally create a Google Meet on a supported Google calendar. Existing meetings are preserved."
    },
    "reminders": {
      "type": "object",
      "properties": {
        "useDefault": {
          "type": "boolean"
        },
        "overrides": {
          "type": "array",
          "maxItems": 5,
          "items": {
            "type": "object",
            "properties": {
              "method": {
                "type": "string",
                "enum": [
                  "popup",
                  "email"
                ]
              },
              "minutes": {
                "type": "integer",
                "minimum": 0,
                "maximum": 40320
              }
            },
            "required": [
              "method",
              "minutes"
            ]
          }
        }
      },
      "description": "Optional personal alerts. Omit to preserve. Set useDefault false and overrides [] to remove; up to five popup alerts (also in the owner's oona Inbox) or Google email alerts. Google defaults are available on Google calendars only."
    },
    "recurrence": {
      "type": "object",
      "properties": {
        "frequency": {
          "type": "string",
          "enum": [
            "none",
            "daily",
            "weekly",
            "monthly",
            "yearly"
          ]
        },
        "interval": {
          "type": "integer",
          "minimum": 1,
          "maximum": 99
        },
        "weekdays": {
          "type": "array",
          "maxItems": 7,
          "items": {
            "type": "integer",
            "minimum": 1,
            "maximum": 7
          }
        },
        "monthly_mode": {
          "type": "string",
          "enum": [
            "date",
            "weekday",
            "last_weekday",
            "last_day"
          ]
        },
        "ends_on": {
          "type": "string"
        },
        "count": {
          "type": "integer",
          "minimum": 1,
          "maximum": 1000
        }
      },
      "description": "oona or Google calendar repeat rule. Weekdays use ISO Monday=1 through Sunday=7. Omit on update to retain the existing rule. Use frequency none to stop repeating with all/future scope."
    },
    "series_scope": {
      "type": "string",
      "enum": [
        "this",
        "all",
        "future"
      ],
      "description": "Edit this occurrence or all events; Google and native calendars support this and following events; Google future splits reset following exceptions. Other individually edited/cancelled dates are preserved for all."
    },
    "expected_series_version": {
      "type": "integer",
      "minimum": 0,
      "description": "Required for all/future operations, from a fresh event read."
    },
    "title": {
      "type": "string",
      "maxLength": 500
    },
    "description": {
      "type": "string",
      "maxLength": 50000
    },
    "location": {
      "type": "string",
      "maxLength": 1000
    },
    "time_zone": {
      "type": "string"
    },
    "all_day": {
      "type": "boolean"
    },
    "start_on": {
      "type": "string"
    },
    "end_on": {
      "type": "string"
    },
    "starts_at": {
      "type": "string"
    },
    "ends_at": {
      "type": "string"
    }
  },
  "required": [
    "account_id",
    "calendar_id",
    "title"
  ],
  "type": "object"
}

Ausgabeschema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "event": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "calendar_id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "location": {
          "type": [
            "string",
            "null"
          ]
        },
        "starts_at": {
          "type": "string"
        },
        "ends_at": {
          "type": "string"
        },
        "all_day": {
          "type": "boolean"
        },
        "start_on": {
          "type": [
            "string",
            "null"
          ]
        },
        "end_on": {
          "type": [
            "string",
            "null"
          ]
        },
        "time_zone": {
          "type": "string"
        },
        "version": {
          "type": "integer"
        },
        "google_meet_url": {
          "type": [
            "string",
            "null"
          ]
        },
        "conference_status": {
          "type": [
            "string",
            "null"
          ]
        },
        "reminders": {
          "type": "object",
          "properties": {
            "useDefault": {
              "type": "boolean"
            },
            "overrides": {
              "type": "array",
              "maxItems": 5,
              "items": {
                "type": "object",
                "properties": {
                  "method": {
                    "type": "string",
                    "enum": [
                      "popup",
                      "email"
                    ]
                  },
                  "minutes": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 40320
                  }
                },
                "required": [
                  "method",
                  "minutes"
                ]
              }
            }
          }
        },
        "recurrence": {
          "type": "object",
          "properties": {
            "frequency": {
              "type": "string",
              "enum": [
                "none",
                "daily",
                "weekly",
                "monthly",
                "yearly"
              ]
            },
            "interval": {
              "type": "integer",
              "minimum": 1,
              "maximum": 99
            },
            "weekdays": {
              "type": "array",
              "maxItems": 7,
              "items": {
                "type": "integer",
                "minimum": 1,
                "maximum": 7
              }
            },
            "monthly_mode": {
              "type": "string",
              "enum": [
                "date",
                "weekday",
                "last_weekday",
                "last_day"
              ]
            },
            "ends_on": {
              "type": "string"
            },
            "count": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            }
          }
        },
        "series_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "series_version": {
          "type": [
            "integer",
            "null"
          ]
        },
        "google_recurrence": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Original Google RRULE/EXDATE/RDATE entries; preserved when recurrence is omitted on updates. Read the event directly for a fresh series version."
        },
        "invitation": {
          "type": "boolean"
        },
        "response_status": {
          "type": [
            "string",
            "null"
          ]
        },
        "organizer": {
          "type": [
            "string",
            "null"
          ]
        },
        "guests": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "email": {
                "type": "string"
              },
              "displayName": {
                "type": "string"
              },
              "responseStatus": {
                "type": "string"
              },
              "optional": {
                "type": "boolean"
              },
              "organizer": {
                "type": "boolean"
              },
              "self": {
                "type": "boolean"
              }
            }
          }
        },
        "can_manage_guests": {
          "type": "boolean"
        },
        "can_edit_reminders": {
          "type": "boolean"
        },
        "can_respond": {
          "type": "boolean"
        },
        "recurring_occurrence": {
          "type": "boolean"
        },
        "writable": {
          "type": "boolean"
        }
      },
      "required": [
        "id",
        "calendar_id",
        "title",
        "starts_at",
        "ends_at",
        "all_day",
        "time_zone",
        "version",
        "invitation",
        "can_respond",
        "recurring_occurrence",
        "writable"
      ]
    }
  },
  "required": [
    "event"
  ],
  "type": "object"
}
Seiten