• Tools
Tools
  • Tools
loading...
No Results
  • AirDroid Business
    • Index
    • Clear app data and cache
    • Create a group
    • Delete groups
    • Disable lost mode
    • Error codes
    • Enable lost mode
    • Field reference
    • Get average screen time
    • Get account activities
    • Get a group
    • Get a group id by group name
    • Get a device by name
    • Get a device app by name
    • Get an activity log
    • Get all devices
    • Get all device apps
    • Get all devices with filter
    • Get device info push
    • Get device location report
    • Get device network connection history
    • Get device application usage duration
    • Get device application report
    • Get device online status report
    • Get device remote access report
    • Get data usage overview and trends
    • Get tag ids by tag names
    • Get top 10 apps by usage duration
    • Get top 10 data usage apps
    • Lock a device
    • Move devices to a group
    • Open app to foreground
    • Power off a device
    • Reboot device
    • Remote operation
    • Set tags
    • Turn off device screen
    • Unenroll a device
    • Update a device name
    • Update a device remark
    • Update a group name
    • Update a group remark
  • System Tools
    • Code
    • CSV
    • Crypto
    • Data Shaping
    • Date & Time
    • Delay
    • Documents
    • QRCode
    • Search&Crawl
    • Text
    • Xml
  • ActiveCampaign
  • Asana
  • AWS-S3
  • AWS Lambda
  • Appstore
  • BambooHR
  • Bitbucket
  • Brevo
  • Coda
  • ConvertKit
  • Clockify
  • DingTalk
  • Discourse
  • Discord
  • Dropbox
  • Elastic Security
  • FeiShu
  • Firecrawl
  • Freshdesk
  • Freshservice
  • Freshworks CRM
  • Gerrit
  • Gitlab
  • Github
  • Grafana
  • Google Ads
  • Google Docs
  • Google Drive
  • Google Gmail
  • Google Sheets
  • Google Analytics
  • Google Calendar
  • Google Developer
  • Harvest
  • HaloPSA
  • Hacker News
  • Hubspot
  • Help Scout
  • Intercom
  • Jira
  • Jenkins
  • Kafka
  • Linear
  • Lemlist
  • MySQL
  • monday.com
  • Metabase
  • MailChimp
  • Microsoft Excel
  • Microsoft Teams
  • Microsoft To Do
  • Microsoft OneDrive
  • Microsoft Outlook
  • Microsoft SharePoint
  • Notion
  • Nextcloud
  • Odoo
  • Ortto
  • Okta
  • PayPal
  • Paddle
  • Pipedrive
  • PostHog
  • PostgreSQL
  • OpenAI
  • Qdrant
  • QuickBooks
  • Redis
  • Strapi
  • Stripe
  • Splunk
  • Spotify
  • Shopify
  • SendGrid
  • Segment
  • ServiceNow
  • Trello
  • Twilio
  • Todoist
  • Telegram
  • Webflow
  • Wikipedia
  • WordPress
  • WooCommerce
  • YouTube
  • Zulip
  • Zoom
  • Zendesk
  • Zammad
  • Zoho CRM
Home > Tools

Google Calendar

1. Overview

Google Calendar is a time-management and scheduling calendar service developed by Google. It allows users to create and edit events, set reminders, and share calendars with others. Google Calendar integrates seamlessly with other Google services and provides powerful API access for automation.

Through GoInsight's Google Calendar node, you can seamlessly integrate calendar management into your automated workflows. You can perform comprehensive calendar and event operations, including:

  • Creating and managing events with detailed information including time, description, and attendees.
  • Retrieving events with flexible filtering options based on time ranges.
  • Checking calendar availability to find free time slots for scheduling.
  • Updating and deleting events to maintain accurate calendar information.

2. Prerequisites

Before using this node, you must have a valid Google account with access to Google Calendar. You will need to create a project in the Google Cloud Console and enable the Google Calendar API. Additionally, you need to create OAuth 2.0 credentials or a service account to obtain the necessary authentication credentials for API access.

3. Credentials

