Create a calendar event immediately, with no review card or composer. Only for a prompt that came from a channel or document thread (the context block says so), where there is nothing to review a draft in. The event is always shown before it is created, even when the user’s request already spelled the whole thing out: in one turn write it into the thread - title, date and time with its time zone, duration, guests, location, Google Meet, recurrence - ask whether to create it, and stop there. Call this tool only in a later turn, once the user has replied approving that specific event, quoting that reply verbatim in userConfirmation. Being asked to schedule something is a request to draft the event, never approval to create it, so a userConfirmation quoting the request that asked you to set it up - rather than the reply approving the event you wrote out - is wrong. Never call it in the agent session view or in chat: use CreateCalendarEvent there, whose review card or composer is the confirmation. Takes the same fields as CreateCalendarEvent; the event is written to Google Calendar at once and any attendees receive invitations.
The mutually exclusive time shape supplied to calendar tools.
description
string
No
Optional event body/description.
location
string
No
Optional physical or virtual location label.
attendees
AttendeeInput[]
No
Attendees to invite by email. They are notified by Google Calendar as soon as the event is created. Omit for a solo event.
recurrenceLines
string[]
No
Raw RFC 5545 recurrence lines (RRULE, RDATE, EXDATE), e.g. [“RRULE:FREQ=WEEKLY;BYDAY=MO,WE”]. Omit for a one-off event.
calendarId
string
No
Calendar to create the event on, from ListCalendars. Omit to use the user’s primary calendar.
reminders
EventRemindersInput
No
Reminder configuration for the event. Omit to use the selected calendar’s defaults.
addGoogleMeet
boolean
No
Attach a freshly generated Google Meet video conference to the event.
eventType
"default" | "out_of_office"
No
The kind of event a create tool call makes.
outOfOffice
OutOfOfficeInput
No
Out-of-office decline behavior, used only when eventType is “out_of_office”. Omit to just block the time; set autoDeclineMode to “decline_all” or “decline_new_only” to have Google decline conflicting meetings, optionally with a declineMessage.
userConfirmation
string
Yes
The user’s own message approving this specific event, quoted verbatim - for example their “yes, go ahead” in reply to the event you wrote out for them. It is a reply to your draft, never the earlier request that asked you to schedule something: if the user has not yet seen this event, there is nothing to quote here and the tool must not be called. Required: do not paraphrase it, and never supply it yourself.