Logo

Google Calendar

Authentication Type: OAuth Description: Create, read, update, and delete calendar events, manage attendees, and query schedules through the Google Calendar API.


Authentication

To authenticate with Google Calendar, you need OAuth2 credentials with Calendar access scopes. This uses the same Google Workspace OAuth connection.


Events

Manage calendar events including creating, reading, updating, and deleting.

List Events

List events from a calendar with optional filtering by time range and search query.

Operation Type: Query (Read)

Parameters:

  • calendarId string (nullable): Calendar ID (defaults to "primary")
  • maxResults number (nullable): Maximum events to return (default 10)
  • timeMin string (nullable): Start of time range in RFC3339 format (e.g., "2024-01-01T00:00:00Z")
  • timeMax string (nullable): End of time range in RFC3339 format
  • q string (nullable): Free-text search query to filter events
  • pageToken string (nullable): Token for pagination

Returns:

  • items array of objects: List of calendar events
    • id string: Event ID
    • summary string (nullable): Event title
    • description string (nullable): Event description
    • start object: Start time
      • dateTime string (nullable): RFC3339 for timed events
      • date string (nullable): YYYY-MM-DD for all-day events
      • timeZone string (nullable): Time zone
    • end object: End time (same structure as start)
    • attendees array (nullable): List of attendees with email, displayName, responseStatus
    • htmlLink string (nullable): Link to event in Google Calendar
    • created string (nullable): Creation timestamp
    • updated string (nullable): Last update timestamp
  • nextPageToken string (nullable): Token for the next page of results

Example Usage:

{
  "calendarId": "primary",
  "timeMin": "2024-01-01T00:00:00Z",
  "timeMax": "2024-01-31T23:59:59Z",
  "maxResults": 50
}

Create Event

Create a new calendar event with attendees, location, and time details.

Operation Type: Mutation (Write)

Parameters:

  • calendarId string (nullable): Calendar ID (defaults to "primary")
  • summary string (required): Event title
  • description string (nullable): Event description
  • start object (required): Start time
    • dateTime string (nullable): RFC3339 format for timed events
    • date string (nullable): YYYY-MM-DD for all-day events
    • timeZone string (nullable): Time zone (e.g., "America/New_York")
  • end object (required): End time (same structure as start)
  • attendees array (nullable): List of attendees with email field
  • location string (nullable): Event location

Returns:

  • id string: Created event ID
  • htmlLink string (nullable): Link to the event
  • summary string (nullable): Event title
  • description string (nullable): Event description
  • start object: Start time details
  • end object: End time details
  • created string (nullable): Creation timestamp

Example Usage:

{
  "summary": "Team Standup",
  "description": "Daily sync meeting",
  "start": {
    "dateTime": "2024-01-15T09:00:00-05:00",
    "timeZone": "America/New_York"
  },
  "end": {
    "dateTime": "2024-01-15T09:30:00-05:00",
    "timeZone": "America/New_York"
  },
  "attendees": [{ "email": "colleague@example.com" }],
  "location": "Conference Room A"
}

Get Event

Retrieve detailed information about a specific calendar event.

Operation Type: Query (Read)

Parameters:

  • calendarId string (nullable): Calendar ID (defaults to "primary")
  • eventId string (required): Event ID to retrieve

Returns:

  • id string: Event ID
  • summary string (nullable): Event title
  • description string (nullable): Event description
  • start object: Start time details
  • end object: End time details
  • attendees array (nullable): Attendees with email, displayName, responseStatus
  • htmlLink string (nullable): Link to event
  • created string (nullable): Creation timestamp
  • updated string (nullable): Last update timestamp
  • status string (nullable): Event status ("confirmed", "tentative", "cancelled")
  • location string (nullable): Event location
  • organizer object (nullable): Event organizer
    • email string (nullable): Organizer email
    • displayName string (nullable): Organizer name

Example Usage:

{
  "eventId": "abc123def456"
}

Update Event

Update an existing calendar event's details, time, attendees, or location.

Operation Type: Mutation (Write)

Parameters:

  • calendarId string (nullable): Calendar ID (defaults to "primary")
  • eventId string (required): Event ID to update
  • summary string (nullable): Updated event title
  • description string (nullable): Updated description
  • start object (nullable): Updated start time
    • dateTime string (nullable): RFC3339 format
    • date string (nullable): YYYY-MM-DD format
    • timeZone string (nullable): Time zone
  • end object (nullable): Updated end time (same structure as start)
  • attendees array (nullable): Updated attendee list
  • location string (nullable): Updated location

Returns:

  • id string: Event ID
  • htmlLink string (nullable): Link to event
  • summary string (nullable): Event title
  • description string (nullable): Event description
  • start object: Start time details
  • end object: End time details
  • updated string (nullable): Last update timestamp

Example Usage:

{
  "eventId": "abc123def456",
  "summary": "Updated Team Standup",
  "location": "Conference Room B"
}

Delete Event

Delete a calendar event.

Operation Type: Mutation (Write)

Parameters:

  • calendarId string (nullable): Calendar ID (defaults to "primary")
  • eventId string (required): Event ID to delete

Returns:

  • success boolean: Whether the deletion was successful

Example Usage:

{
  "eventId": "abc123def456"
}

Common Use Cases

Schedule Management:

  • List upcoming events across calendars to build daily or weekly agendas
  • Create events programmatically from CRM deals or project milestones
  • Sync meeting schedules with external tools and databases

Event Automation:

  • Auto-create recurring events based on workflow triggers
  • Update event details when project timelines change
  • Clean up cancelled or outdated events automatically

Attendee Coordination:

  • Add attendees to events from contact lists or team rosters
  • Track RSVP statuses by querying event attendee details
  • Manage room bookings and resource allocation through calendar events