For a detailed guide on how to obtain and configure credentials, please refer to our official documentation: Credentials Configuration Guide.

4. Supported Operations

Summary

This node primarily operates on resources such as Event and Availability.

Resource Operation Description
Event Create an Event Add an event to calendar
Event Delete an Event WARNING: This action permanently deletes the event from Google Calendar. The operation cannot be undone. Deleted events are moved to the trash and will be permanently removed after 30 days.
Event Get an Event Get an event
Event Get Many Events Get many events
Event Update an Event Update an event
Availability Get Availability If a time-slot is available in a calendar

Operation Details

Create an Event

Add an event to calendar

Input Parameters:

  • CalendarId: The unique identifier of the target calendar. Use 'primary' to refer to your main calendar. To get IDs of other calendars, use the List Calendars action or check Google Calendar settings. Example: 'primary' or 'abc123@group.calendar.google.com'
  • EventSummary: The title or subject of the event (what attendees will see in their calendar). Example: 'Team Standup Meeting' or 'Q1 Planning Session'
  • EventStartTime: Event start time in RFC3339 format with timezone. Examples: - With timezone offset: '2025-07-23T10:00:00-07:00' (Pacific Time) - UTC time: '2025-07-23T17:00:00Z' - For all-day events, use date only: '2025-07-23' (requires special handling, see Google Calendar API docs)
  • EventEndTime: Event end time, must be in RFC3339 format, such as '2025-07-23T11:00:00-07:00'

Options:

  • EventDescription: the description of the event

Output:

  • EventId (string): The unique identifier of the created event. Use this ID to update, delete, or retrieve event details via Update Event or Delete Event actions. Example: 'abc123def456'
  • OriginalStatusCode (number): The original HTTP status code returned by Google Calendar API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
  • StatusCode (number): The HTTP status code returned by the API (e.g., 200 for a successful list request, 201 for a successful create,204 for a successful delete) or 500 if an internal error occurred during processing.
  • ErrorMessage (string): A string detailing any error encountered during the request or exception thrown, it is empty when the operation succeeds.

Delete an Event

WARNING: This action permanently deletes the event from Google Calendar. The operation cannot be undone. Deleted events are moved to the trash and will be permanently removed after 30 days.

Input Parameters:

  • CalendarId: the Id of the calendar
  • EventId: The unique identifier of the event to delete. Obtain this ID by calling 'List Events' or 'Search Events' actions. Example: 'abc123xyz456_20250101T100000Z'

Output:

  • Deleted (bool): Indicates whether the event was deleted successfully (True for success, False for failure)
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
  • StatusCode (number): The HTTP status code returned by the API (e.g., 200 for a successful list request, 201 for a successful create,204 for a successful delete) or 500 if an internal error occurred during processing.
  • ErrorMessage (string): A string detailing any error encountered during the request or exception thrown, it is empty when the operation succeeds.

Get an Event

Get an event

Input Parameters:

  • CalendarId: the Id of the calendar
  • EventId: the Id of the event

Output:

  • Event (object): The event details obtained. If failed, it will be an empty dictionary.
  • OriginalStatusCode (number): The original HTTP status code returned by Google Calendar API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
  • StatusCode (number): The HTTP status code returned by the API (e.g., 200 for a successful list request, 201 for a successful create,204 for a successful delete) or 500 if an internal error occurred during processing.
  • ErrorMessage (string): A string detailing any error encountered during the request or exception thrown, it is empty when the operation succeeds.

Get Many Events

Get many events

Input Parameters:

  • CalendarId: Calendar identifier. Use 'primary' for the user's primary calendar, or a specific calendar ID (e.g., 'user@example.com'). To get other calendar IDs, call the 'List Calendars' action first. Example: "primary"

