MeetingBaasMeeting Baas
Getting Started

Syncing Calendars

Learn how to sync calendars with the API, and automatically send meeting bots to the right place at the right time

Meeting Baas allows you to automatically sync calendars from Outlook and Google Workspace to automatically deploy bots to scheduled meetings. Here's how to set it up:

Authentication: Get your OAuth credentials

To start syncing calendars, you'll need two sets of credentials:

  1. Your App's Credentials (Service Level)
  • For Outlook: Your app's Microsoft Client ID and Client Secret
  • For Google Workspace: Your app's Google Client ID and Client Secret
  1. End User's Credentials (User Level)
  • OAuth refresh token obtained when user grants calendar access to your app

Best Practice: Request calendar access as a separate step after initial user signup. Users are more likely to grant calendar access when it's clearly tied to a specific feature they want to use.

Optional: List Raw Calendars

Before syncing calendars, you can use the List Raw Calendars endpoint to view all your user's available calendars. This is particularly useful when a user has multiple calendars and you need to choose which ones to sync.

Create a Calendar Integration

Create a new calendar integration by calling the Create Calendar endpoint with the previously obtained credentials.

And an optional raw_calendar_ID to choose which calendar to sync. If this parameter is not provided, Meeting Baas will sync the user's primary calendar.

Managing Calendars

Once authenticated, you can manage your calendars:

After initial setup, Meeting BaaS handles all calendar API interactions. You only need to respond to webhook events for calendar changes.

Event Management

Monitor and manage calendar events:

Meeting Baas automatically detects meeting links and can deploy bots based on your configuration.

Recording Management

You can schedule or cancel recording events for specific calendar events:

When scheduling a recording, the bot will automatically join the meeting at the scheduled time and begin recording based on your configuration.

The recording configuration supports the same options as manual bot deployment:

  • Speaker view recording
  • Gallery view recording
  • Audio-only recording
  • Speech-to-text transcription
  • Custom bot names and images
  • Entry messages

Remember to handle webhook notifications to track the recording status and receive the final recording data. These updates can be used to determine whether to record new or updated meetings.

Webhook Integration

In addition to live meeting events via the Live Meeting Updates, your webhook endpoint will receive calendar sync events with the type calendar.sync_events. These events notify you about:

  • New meeting schedules
  • Meeting changes or cancellations
  • Calendar sync status updates

Each webhook notification includes:

  • An event type of calendar.sync_events
  • A last_updated_at timestamp for tracking changes
  1. Extract the last_updated_at timestamp from the webhook payload
  2. Call the List Events endpoint with the updated_at_gte parameter equal to the last_updated_at timestamp
  3. From there, you can apply your business logic to choose whether or not to record the event, using previously mentionned Schedule Record Event / Unschedule Record Event endpoints.

This allows you to:

  • Track all calendar changes in real-time

  • Decide whether to record new or modified meetings

  • Keep your system synchronized with the latest meeting data

Configure your webhook endpoint to process these real-time updates and implement appropriate retry logic for reliability.

Cleanup

To remove a calendar integration, use the Delete Calendar endpoint.

On this page