Skip to content

Google Calendar — Create event

Type: googlecalendar-create-event  ·  Package: Google Calendar v1.0.5  ·  Output: Dictionary<string,object>

Creates an event on a calendar. Set the title, the date range and, optionally, location, description, guests and time zone. Returns the created event with its ID so you can update, cancel or record it later.

Creates the event in calendarId (default primary) with one call to Google:

  • start and end accept a DateTime or ISO 8601 text (2026-06-15T14:30:00) and are sent to Google with an explicit offset, regardless of the machine’s regional settings. Since version 1.0.5.
  • A time without an offset is read in the timeZone zone (IANA, e.g. America/Bogota) or, if empty, in the calendar’s zone. With an offset (-05:00) the exact instant is kept. timeZone is also stored as the event’s zone.
  • With allDay = true only the date part is used. The end date is exclusive: for a June 15 event, start = "2026-06-15" and end = "2026-06-16".
  • attendees accepts a text with emails separated by , or ;, or a list of emails.
  • Every run creates a new event: repeating it with the same data leaves duplicate events.
ParameterTypeDefaultDescription
summarystring—Event title.
startDateTime | string—Start: a DateTime or ISO 8601 text, e.g. 2026-06-15T14:30:00. For all-day, a date (yyyy-MM-dd).
endDateTime | string—End, after start, in the same format. For all-day, the day after the last one.
ParameterTypeDefaultDescription
sessionZoanGoogleCalendarSession—Session from Google Calendar — Connect. Inside Connect’s body it is inherited and you can leave it empty.
calendarIdstringprimaryCalendar ID (from Get calendars). primary is the account’s main calendar.
allDayboolfalseAll-day event (uses only the date).
timeZonestring—IANA time zone of the event, e.g. America/Bogota; times without an offset are read in it. If empty, the calendar’s.
locationstring—Event location.
descriptionstring—Event description (multi-line allowed).
attendeesstring | List—Guest emails, separated by , or ;, or as a list.
notifyboolfalseEmail the invitation to the guests.

Returns a Dictionary with the created event data: ev["id"] (use it to update, delete or add guests), ev["htmlLink"] (link to the event), ev["start"], ev["end"], ev["attendees"]…

MessageCause and fix
'summary' is required. / 'start' is required. / 'end' is required.The title or one of the dates is missing, or its expression returned null.
Invalid date/time '…'. Use ISO 8601 (e.g. 2026-06-15T14:30:00) or a DateTime value.start or end is neither a DateTime nor ISO 8601 text (for example, 15/06/2026). Pass the DateTime directly or the text as yyyy-MM-ddTHH:mm:ss.
Unknown time zone '…'. Use an IANA time zone such as America/Bogota.timeZone is not a valid IANA zone.
The date has no time zone and the calendar's time zone could not be determined. …The date has no offset, timeZone is empty and the account could not read the calendar’s zone. Set timeZone or include the offset in the date.
No Google Calendar session available. Provide 'session' from a googlecalendar-connect activity, or place this activity inside the Connect activity's body …The activity is outside Connect’s body and received no session. Move it inside the body or pass the saved session.
The service calendar has thrown an exception. HttpStatusCode is BadRequest…end is not after start (for all-day, end equal to start) or a guest email is invalid.
The service calendar has thrown an exception. HttpStatusCode is …Google rejected the call: unknown calendar or event, no access, expired token or quota exceeded. See Google API errors.
Google Calendar — Connect credential = credential("calendar-team")
└─ body:
Google Calendar — Create event summary = "Proposal review"
start = "2026-06-15T14:30:00-05:00" end = "2026-06-15T15:30:00-05:00"
location = "Room 3" attendees = "customer@mail.com, sales@company.com"
notify = true → output: ev
Log message = "Event " + ev["id"] + ": " + ev["htmlLink"]