Google Calendar

Overview

The Google Calendar connector enables your Leena AI Agents to integrate with your organization's Google Calendar platform, facilitating automated calendar management, event creation, and scheduling workflows.

Google Calendar is Google's time-management and scheduling service that allows users to create and edit events, set reminders, and share calendars. The Google Calendar connector allows Leena AI to automate calendar workflows, manage events, and interact with calendars seamlessly.

API Details

Leena AI integrates with Google Calendar via REST APIs.

Documentation link: https://developers.google.com/workspace/calendar/api/guides/overview

Setup

The Google Calendar connector uses OAuth 2.0 authentication with the authorisation code grant type.

Prerequisites

Before setting up the Google Calendar connector, ensure you have:

  • Administrator access to your Google Cloud Console
  • Access to Google Cloud Console API & Services
  • Ability to create OAuth applications in Google Cloud
  • Access to your Leena AI workspace with connector management permissions

Get credentials

Here is how to create an OAuth client in Google Cloud Console:

  1. Log in to Google Cloud Console (Ensure you're signed in as an admin).
  2. Navigate to API & Services:
    1. Click on API & Services in the sidebar
    2. Select Credentials
  3. Enable Google Calendar API:
    1. Go to API & Services > Library
    2. Search for "Google Calendar API"
    3. Click Enable
  4. Create OAuth Client:
    1. Navigate back to Credentials
    2. Click + CREATE CREDENTIALS
    3. Select OAuth client ID
  5. Configure OAuth Client Details
    1. Application Type: Choose the type of application
    2. Name: Enter a descriptive name for your application
    3. Authorized JavaScript origins: Add your Leena AI domain
    4. Authorized redirect URIs: This will be filled later from Leena AI
  6. Save and Note Credentials (These credentials are displayed only once during creation)

Add connection

Here is how to add an connection on Leena AI:

  1. Log in to your Leena AI workspace
  2. Navigate to Settings > Integrations
  3. Search for "Google Calendar" and select it from the list to add its new connector
  4. Start configuring the connector
    1. Client ID: OAuth application client ID
    2. Client Secret: OAuth application client secret
    3. Scope: List of permissions required to perform actions through Leena AI (Pre-filled with calendar read/write permissions)
    4. Grant Type: Authorization grant type for OAuth 2.0 (Pre-filled as 'authorization_code')
    5. ID Mapping Fields: The profile field in Leena AI, which corresponds to unique identifier in Google Calendar (Pre-filled with 'email')
    6. Redirect URL: The callback URL for OAuth flow (Auto-generated by Leena AI)
  5. Complete OAuth Flow and Save Configurations
    1. Click Connect in Leena AI for Google Calendar connector setup
    2. You'll be redirected to Google authorization page
    3. Sign in to your Google account if prompted
    4. Click Allow to grant permissions for calendar access
    5. You'll be redirected back to Leena AI with a successful connection
    6. The connector will be saved
  6. Copy Callback URL and Update Google Cloud OAuth Client
    1. Once the connector is saved in Leena AI, you can reopen the connector to view the Callback URL
    2. Copy the Callback URL from Leena AI
    3. Go back to Google Cloud Console > API & Services > Credentials
    4. Edit your OAuth client and add the Callback URL to Authorized redirect URIs
    5. Save the changes

Actions

The following actions are supported for the Google Calendar connector:

Create Event

Initiates a new calendar event in Google Calendar. The Agent can leverage the skill (workflow), which has been designed to create a new calendar event in Google Calendar, once the user raises a query to do so.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Calendar IDThe identifier of the calendar where the event will be created
SummaryThe title/subject of the event
Start Date TimeThe start date and time of the event
End Date TimeThe end date and time of the event

Optional

Name

Description

Start Timezone

The timezone for the start time

End Timezone

The timezone for the end time

Attendees

List of attendees for the event; each attendee is an object of email

Send Updates

Whether to send update notifications, options:

  • all: Send notifications to all attendees
  • externalOnly: Send notifications only to external attendees
  • none: Don't send any notifications

Conference Data Version

Version number for conference data

Conference Data

Conference/meeting details for the event, with parameters:

  • Conference Request ID: Unique identifier for the conference creation request
  • Conference Solution Type: Type of conference solution
    • hangoutsMeet: Google Meet
    • addOn: Third-party add-on solution

Here is a sample JSON input:

{
 "calendarId": "primary",
 "summary": "Team Standup Meeting",
 "start": {
   "dateTime": "2025-08-27T10:00:00",
   "timezone": "Asia/Kolkata"
 },
 "end": {
   "dateTime": "2025-08-27T10:30:00",
   "timezone": "Asia/Kolkata"
 },
 "attendees": [
   {"email": "[email protected]"},
   {"email": "[email protected]"}
 ],
 "sendUpdates": "all",
 "conferenceData": {
   "createRequest": {
     "requestId": "unique-request-id-123",
     "conferenceSolutionKey": {
       "type": "hangoutsMeet"
     }
   }
 }
}

Response

Upon successful creation, the action returns the created event details including:

  • Event ID
  • Event URL
  • Conference/meeting link (if requested)
  • Attendee status

List Events

Retrieves a list of events from a Google Calendar. This action can be leveraged by Leena AI Orchestrator/Agent to list down all the events in a specific calendar or events within a date range. Here are some common use cases:

  • Daily Schedule: Get all events for today
  • Meeting Search: Find meetings by title or attendee
  • Availability Check: Check for conflicts before scheduling
  • Weekly Review: Get all events for the current week

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Calendar IDThe identifier of the calendar to retrieve events from

Optional

Name

Description

Start Time

Lower bound (inclusive) for an event's start time to filter by

End Time

Upper bound (exclusive) for an event's end time to filter by

Single Events Only

Whether to expand recurring events into instances

Order By

The order of the events returned in the result, options:

  • start Time: Order by start time (ascending)
  • updated: Order by last modification time (ascending)

Search Query

Free text search terms to find events

Time Zone

Timezone for the time calculations

Response

The action returns a list of calendar events, each containing:

  • Event ID
  • Summary (title)
  • Description
  • Start and end times
  • Attendees information
  • Location details
  • Conference/meeting links
  • Recurrence information (if applicable)

Update Event

Updates an existing calendar event in Google Calendar. The Agent can leverage the skill (workflow), which has been designed to modify an existing calendar event in Google Calendar, once the user provides the event details to be updated. Here are some common use cases:

  • Reschedule Meetings: Change meeting times due to conflicts
  • Update Agenda: Modify event title and description
  • Change Venue: Update meeting location
  • Manage Attendees: Add or remove meeting participants
  • Extend Duration: Modify start/end times for longer discussions

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Calendar IDThe identifier of the calendar containing the event
Event IDThe unique identifier of the event to be updated

Optional

NameDescription
Event SummaryThe updated title/subject of the event
Start DateTimeThe updated start date and time of the event
Start TimezoneThe timezone for the start time
End DateTimeThe updated end date and time of the event
End TimezoneThe timezone for the end time
AttendeesUpdated list of attendees for the event
Send UpdatesWhether to send update notifications
LocationEvent location
DescriptionEvent description

Response

Upon successful update, the action returns the updated event details including:

  • Updated event properties
  • Event URL
  • Modification timestamp
  • Attendee notification status

Delete Event

Deletes an existing calendar event from Google Calendar. The Agent can leverage the skill (workflow), which has been designed to remove a calendar event from Google Calendar, once the user specifies the event to be deleted. Here are some common use cases:

  • Cancel Meetings: Remove cancelled meetings from calendars
  • Cleanup Old Events: Remove outdated or duplicate events
  • Event Management: Delete events that are no longer relevant
  • Bulk Cleanup: Remove multiple events (when used in workflows)
  • Privacy Management: Remove sensitive events

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Calendar IDThe identifier of the calendar containing the event
Event IDThe unique identifier of the event to be deleted

Optional

Name

Description

Send Updates

Whether to send update notifications, options:

  • all: Send notifications to all attendees
  • externalOnly: Send notifications only to external attendees
  • none: Don't send any notifications (default)

Response

Upon successful deletion, the action returns:

  • Confirmation of successful deletion
  • Deletion timestamp
  • Notification status (if attendees were notified)