Options:

  • TimeMin: Lower bound (inclusive) for event start time in RFC3339 format with UTC timezone (ending in 'Z'). If omitted, defaults to current time. Example: "2025-07-01T00:00:00Z"
  • TimeMax: Upper bound (exclusive) for event start time in RFC3339 format with UTC timezone. If omitted, no upper limit. Example: "2025-07-31T23:59:59Z"
  • MaxResults: Maximum number of events to return per page. Range: 1-2500. Default: 10. Note: Google Calendar API may return fewer items even if more are available (check NextPageToken).
  • EventTypes: Comma-separated list of event types to filter. Leave empty to include all types. Allowed values: default (Regular calendar events), birthday (Birthday reminders), focusTime (Focus time blocks), fromGmail (Events auto-created from Gmail), outOfOffice (Out-of-office/vacation status), workingLocation (Working location info). Example: "default,birthday"
  • PageToken: Token for retrieving the next page of results. Obtained from the NextPageToken field of the previous response. Leave empty for the first page. Example: "CiAKGjBpNDd2Nmp2Zml2cXRwYjBpOXA"
  • SingleEvents: Whether to expand recurring events into individual instances. If true, recurring events will be expanded; if false, only the master event is returned. Default: true. Recommended: Keep true for most use cases.
  • OrderBy: Sort order of events. Allowed values: 'startTime' (chronological order) or 'updated' (last modified time). Default: 'startTime'. Note: 'startTime' requires SingleEvents=true.
  • Q: Free text search query to filter events.
  • ShowDeleted: Whether to include deleted events (with status 'cancelled') in the result.
  • TimeZone: The time zone of the calendar. If omitted, the calendar's default time zone is used.

Output:

  • Events (object-array): List of event objects from Google Calendar. Each event contains core fields (id, summary, description, status, htmlLink), time fields (start.dateTime, start.date, end.dateTime, end.date), and people fields (attendees, creator, organizer).
  • NextPageToken (string): Token for retrieving the next page of results. Empty string means no more pages available. Pass this value to the next request to continue pagination. Example: "CiAKGjBpNDd2Nmp2Zml2cXRwYjBpOXA"
  • OriginalStatusCode (number): The original HTTP status code returned by Google Calendar API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): A string detailing any error encountered during the request or exception thrown, it is empty when the operation succeeds.

Update an Event

Update an event

