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:
- Log in to Google Cloud Console (Ensure you're signed in as an admin).
- Navigate to API & Services:
- Click on API & Services in the sidebar
- Select Credentials
- Enable Google Calendar API:
- Go to API & Services > Library
- Search for "Google Calendar API"
- Click Enable
- Create OAuth Client:
- Navigate back to Credentials
- Click + CREATE CREDENTIALS
- Select OAuth client ID
- Configure OAuth Client Details
- Application Type: Choose the type of application
- Name: Enter a descriptive name for your application
- Authorized JavaScript origins: Add your Leena AI domain
- Authorized redirect URIs: This will be filled later from Leena AI
- Save and Note Credentials (These credentials are displayed only once during creation)
Add connection
Here is how to add an connection on Leena AI:
- Log in to your Leena AI workspace
- Navigate to Settings > Integrations
- Search for "Google Calendar" and select it from the list to add its new connector
- Start configuring the connector
- Client ID: OAuth application client ID
- Client Secret: OAuth application client secret
- Scope: List of permissions required to perform actions through Leena AI (Pre-filled with calendar read/write permissions)
- Grant Type: Authorization grant type for OAuth 2.0 (Pre-filled as 'authorization_code')
- ID Mapping Fields: The profile field in Leena AI, which corresponds to unique identifier in Google Calendar (Pre-filled with 'email')
- Redirect URL: The callback URL for OAuth flow (Auto-generated by Leena AI)
- Complete OAuth Flow and Save Configurations
- Click Connect in Leena AI for Google Calendar connector setup
- You'll be redirected to Google authorization page
- Sign in to your Google account if prompted
- Click Allow to grant permissions for calendar access
- You'll be redirected back to Leena AI with a successful connection
- The connector will be saved
- Copy Callback URL and Update Google Cloud OAuth Client
- Once the connector is saved in Leena AI, you can reopen the connector to view the Callback URL
- Copy the Callback URL from Leena AI
- Go back to Google Cloud Console > API & Services > Credentials
- Edit your OAuth client and add the Callback URL to Authorized redirect URIs
- 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
| Name | Description |
|---|---|
| Calendar ID | The identifier of the calendar where the event will be created |
| Summary | The title/subject of the event |
| Start Date Time | The start date and time of the event |
| End Date Time | The 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:
|
Conference Data Version | Version number for conference data |
Conference Data | Conference/meeting details for the event, with parameters:
|
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
| Name | Description |
|---|---|
| Calendar ID | The 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:
|
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
| Name | Description |
|---|---|
| Calendar ID | The identifier of the calendar containing the event |
| Event ID | The unique identifier of the event to be updated |
Optional
| Name | Description |
|---|---|
| Event Summary | The updated title/subject of the event |
| Start DateTime | The updated start date and time of the event |
| Start Timezone | The timezone for the start time |
| End DateTime | The updated end date and time of the event |
| End Timezone | The timezone for the end time |
| Attendees | Updated list of attendees for the event |
| Send Updates | Whether to send update notifications |
| Location | Event location |
| Description | Event 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
| Name | Description |
|---|---|
| Calendar ID | The identifier of the calendar containing the event |
| Event ID | The unique identifier of the event to be deleted |
Optional
Name | Description |
|---|---|
Send Updates | Whether to send update notifications, options:
|
Response
Upon successful deletion, the action returns:
- Confirmation of successful deletion
- Deletion timestamp
- Notification status (if attendees were notified)
Updated about 20 hours ago
