Calendars API
Synchronize Calendars and Automate Meeting Recordings
The Calendars API allows you to automatically sync calendars from Outlook and Google Workspace to deploy bots to scheduled meetings.
This makes it easy to:
The API follows a simple pattern allowing you to connect calendar providers, list and manage events, and automatically schedule recording bots when meetings occur.
This makes it easy to:
- Automate recording and participation in meetings without manual intervention
- Connect to both Google Workspace and Microsoft Outlook calendars
- Receive real-time updates when calendar events change
- Apply business logic to determine which meetings to record
The API follows a simple pattern allowing you to connect calendar providers, list and manage events, and automatically schedule recording bots when meetings occur.
Key Features
- Multi-Calendar Support: Connect to both Google Workspace and Microsoft Outlook calendars
- OAuth Authentication: Secure integration with calendar providers using OAuth
- Real-Time Webhooks: Receive immediate notifications when calendar events change
- Selective Recording: Implement your own business rules to decide which meetings to record
- Bot Configuration: Customize recording settings for each meeting
- Recurring Meeting Support: Handle recurring meeting series efficiently
Implementation Process:
- Authentication Setup: Connect calendars using OAuth credentials
- Calendar Selection: Choose which calendars to sync
- Event Management: List, filter, and process calendar events
- Recording Configuration: Schedule bots for specific meetings
- Webhook Processing: Receive and handle real-time calendar updates
- Maintenance: Handle credential refreshing and error recovery
API Usage
The Calendars API is part of the Meeting BaaS platform and provides endpoints for:
- Creating and managing calendar integrations
- Listing and filtering calendar events
- Scheduling recording bots for specific meetings
- Managing webhooks for real-time updates
The API is fully documented and supports standard REST operations with JSON payloads. Authentication is performed using your Meeting BaaS API key along with OAuth tokens for calendar provider access.
API Usage Example
Below is an example of how to use the Calendars API to schedule bots for team meetings:
This Python code demonstrates how to interact with the Calendars API to retrieve events and schedule recording bots.
CALENDARS_API.PYimport json from datetime import datetime, timedelta import requests # Your API key api_key = "your-meetingbaas-api-key" # API endpoints base_url = "https://api.meetingbaas.com" calendars_url = f"{base_url}/calendars" # Headers for authentication headers = {"Content-Type": "application/json", "x-spoke-api-key": api_key} # 1. List connected calendar providers def list_calendar_providers(): response = requests.get(f"{calendars_url}/providers", headers=headers) return response.json() # 2. Schedule bots for all team meetings in the next week def schedule_bots_for_team_meetings(): # Calculate date range (next 7 days) today = datetime.now().isoformat() next_week = (datetime.now() + timedelta(days=7)).isoformat() # Query parameters to find team meetings params = {"start_time": today, "end_time": next_week, "query": "Team Meeting"} # Get matching events events_response = requests.get( f"{calendars_url}/events", headers=headers, params=params ) if events_response.status_code != 200: return f"Error fetching events: {events_response.text}" events = events_response.json().get("events", []) scheduled_bots = [] # Schedule a bot for each meeting for event in events: bot_data = { "meeting_url": event.get("meeting_url"), "scheduled_time": event.get("start_time"), "bot_name": "Team Meeting Recorder", "speech_to_text": "Gladia", "entry_message": "I'll be recording this team meeting.", } bot_response = requests.post(f"{base_url}/bots", headers=headers, json=bot_data) if bot_response.status_code == 200: bot = bot_response.json() scheduled_bots.append( { "event_id": event.get("id"), "event_title": event.get("title"), "bot_id": bot.get("bot_id"), } ) return {"total_events": len(events), "scheduled_bots": scheduled_bots} # Run the example if __name__ == "__main__": providers = list_calendar_providers() print(f"Connected calendar providers: {providers}") result = schedule_bots_for_team_meetings() print(json.dumps(result, indent=2))

Resources
Open-Source
Transcript SeekerTranscript Seeker: a complete interface in ReactSpeaking Bots: AI-powered meeting participantsMCP Tools - Model Context ProtocolMeeting MCP ServerMCP on VercelMCP Documentation ServerNode server for Notion summariesSimple Transcript player in ReactMeeting summarization using Make.comInterface for the Gladia transcription APIInterface for the AssemblyAI transcription API
APIs
Product
PlansFeature ListMeeting Transcription APIAI Meeting Assistant APIAPI to Record and Transcribe Video MeetingsMeeting bots with transcriptionMeeting bot API for Google MeetAlternative Recording API for Google MeetAlternatives to Recall AIRecall AI vs Meeting BaaSMeeting bot API for ZoomMeeting bot API for Microsoft Teams