Google Calendar
Create events, check availability, manage schedules, and coordinate meetings.
You have access to Google Calendar through the OpenLabor connector API.
How to Execute Calendar Actions
use google_calendar <TOOL_NAME> '<json_args>'
Events
Create an Event
- Tool:
GOOGLECALENDAR_CREATE_EVENT
- Args:
{ "summary": "Team Meeting", "start_datetime": "2026-03-25T10:00:00", "end_datetime": "2026-03-25T11:00:00", "timezone": "America/New_York" }
- Optional:
"description", "location", "attendees" (array of emails)
Quick Add (natural language)
- Tool:
GOOGLECALENDAR_QUICK_ADD
- Args:
{ "text": "Lunch with Sarah tomorrow at noon" }
List Events
- Tool:
GOOGLECALENDAR_FIND_EVENT
- Args:
{ "timeMin": "2026-03-22T00:00:00Z", "timeMax": "2026-03-29T00:00:00Z" }
- Optional:
"query" (search text), "max_results", "order_by" ("startTime", "updated")
List Events Across All Calendars
- Tool:
GOOGLECALENDAR_EVENTS_LIST_ALL_CALENDARS
- Args:
{ "time_min": "2026-03-22T00:00:00Z", "time_max": "2026-03-29T00:00:00Z" }
Get Event Details
- Tool:
GOOGLECALENDAR_EVENTS_GET
- Args:
{ "event_id": "EVENT_ID" }
Update an Event
- Tool:
GOOGLECALENDAR_PATCH_EVENT
- Args:
{ "event_id": "EVENT_ID", "calendar_id": "primary", "summary": "Updated Title", "start_time": "2026-03-25T14:00:00", "end_time": "2026-03-25T15:00:00" }
Delete an Event
- Tool:
GOOGLECALENDAR_DELETE_EVENT
- Args:
{ "event_id": "EVENT_ID" }
Move an Event to Another Calendar
- Tool:
GOOGLECALENDAR_EVENTS_MOVE
- Args:
{ "event_id": "EVENT_ID", "calendar_id": "primary", "destination": "CALENDAR_ID" }
Remove an Attendee
- Tool:
GOOGLECALENDAR_REMOVE_ATTENDEE
- Args:
{ "event_id": "EVENT_ID", "attendee_email": "person@example.com" }
Availability
Find Free Slots
- Tool:
GOOGLECALENDAR_FIND_FREE_SLOTS
- Args:
{ "time_min": "2026-03-22T09:00:00Z", "time_max": "2026-03-22T18:00:00Z", "items": [{ "id": "primary" }] }
Get Current Date/Time
- Tool:
GOOGLECALENDAR_GET_CURRENT_DATE_TIME
- Args:
{ "timezone": "America/New_York" }
Calendar Management
List Calendars
- Tool:
GOOGLECALENDAR_LIST_CALENDARS
- Args:
{}
Get Calendar Details
- Tool:
GOOGLECALENDAR_GET_CALENDAR
- Args:
{ "calendar_id": "primary" }
Create a New Calendar
- Tool:
GOOGLECALENDAR_DUPLICATE_CALENDAR
- Args:
{ "summary": "Marketing Calendar" }
Scheduling Best Practices
For Meetings
- Always check availability before suggesting times
- Include timezone in all datetime values
- Add agenda in the description field
- Set attendees to notify them automatically
For SDRs
- Check prospect's timezone before suggesting meeting times
- Offer 2-3 time slots
- Include meeting link and agenda in description
- Set reminders for follow-up
For Email Secretaries
- Manage the boss's calendar proactively
- Block focus time and buffer between meetings
- Coordinate across calendars for scheduling
Guidelines
- Always use ISO 8601 datetime format (YYYY-MM-DDTHH:MM:SS)
- Include timezone — don't assume UTC
- Use "primary" as calendar_id for the main calendar
- If you get a 400 "not connected" error, tell the user to connect Google Calendar in the Apps tab
- Never expose credentials to the user
1---2name: google-calendar3description: Create events, check availability, manage schedules, and coordinate meetings via Composio4---56<!-- openlabor-connector: google_calendar, api_key={{INTERNAL_API_KEY}}, employee={{EMPLOYEE_ID}}, base={{API_BASE_URL}} -->78# Google Calendar910Create events, check availability, manage schedules, and coordinate meetings.1112You have access to Google Calendar through the OpenLabor connector API.1314## How to Execute Calendar Actions1516```17use google_calendar <TOOL_NAME> '<json_args>'18```1920## Events2122### Create an Event23- Tool: `GOOGLECALENDAR_CREATE_EVENT`24- Args: `{ "summary": "Team Meeting", "start_datetime": "2026-03-25T10:00:00", "end_datetime": "2026-03-25T11:00:00", "timezone": "America/New_York" }`25- Optional: `"description"`, `"location"`, `"attendees"` (array of emails)2627### Quick Add (natural language)28- Tool: `GOOGLECALENDAR_QUICK_ADD`29- Args: `{ "text": "Lunch with Sarah tomorrow at noon" }`3031### List Events32- Tool: `GOOGLECALENDAR_FIND_EVENT`33- Args: `{ "timeMin": "2026-03-22T00:00:00Z", "timeMax": "2026-03-29T00:00:00Z" }`34- Optional: `"query"` (search text), `"max_results"`, `"order_by"` ("startTime", "updated")3536### List Events Across All Calendars37- Tool: `GOOGLECALENDAR_EVENTS_LIST_ALL_CALENDARS`38- Args: `{ "time_min": "2026-03-22T00:00:00Z", "time_max": "2026-03-29T00:00:00Z" }`3940### Get Event Details41- Tool: `GOOGLECALENDAR_EVENTS_GET`42- Args: `{ "event_id": "EVENT_ID" }`4344### Update an Event45- Tool: `GOOGLECALENDAR_PATCH_EVENT`46- Args: `{ "event_id": "EVENT_ID", "calendar_id": "primary", "summary": "Updated Title", "start_time": "2026-03-25T14:00:00", "end_time": "2026-03-25T15:00:00" }`4748### Delete an Event49- Tool: `GOOGLECALENDAR_DELETE_EVENT`50- Args: `{ "event_id": "EVENT_ID" }`5152### Move an Event to Another Calendar53- Tool: `GOOGLECALENDAR_EVENTS_MOVE`54- Args: `{ "event_id": "EVENT_ID", "calendar_id": "primary", "destination": "CALENDAR_ID" }`5556### Remove an Attendee57- Tool: `GOOGLECALENDAR_REMOVE_ATTENDEE`58- Args: `{ "event_id": "EVENT_ID", "attendee_email": "person@example.com" }`5960## Availability6162### Find Free Slots63- Tool: `GOOGLECALENDAR_FIND_FREE_SLOTS`64- Args: `{ "time_min": "2026-03-22T09:00:00Z", "time_max": "2026-03-22T18:00:00Z", "items": [{ "id": "primary" }] }`6566### Get Current Date/Time67- Tool: `GOOGLECALENDAR_GET_CURRENT_DATE_TIME`68- Args: `{ "timezone": "America/New_York" }`6970## Calendar Management7172### List Calendars73- Tool: `GOOGLECALENDAR_LIST_CALENDARS`74- Args: `{}`7576### Get Calendar Details77- Tool: `GOOGLECALENDAR_GET_CALENDAR`78- Args: `{ "calendar_id": "primary" }`7980### Create a New Calendar81- Tool: `GOOGLECALENDAR_DUPLICATE_CALENDAR`82- Args: `{ "summary": "Marketing Calendar" }`8384## Scheduling Best Practices8586### For Meetings87- Always check availability before suggesting times88- Include timezone in all datetime values89- Add agenda in the description field90- Set attendees to notify them automatically9192### For SDRs93- Check prospect's timezone before suggesting meeting times94- Offer 2-3 time slots95- Include meeting link and agenda in description96- Set reminders for follow-up9798### For Email Secretaries99- Manage the boss's calendar proactively100- Block focus time and buffer between meetings101- Coordinate across calendars for scheduling102103## Guidelines1041. Always use ISO 8601 datetime format (YYYY-MM-DDTHH:MM:SS)1052. Include timezone — don't assume UTC1063. Use "primary" as calendar_id for the main calendar1074. If you get a 400 "not connected" error, tell the user to connect Google Calendar in the Apps tab1085. Never expose credentials to the user