Google Actions

Update Calendar Event

Reschedule an event from chat

Bot message updates the location of a known event

Telegram Bot

Bot Update

message

Google

Update Calendar Event

eventId
{{vault.LATEST_EVENT_ID}}
location
message
eventId
htmlLink

Update fields on an existing Google Calendar event. Only the inputs you actually fill are sent — other fields stay unchanged. Attendees are emailed about the change automatically.

Inputs

InputTypeDescription
eventIdstringRequired. The event id (returned by Create / List / Get Event).
summarystringOptional new title.
startstringOptional new start — ISO 8601 with offset (e.g. 2026-06-15T14:00:00+03:00).
endstringOptional new end — same format as start.
descriptionstringOptional new description.
locationstringOptional new location.
attendeesstringOptional comma-separated emails — replaces the entire attendee list (Google PATCH semantics for arrays).

At least one of the optional fields must be filled — an empty PATCH would be a no-op and is rejected client-side with an error.

Outputs

OutputTypeDescription
eventIdstringSame id you passed in (for chaining).
htmlLinkstringLink to the updated event in Google Calendar UI.
errorstringEmpty on success. Contains Google's error message when status is ERROR.

Permissions required

Manage Calendar events capability (calendar.events). Reconnect with the box checked if it's missing.

Notes

  • Attendees field replaces, not merges. If you set [email protected], anyone else previously invited gets removed (and emailed about the cancellation). To add someone, you have to send the full list.
  • Send updates flag is hardcoded to all — every change emails attendees.
  • Only fields you fill are sent. Empty inputs are not interpreted as "clear this field" — they are just ignored. To clear a field, the API needs explicit null/empty values, which this action doesn't expose yet. Open an issue if you need it.

Example use cases

  • Reschedule on conflict — flow lists today's events, finds an overlap with a new request, and updates the existing event's start / end instead of creating a new one.
  • Add a note from chat — Telegram message updates the description of the latest event with the user's note.
  • Pin location after the fact — once a meeting room is decided, flow patches location.

Errors you might see

error outputMeaning
eventId is requiredThe eventId input was empty.
At least one field … must be provided to updateAll optional fields were empty.
Not FoundNo event with that id on the primary calendar.
Invalid time formatstart / end is not a valid ISO 8601 datetime.
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.