Overview
Enable your agents to manage calendar events, schedules, and availability through Google Calendar. Create and update events, manage attendees, check availability, and streamline your scheduling workflows with AI-powered automation.Prerequisites
Before using the Google Calendar integration, ensure you have:- A CrewAI AMP account with an active subscription
- A Google account with Google Calendar access
- Connected your Google account through the Integrations page
Setting Up Google Calendar Integration
1. Connect Your Google Account
- Navigate to CrewAI AMP Integrations
- Find Google Calendar in the Authentication Integrations section
- Click Connect and complete the OAuth flow
- Grant the necessary permissions for calendar access
- Copy your Enterprise Token from Integration Settings
2. Install Required Package
3. Environment Variable Setup
To use integrations with
Agent(apps=[]), you must set the CREWAI_PLATFORM_INTEGRATION_TOKEN environment variable with your Enterprise Token..env file:
Available Actions
google_calendar/get_availability
google_calendar/get_availability
Description: Get calendar availability (free/busy information).Parameters:
timeMin(string, required): Start time (RFC3339 format)timeMax(string, required): End time (RFC3339 format)items(array, required): Calendar IDs to checktimeZone(string, optional): Time zone used in the response. The default is UTC.groupExpansionMax(integer, optional): Maximal number of calendar identifiers to be provided for a single group. Maximum: 100calendarExpansionMax(integer, optional): Maximal number of calendars for which FreeBusy information is to be provided. Maximum: 50
google_calendar/create_event
google_calendar/create_event
Description: Create a new event in the specified calendar.Parameters:
calendarId(string, required): Calendar ID (use ‘primary’ for main calendar)summary(string, required): Event title/summarystart_dateTime(string, required): Start time in RFC3339 format (e.g., 2024-01-20T10:00:00-07:00)end_dateTime(string, required): End time in RFC3339 formatdescription(string, optional): Event descriptiontimeZone(string, optional): Time zone (e.g., America/Los_Angeles)location(string, optional): Geographic location of the event as free-form text.attendees(array, optional): List of attendees for the event.reminders(object, optional): Information about the event’s reminders.conferenceData(object, optional): The conference-related information, such as details of a Google Meet conference.visibility(string, optional): Visibility of the event. Options: default, public, private, confidential. Default: defaulttransparency(string, optional): Whether the event blocks time on the calendar. Options: opaque, transparent. Default: opaque
google_calendar/view_events
google_calendar/view_events
Description: Retrieve events for the specified calendar.Parameters:
calendarId(string, required): Calendar ID (use ‘primary’ for main calendar)timeMin(string, optional): Lower bound for events (RFC3339)timeMax(string, optional): Upper bound for events (RFC3339)maxResults(integer, optional): Maximum number of events (default 10). Minimum: 1, Maximum: 2500orderBy(string, optional): The order of the events returned in the result. Options: startTime, updated. Default: startTimesingleEvents(boolean, optional): Whether to expand recurring events into instances and only return single one-off events and instances of recurring events. Default: trueshowDeleted(boolean, optional): Whether to include deleted events (with status equals cancelled) in the result. Default: falseshowHiddenInvitations(boolean, optional): Whether to include hidden invitations in the result. Default: falseq(string, optional): Free text search terms to find events that match these terms in any field.pageToken(string, optional): Token specifying which result page to return.timeZone(string, optional): Time zone used in the response.updatedMin(string, optional): Lower bound for an event’s last modification time (RFC3339) to filter by.iCalUID(string, optional): Specifies an event ID in the iCalendar format to be provided in the response.
google_calendar/update_event
google_calendar/update_event
Description: Update an existing event.Parameters:
calendarId(string, required): Calendar IDeventId(string, required): Event ID to updatesummary(string, optional): Updated event titledescription(string, optional): Updated event descriptionstart_dateTime(string, optional): Updated start timeend_dateTime(string, optional): Updated end time
google_calendar/delete_event
google_calendar/delete_event
Description: Delete a specified event.Parameters:
calendarId(string, required): Calendar IDeventId(string, required): Event ID to delete
google_calendar/view_calendar_list
google_calendar/view_calendar_list
Description: Retrieve user’s calendar list.Parameters:
maxResults(integer, optional): Maximum number of entries returned on one result page. Minimum: 1pageToken(string, optional): Token specifying which result page to return.showDeleted(boolean, optional): Whether to include deleted calendar list entries in the result. Default: falseshowHidden(boolean, optional): Whether to show hidden entries. Default: falseminAccessRole(string, optional): The minimum access role for the user in the returned entries. Options: freeBusyReader, owner, reader, writer
Usage Examples
Basic Calendar Agent Setup
Filtering Specific Calendar Tools
Event Management and Updates
Availability and Calendar Management
Automated Scheduling Workflows
Troubleshooting
Common Issues
Authentication Errors- Ensure your Google account has the necessary permissions for calendar access
- Verify that the OAuth connection includes all required scopes for Google Calendar API
- Check if calendar sharing settings allow the required access level
- Verify that time formats are correct (RFC3339 format)
- Ensure attendee email addresses are properly formatted
- Check that the target calendar exists and is accessible
- Verify time zones are correctly specified
- Use proper RFC3339 format for time ranges when checking availability
- Ensure time zones are consistent across all operations
- Verify that calendar IDs are correct when checking multiple calendars
- Verify that event IDs are correct and events exist
- Ensure you have edit permissions for the events
- Check that calendar ownership allows modifications
Getting Help
Need Help?
Contact our support team for assistance with Google Calendar integration setup or troubleshooting.
