How to Build Scheduling Into Your Product Across Google Calendar, Outlook, and Zoom
March 4, 2026
Embedded scheduling is a feature inside a SaaS product that allows users to create meetings using their existing calendar tools, without leaving the product. It typically includes availability checking, time selection, and automatic calendar event creation.
To build this, your product needs access to calendar data across providers like Google Calendar, Microsoft Outlook, and Zoom. Each platform has different APIs and data models for events, availability, and conferencing.
Unified provides a consistent Calendar & Meetings API that lets your product retrieve availability, create events, and attach conferencing details across integrations.
Why SaaS Products Build Scheduling Features
Many B2B SaaS products include scheduling functionality for their customers.
Examples include:
- Sales demo booking tools
- Customer onboarding platforms
- Interview scheduling tools
- Customer success platforms
- Support scheduling tools
These products allow users to book meetings without switching to external tools.
Typical requirements include:
- Checking availability across one or more calendars
- Creating meetings directly inside the product
- Adding video conferencing links automatically
- Handling rescheduling and cancellations
- Coordinating multiple participants
Common Scheduling Use Cases
Scheduling features usually support several workflows.
Booking flows
Users select a time slot based on availability.
Sales demos
Prospects schedule meetings with sales teams.
Onboarding sessions
Customers book implementation or onboarding calls.
Support calls
Users schedule time with support teams.
Internal coordination
Teams schedule meetings across multiple participants.
Unified Category Used
Scheduling relies on the Calendar & Meetings category.
| Category | Description | Key Objects |
|---|---|---|
| Calendar & Meetings | Calendar events and availability across platforms like Google Calendar and Outlook | calendar_event |
This category provides consistent access to events and availability across integrations.
Unified Calendar Event Object
The calendar_event object represents a scheduled meeting.
Key fields include:
| Field | Purpose |
|---|---|
| id | Unique event identifier |
| title / subject | Meeting title |
| start_at | Start time |
| end_at | End time |
| timezone | Time zone |
| attendees | List of participants |
| organizer | Event creator |
| conference | Video conferencing details |
| location | Physical or virtual location |
| web_url | Link to the event |
Events can be retrieved using:
GET /calendar/{connection_id}/event
GET /calendar/{connection_id}/event/{id}
Connecting Customer Calendars
Customers authorize their calendars using Unified Connect.
Typical flow:
- Your application launches the authorization flow.
- The user selects Google Calendar, Outlook, or another provider.
- The user authorizes access.
- Unified returns a connection_id.
Your application stores:
user_id → connection_id
All subsequent API calls reference this identifier.
Checking Availability (Free/Busy)
Scheduling requires checking calendar availability before creating events.
Unified provides a busy endpoint:
GET /calendar/{connection_id}/busy
Key query parameters
| Parameter | Purpose |
|---|---|
| start_gte | Start of the time window |
| end_lt | End of the time window |
| calendar_id | Filter by calendar |
| user_id | Filter by user |
Response structure
The API returns busy time blocks:
start_at– beginning of busy intervalend_at– end of busy intervaltime_zone– time zone of the intervalbusy[]– list of unavailable time slots
How to compute availability
- Request busy intervals within a time window
- Identify all busy slots
- Compute the gaps between them
- Use those gaps as available time slots
For multi-participant scheduling:
- retrieve busy intervals for each participant
- intersect available slots
- return mutually available times
This allows your product to generate booking options across multiple calendars.
Creating Calendar Events
Once a time slot is selected, create a meeting using:
POST /calendar/{connection_id}/event
Key fields for scheduling
| Field | Purpose |
|---|---|
| title | Meeting subject |
| start_at | Start time |
| end_at | End time |
| attendees | Participants |
| conference | Video meeting details |
| location | Physical location |
| description | Notes or agenda |
Example title:
Product Demo – Acme Corp
The attendees field ensures all participants receive invites.
Adding Video Conferencing
The conference field allows you to include meeting links.
Typical values include:
- Zoom
- Google Meet
- Microsoft Teams
The API returns:
join_urlmeeting_id- dial-in details (when supported)
This allows meetings to be scheduled with conferencing automatically attached.
Handling Rescheduling and Cancellations
Scheduling features must respond to changes.
Unified provides webhook events for calendar updates:
event.createdevent.updatedevent.deleted
Additional lifecycle events may include:
event.startedevent.ended
These events allow your product to:
- update meeting times
- notify participants
- cancel meetings
- synchronize UI state
Supported Platforms
Unified supports a wide range of calendar and meeting integrations.
Examples include:
- Google Calendar
- Microsoft Outlook
- Zoom
- Microsoft Teams
- Calendly
- Apple iCloud
In total, the Calendar & Meetings category supports 27 integrations, allowing your product to support many customer environments.
Why This Matters
Scheduling features require coordination across multiple platforms.
Without a unified approach, developers must build separate integrations for each calendar provider and manage differences in availability, events, and conferencing.
Unified provides:
- consistent calendar event models
- availability retrieval across providers
- unified event creation
- real-time updates via webhooks
This allows product teams to build scheduling features quickly while avoiding integration complexity.
Start building scheduling features across Google Calendar, Outlook, Zoom, and many other platforms today.