Skip to main content

Google Calendar Node

The Google Calendar node provides integration with Google Calendar in SkyStudio workflows. You can read, create, update, and delete events, and run AI-powered natural language queries.


🎬 Click to watch the video →

Connection Setup and Management

To use the Google Calendar node, you must first create a Google account connection.

Adding a New Connection

  1. Go to Application Connections from the left menu in SkyStudio.
  2. Click the Add New Connection button.
  3. Select Google Calendar as the provider.
  4. Click the Authorize with Google button.
  5. In the Google OAuth window that opens, select your account and approve the required permissions.
  6. Once authorization is completed, the connection is saved automatically.

Note: The Google Calendar node uses the OAuth 2.0 protocol. Your password is not sent to SkyStudio; only the access token provided by Google is stored.

Assigning the Connection to the Node

After adding the Google Calendar node to the canvas, select the Google account connection you created from the Application Connections dropdown in the right panel.

What is Calendar ID?

Calendar ID specifies which calendar will be used.

ValueDescription
primaryDefault primary calendar in your Google account
user@gmail.comEmail address of a specific calendar
Custom IDUnique calendar identifier copied from Google Calendar settings

To find your Calendar ID: Google Calendar → Calendar Settings → Integrate calendar section → Calendar ID field.


Operations

The Google Calendar node provides 9 operations:

OperationCategoryDescription
Get EventsFeaturedLists events within a specific date range
Today’s EventsFeaturedRetrieves all events for today
Upcoming EventsFeaturedLists events in the upcoming days
Google Calendar AI AssistantFeaturedQueries calendar data using natural language
List CalendarsStandardLists all calendars in the account
Get EventStandardRetrieves the details of a single event by ID
Create EventStandardCreates a new calendar event
Update EventStandardUpdates an existing event
Delete EventStandardDeletes an event from the calendar

Get Events

Returns calendar events within the specified date range. It is used in reporting and event filtering scenarios.

Parameters

ParameterRequiredDescription
ConnectionYesThe Google account connection to use
Calendar IDYesCalendar identifier from which events will be retrieved, such as primary
Start DateNoSearch start date. Can be entered manually. Format: 2024-06-01T00:00:00
End DateNoSearch end date. Can be entered manually. Format: 2024-06-30T23:59:59
Search QueryNoText to search in the title or description
Max ResultsNoMaximum number of events to return
Order ByNoSorting criterion: startTime or updated

Example Output

{
"items": [
{
"id": "abc123xyz",
"summary": "Project Meeting",
"start": {
"dateTime": "2024-11-15T10:00:00"
},
"end": {
"dateTime": "2024-11-15T11:00:00"
},
"location": "Meeting Room 1",
"status": "confirmed"
}
]
}

Today’s Events

Automatically retrieves all events scheduled for today in the selected calendar. It is ideal for getting a daily summary without entering date parameters.

Parameters

ParameterRequiredDescription
ConnectionYesThe Google account connection to use
Calendar IDYesCalendar identifier from which events will be retrieved
TimezoneNoTime zone used to determine the boundaries of the day, such as Europe/Istanbul

Tip: If no time zone is specified, UTC is used. For workflows running in Türkiye, enter Europe/Istanbul.


Upcoming Events

Retrieves events within the specified number of days from the current time. It is suitable for reminder and notification workflows.

Parameters

ParameterRequiredDescription
ConnectionYesThe Google account connection to use
Calendar IDYesCalendar identifier from which events will be retrieved
Days AheadNoNumber of days ahead to scan, such as 7 for the next week
Max ResultsNoMaximum number of events to return

Google Calendar AI Assistant

Allows you to query calendar data using natural language. It is ideal for accessing information without writing complex date and time filters.

Parameters

ParameterRequiredDescription
ConnectionYesThe Google account connection to use
QueryYesQuery question written in natural language
System PromptNoSystem instruction that customizes the AI assistant’s behavior

Usage Example

Query: "How many meetings do I have this weekend?"

System Prompt: "Count only events that include the word 'Toplantı' or 'Meeting'."

Tip: You can use the System Prompt to define constraints for the AI assistant, such as specific calendars, people, or event categories.


List Calendars

Returns all calendars connected to your Google account, including personal, shared, and team calendars. It is used to discover which calendars you can access and to find Calendar ID values.

Parameters

ParameterRequiredDescription
ConnectionYesThe Google account connection to use

Example Output

{
"items": [
{
"id": "primary",
"summary": "Ahmet Yılmaz",
"primary": true,
"accessRole": "owner"
},
{
"id": "tr.turkish#holiday@group.v.calendar.google.com",
"summary": "Holidays in Türkiye",
"accessRole": "reader"
}
]
}

Get Event

Retrieves all details of a single calendar event using a specific Event ID.

Parameters

ParameterRequiredDescription
ConnectionYesThe Google account connection to use
Calendar IDYesCalendar identifier where the event exists
Event IDYesGoogle Calendar ID of the event to retrieve

How to Find the Event ID

