create_meet_event
Create Google Calendar events with integrated Google Meet video conferencing for scheduled meetings with attendees.
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
| Name | Required | Description | Default |
|---|---|---|---|
| summary | Yes | ||
| start_datetime | Yes | ||
| end_datetime | Yes | ||
| description | No | ||
| attendees | No | ||
| timezone | No | UTC | |
| calendar_id | No | primary |
Implementation Reference
- main.py:368-413 (handler)MCP tool handler for create_meet_event: decorated with @mcp.tool(), defines input schema via type hints and docstring, calls helper, handles errors, returns JSON.@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)
- main.py:205-258 (helper)Core implementation in GoogleCalendarTools: authenticates with Google Calendar API, constructs event with attendees and Google Meet conference data, inserts the event.@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