Input Parameters:

  • CalendarId: Calendar identifier. Common values: primary (User's primary calendar), email@gmail.com (Calendar owned by specific user), or calendar_id from 'List Calendars' action. Example: "primary" or "user@example.com"
  • EventId: Event unique identifier. Obtain from List Events, Get Event, or Create Event action response. Format: Alphanumeric string. Example: "abc123def456ghi789"
  • EventBody: Event update information (JSON object). Supports partial updates (only provided fields will be modified). Core fields include summary, description, start, end, and attendees.

Output:

  • UpdatedEvent (object): Updated event information as a JSON object. Key fields include id, summary, description, start, end, htmlLink, attendees, status, and updated.
  • OriginalStatusCode (number): The original HTTP status code returned by Google Calendar API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
  • StatusCode (number): Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
  • ErrorMessage (string): A string detailing any error encountered during the request or exception thrown, it is empty when the operation succeeds.

Get Availability

If a time-slot is available in a calendar

Input Parameters:

  • CalendarId: The calendar ID. Use "primary" for the user's primary calendar, or obtain specific calendar IDs via the List Calendars action. Example: "primary" or "abc123@group.calendar.google.com"
  • StartTime: Start time of the query in RFC3339 format. Must include timezone (use 'Z' for UTC or offset like '+08:00'). Examples: UTC time: "2025-08-01T10:00:00Z" or With timezone: "2025-08-01T18:00:00+08:00"
  • EndTime: End time of the query in RFC3339 format. Must include timezone (use 'Z' for UTC or offset like '+08:00'). Note: Must be later than StartTime.

Options:

  • TimeZone: Time zone identifier (IANA format). Default is "UTC". Common values: "America/New_York" (US Eastern), "Europe/London" (UK), "Asia/Shanghai" (China), "Asia/Tokyo" (Japan).

Output:

  • IsAvailable (bool): Whether the time period is completely free (no events scheduled). true: No events found in the specified time range. false: At least one event exists (includes confirmed and tentative events). Note: This checks only the "busy" status. Declined events are not counted.
  • FreeBusyInfo (object): The raw response object from Google Calendar FreeBusy API. Core fields include calendars..busy (list of busy time periods), timeMin, timeMax, and kind.
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
  • StatusCode (number): Operation status code: 200=Success, -1=Parameter validation error, 500=System error.
  • ErrorMessage (string): A string detailing any error encountered during the request or exception thrown, it is empty when the operation succeeds.

5. Example Usage

This section will guide you through creating a simple workflow to create a calendar event using the GoInsight Google Calendar node.

Scenario: You want to automatically create a meeting event in your Google Calendar.

Workflow Overview: This example workflow consists of Start -> Google Calendar -> Answer.

Step-by-Step Guide:

  1. Add the Tool Node:
    • In your workflow canvas, click the "+" button to add a new node.
    • In the panel that appears, select the "Tools" tab.
    • Find and select Google Calendar from the tools list.
    • From the Google Calendar operations list, click on Create an Event. This will add the corresponding node to your canvas.
  2. Configure the Node:
    • Click on the newly added Create an Event node. The configuration panel will open on the right side.
    • Credentials Configuration: At the top of the panel, find the credentials field. Click the dropdown menu and select your configured Google Calendar credentials.
    • Parameter Configuration:
    • CalendarId: Enter your calendar ID, typically your Gmail address (e.g., "user@example.com") or "primary" for your primary calendar.
    • EventSummary: Enter the event title, for example: "Team Meeting".
    • EventStartTime: Enter the event start time in RFC3339 format, for example: "2025-12-10T10:00:00-07:00".
    • EventEndTime: Enter the event end time in RFC3339 format, for example: "2025-12-10T11:00:00-07:00".
    • EventDescription: Enter a description for the event, for example: "Quarterly review meeting".
  3. Run and Verify:
    • Once all required parameters are filled correctly, the error indicator on the canvas will disappear.
    • Click the "Test Run" button in the top-right corner of the canvas to execute the workflow.
    • After successful execution, click the logs icon in the top-right to view the node's detailed inputs and outputs, and verify that the event was created successfully. You can also check your Google Calendar to see the new event.

Final Workflow Summary: After completing these steps, your workflow is fully configured. When you click "Test Run", a new calendar event will be created in your Google Calendar with the specified details.

6. FAQs

Q: How do I find my Calendar ID?

A: For your primary calendar, you can use "primary" as the Calendar ID. For other calendars, go to Google Calendar settings, select the calendar you want to use, and find the Calendar ID in the "Integrate calendar" section. It usually looks like an email address.

Q: What time format should I use for event times?

A: You must use RFC3339 format with timezone information. Examples:

  • With timezone offset: "2025-12-10T10:00:00-07:00"
  • With UTC: "2025-12-10T17:00:00Z"

Q: Can I create recurring events?

A: The current Create an Event operation creates single events. For recurring events, you would need to use the Update an Event operation with a recurrence rule in the EventBody parameter.

Q: What should I do if I get a 403 Forbidden error?

A: Check the following:

  • Ensure your credentials have the necessary permissions (calendar.events scope).
  • Verify that the Google Calendar API is enabled in your Google Cloud project.
  • Check that you have access to the specified calendar.

Q: How do I check if a time slot is available before creating an event?

A: Use the "Get Availability" operation first with your desired start and end times. It will return IsAvailable as true if the time slot is free, allowing you to proceed with event creation.

7. Official Documentation

For more detailed information about Google Calendar API capabilities and advanced features, please refer to: Google Calendar Official API Documentation

Updated on: Apr 16, 2026
Was This Page Helpful?
Prev Google Analytics
Next Google Developer
Discussion

Leave a Reply. Cancel reply

Your email address will not be published. Required fields are marked*

Product-related questions?Contact Our Support Team to Get a Quick Solution>
On this page
  • 1. Overview
  • 2. Prerequisites
  • 3. Credentials
  • 4. Supported Operations
    • Summary
    • Operation Details
  • 5. Example Usage
  • 6. FAQs
  • 7. Official Documentation
loading...
No Results