Google Actions

Create Calendar Event

Booking form → Calendar event

API Trigger receives a form payload, creates a calendar event with the booker as attendee

Event

API Trigger

body

Google

Create Calendar Event

summary
Booking with {{body.name}}
start
{{body.start}}
end
{{body.end}}
attendees
{{body.email}}
eventId
htmlLink

Create an event on your primary Google Calendar and (optionally) email invites to attendees.

Inputs

InputTypeDescription
summarystringRequired. Event title.
startstringRequired. ISO 8601 datetime with timezone offset — e.g. 2026-06-15T14:00:00+03:00 or 2026-06-15T11:00:00Z.
endstringRequired. ISO 8601 datetime, same format as start.
descriptionstringOptional event description / notes.
locationstringOptional location text — physical address, room name or URL.
attendeesstringOptional comma-separated list of attendee emails — [email protected], [email protected]. Each gets a calendar invite (see Notes below).

Outputs

OutputTypeDescription
eventIdstringGoogle Calendar event id
htmlLinkstringDirect link to the event in Google Calendar UI
errorstringEmpty on success. Contains Google's error message when status is ERROR

Permissions required

This action needs the Manage Calendar events capability on the Google connection (OAuth scope calendar.events). If the user unchecked it during the wizard, the run fails with 403 — open the connection card, click Reconnect Google, re-check Manage Calendar events.

Notes

  • The action posts with sendUpdates=all, so attendees are emailed when the event is created. A silent-insert option isn't exposed yet — if you need it, use the API directly or open a request for an extra input.
  • Events are created on the user's primary calendar only. Shared / secondary calendars are not supported yet.
  • Times must be ISO 8601 with offset (+03:00 or Z). Without an offset Google rejects the call as Invalid time format.
  • All-day events (date-only, no time) are not supported on this action — pass full timestamps.

Example use cases

  • Form → meeting — API Trigger receives a booking form → Create Calendar Event for the requested slot, attendees = booker + you.
  • Telegram → standup — /standup command in a chat creates a 15-minute calendar slot tomorrow with the team list.
  • Helper flow scheduling — a parent flow gathers a list of pending tasks and a helper flow creates one event per task.

Errors you might see

error outputMeaning
Event summary (title) is requiredThe summary input was empty after sources resolved.
Event start time is required / Event end time is requiredSame — the time inputs ended up empty.
Invalid time format (or similar 400 from Google)start / end is not a valid ISO 8601 datetime, or missing offset.
Insufficient PermissionConnection lacks calendar.events. Reconnect with the box checked.
Google connection has been revoked — reconnect it from the Connections page.The user revoked Fainflow on Google's side, or refresh token expired.