The id field returned by the Get Events or Today’s Events operations is the Event ID of that event. It can also be copied from the URL when you open the event in the Google Calendar web interface.


Create Event

Creates a new event in Google Calendar. Participant invitations, location, and all-day events are supported.

Parameters

ParameterRequiredDescription
ConnectionYesThe Google account connection to use
Calendar IDYesCalendar identifier where the event will be created
TitleYesEvent title
DescriptionNoEvent description or notes
Start Date TimeYesStart date and time. Can be entered manually. Format: 2024-06-01T10:00:00
End Date TimeYesEnd date and time. Can be entered manually. Format: 2024-06-01T11:00:00
TimezoneNoTime zone of the event, such as Europe/Istanbul
LocationNoEvent location, such as an address or venue name
AttendeesNoEmail addresses of participants to invite, separated by commas
All Day EventNoMarks the event as an all-day event. If enabled, time information is ignored

Using Attendees

To add multiple participants, separate email addresses with commas:

ali@company.com, ayse@company.com, mehmet@partner.com

A Google Calendar invitation is automatically sent to each participant.

All Day Event Mode

When All Day Event is enabled, the Start Date Time and End Date Time fields still use the same format, such as 2024-12-31T00:00:00, but the time information is ignored and the event is marked as all-day.


Update Event

Updates the information of an existing calendar event. Only the entered fields are changed; fields left empty keep their existing values.

Parameters

ParameterRequiredDescription
ConnectionYesThe Google account connection to use
Calendar IDYesCalendar identifier where the event exists
Event IDYesID of the event to update
TitleNoNew event title
DescriptionNoNew description or notes
Start Date TimeNoNew start date and time
End Date TimeNoNew end date and time
TimezoneNoNew time zone
LocationNoNew location information
AttendeesNoUpdated participant list, with emails separated by commas

Warning: When the Attendees field is entered, the entire existing participant list is replaced with the new list. To preserve existing participants, first retrieve the current list using Get Event and add new participants on top of it.


Delete Event

Permanently deletes a calendar event. This action cannot be undone.

Parameters

ParameterRequiredDescription
ConnectionYesThe Google account connection to use
Calendar IDYesCalendar identifier where the event exists
Event IDYesID of the event to delete

Warning: Deletion is permanent and cannot be undone. Make sure the Event ID is correct before deleting.


Quick Start Examples

Example 1: Daily Meeting Summary

A workflow that summarizes today’s meetings every morning and sends them to Slack:

Schedule (Every morning at 08:00) → Today’s Events → LLM (summarize) → Slack Message

Today’s Events settings:

  • Calendar ID: primary
  • Timezone: Europe/Istanbul

Example 2: Automatic Meeting Scheduler

A workflow that automatically creates an event based on meeting information entered by the user:

Text Input → LLM (parse information) → Create Event → Confirmation Message

Create Event settings:

  • Calendar ID: primary
  • Title: {{llm.output.title}}
  • Start Date Time: {{llm.output.start}}
  • End Date Time: {{llm.output.end}}
  • Attendees: {{llm.output.attendees}}
  • Timezone: Europe/Istanbul

Example 3: Upcoming Event Reminder

A workflow that sends email reminders for events within the next 24 hours:

Schedule (Every day at 09:00) → Upcoming Events → Condition (are there events?) → Send Email

Upcoming Events settings:

  • Calendar ID: primary
  • Days Ahead: 1
  • Max Results: 10

Example 4: Natural Language Calendar Assistant

A calendar chatbot that answers user questions in natural language:

Text Input → Google Calendar AI Assistant → Text Output

Google Calendar AI Assistant settings:

  • Query: {{input.text}}
  • System Prompt: "Answer the user’s calendar-related questions in Turkish. Provide date and time information in Türkiye time."

Common Errors

ErrorPossible CauseSolution
401 UnauthorizedOAuth token has expired or been revokedReauthorize the Google account from connection settings
403 ForbiddenNo write permission for the calendarCheck calendar permissions in Google Calendar
404 Not FoundInvalid Calendar ID or Event IDVerify the correct Calendar ID using List Calendars
409 ConflictEvent conflict with the same Event IDAvoid using an existing Event ID when creating a new event
Invalid time rangeStart Date Time is after End Date TimeCheck that the start date is before the end date
Calendar not foundIncorrect or inaccessible Calendar IDVerify that the account has access permission for the relevant calendar

Notes

  • All date and time values must be entered in YYYY-MM-DDTHH:MM:SS format, such as 2024-06-01T10:00:00. Values can be entered manually or bound with /. Timezone offset, such as +03:00, is not added to the datetime string; the time zone is specified separately in the Timezone field.
  • The Timezone field uses values from the IANA time zone database. Use Europe/Istanbul for Türkiye.
  • Google Calendar API has a limit of 10 requests per second. In workflows that process many events, it is recommended to add delay between requests.
  • For recurring events, Delete Event deletes only the selected instance. To delete the entire series, use the Google Calendar interface.
  • When All Day Event is enabled, the Timezone setting is ignored.