Skip to main content
Glama

create_meet_event

Schedule Google Calendar events with integrated Google Meet video conferencing for team meetings and appointments.

Instructions

Create a new Google Calendar event with Google Meet integration

Args: summary: Event title/summary start_datetime: Start datetime in ISO format (e.g., '2024-12-25T10:00:00') end_datetime: End datetime in ISO format (e.g., '2024-12-25T11:00:00') description: Event description attendees: List of attendee emails timezone: Timezone (default: UTC) calendar_id: Calendar ID (default: primary)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
summaryYes
start_datetimeYes
end_datetimeYes
descriptionNo
attendeesNo
timezoneNoUTC
calendar_idNoprimary

Implementation Reference

  • main.py:368-413 (handler)
    The primary MCP tool handler for 'create_meet_event', registered via @mcp.tool(). It processes inputs, delegates to the core GoogleCalendarTools method, handles errors, and returns a standardized JSON response.
    @mcp.tool()
    def create_meet_event(
        summary: str,
        start_datetime: str,
        end_datetime: str,
        description: str = "",
        attendees: Optional[List[str]] = None,
        timezone: str = "UTC",
        calendar_id: str = "primary"
    ) -> str:
        """
        Create a new Google Calendar event with Google Meet integration
        
        Args:
            summary: Event title/summary
            start_datetime: Start datetime in ISO format (e.g., '2024-12-25T10:00:00')
            end_datetime: End datetime in ISO format (e.g., '2024-12-25T11:00:00')
            description: Event description
            attendees: List of attendee emails
            timezone: Timezone (default: UTC)
            calendar_id: Calendar ID (default: primary)
        """
        try:
            result = GoogleCalendarTools.create_meet_event(
                NANGO_CONNECTION_ID, NANGO_INTEGRATION_ID, summary, start_datetime, end_datetime,
                description, attendees, timezone, calendar_id
            )
            
            if result:
                return json.dumps({
                    "success": True,
                    "event": result,
                    "message": "Event created successfully"
                }, indent=2)
            else:
                return json.dumps({
                    "success": False,
                    "message": "Failed to create event"
                }, indent=2)
        except Exception as e:
            logger.error(f"Error in create_meet_event: {e}")
            return json.dumps({
                "success": False,
                "error": str(e),
                "message": "Failed to create calendar event"
            }, indent=2)
  • Core helper method in GoogleCalendarTools class that performs authentication, constructs the event payload with Google Meet conference data, and inserts the event into Google Calendar using the API.
    @staticmethod
    def create_meet_event(connection_id: str, provider_config_key: str, summary: str, 
                         start_datetime: str, end_datetime: str, description: str = "", 
                         attendees: Optional[List[str]] = None, timezone: str = 'UTC',
                         calendar_id: str = 'primary') -> Optional[Dict]:
        """Create a new event in Google Calendar with Google Meet integration"""
        try:
            service = GoogleCalendarAuth.authenticate_google_calendar(connection_id, provider_config_key)
            
            if not summary:
                raise ValueError("Event summary (title) is required")
            
            event = {
                'summary': summary,
                'description': description,
                'start': {
                    'dateTime': start_datetime,
                    'timeZone': timezone,
                },
                'end': {
                    'dateTime': end_datetime,
                    'timeZone': timezone,
                }
            }
            
            # Add attendees if provided
            if attendees:
                event['attendees'] = [{'email': email} for email in attendees]
            
            # Add Google Meet conference
            event['conferenceData'] = {
                'createRequest': {
                    'requestId': f"meet-{datetime.now().strftime('%Y%m%d%H%M%S')}",
                    'conferenceSolutionKey': {
                        'type': 'hangoutsMeet'
                    }
                }
            }
            
            created_event = service.events().insert(
                calendarId=calendar_id,
                body=event,
                conferenceDataVersion=1,
                sendUpdates='all'
            ).execute()
            
            return created_event
            
        except HttpError as error:
            logger.error(f'HTTP error in create_meet_event: {error}')
            return None
        except Exception as error:
            logger.error(f'Unexpected error in create_meet_event: {error}')
            return None

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Shameerpc5029/google-calendar-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server