-
Notifications
You must be signed in to change notification settings - Fork 11.4k
Description
Bug Report: Microsoft Teams Location Returns Cal Video URL Instead of Teams Meeting Link
Issue Summary
When creating a booking with location: "integrations:office365_video" (Microsoft Teams) via the Cal.com API or web form, the system accepts the booking successfully and shows "MS Teams" as the meeting location in the confirmation email. However, the meeting URL provided is a Cal.com video redirect (https://app.cal.com/video/...) instead of a direct Microsoft Teams meeting link. This creates confusion for attendees who expect a native Teams meeting link.
The event type is configured with MS Teams as the default location option, and the integration appears to be properly connected (Office365 Calendar integration shows success in the API response), yet the video conferencing defaults to Daily Video (Cal Video) instead of generating an actual MS Teams meeting.
Steps to Reproduce
Method 1: Using Cal.com Public API (v1)
- Make a POST request to
https://api.cal.com/v1/bookings?apiKey=YOUR_API_KEY - Use the following payload structure:
{
"eventTypeId": 3173609,
"start": "2025-12-11T16:00:00.000Z",
"end": "2025-12-11T16:30:00.000Z",
"timeZone": "America/Santiago",
"language": "en",
"title": "Intro Call with Test User",
"description": "Introductory call scheduled via API.",
"status": "ACCEPTED",
"metadata": {},
"responses": {
"name": "Test User",
"email": "test@example.com",
"smsReminderNumber": "+1234567890",
"location": {
"value": "integrations:office365_video",
"optionValue": ""
}
}
}cURL Example:
curl --request POST \
--url 'https://api.cal.com/v1/bookings?apiKey=YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"eventTypeId": 3173609,
"start": "2025-12-11T16:00:00.000Z",
"end": "2025-12-11T16:30:00.000Z",
"timeZone": "America/Santiago",
"language": "en",
"title": "Intro Call with Test User",
"status": "ACCEPTED",
"metadata": {},
"responses": {
"name": "Test User",
"email": "test@example.com",
"smsReminderNumber": "+1234567890",
"location": {
"value": "integrations:office365_video",
"optionValue": ""
}
}
}'Method 2: Using Web Form
- Go to the event booking page
- Select a time slot
- Fill in attendee details (name, email, phone)
- Submit the booking form
Observed Behavior
After booking is created (both methods):
- Booking is successfully created with status "ACCEPTED"
- API response shows:
"location": "integrations:office365_video"✓- References include
"type": "daily_video"with a Daily.co meeting URL - Office365 calendar integration shows
"success": 1✓
- Confirmation email received states:
- Where: MS Teams
- Meeting URL:
https://app.cal.com/video/[UID]
The MS Teams link in the email redirects to https://app.cal.com/video/[UID] (a Cal Video/Daily.co wrapper) instead of providing a native Microsoft Teams meeting link.
Actual Results
- Booking is created with
location: "integrations:office365_video" - API response shows both Daily Video and Office365 Calendar references:
"references": [
{
"type": "daily_video",
"meetingUrl": "https://meetco.daily.co/8QKxJkVMozJZIxizToep"
},
{
"type": "office365_calendar",
"uid": "",
"externalCalendarId": "user@gmail.com"
}
]- Confirmation email shows "MS Teams" but provides a Cal.com video redirect URL
- The actual video conferencing defaults to Daily Video instead of Microsoft Teams
Expected Results
When specifying "location": "integrations:office365_video" (Microsoft Teams):
- The system should generate a native Microsoft Teams meeting link (e.g.,
https://teams.microsoft.com/l/meetup-join/...) - The API response should include a reference with:
"type": "office365_video"- A direct Teams meeting URL in
meetingUrl
- The confirmation email should provide the direct Microsoft Teams link, not a Cal.com video redirect
- Attendees should be able to join the meeting directly through Microsoft Teams without being redirected through Cal.com's video interface
Technical Details
Environment
- API Version: v1 (Public API)
- Event Type ID: 3173609
- Integration Status: Office365 Calendar connected and working
- Default Location: MS Teams configured in event type settings
API Response Evidence
{
"id": 13545862,
"status": "ACCEPTED",
"location": "integrations:office365_video",
"videoCallUrl": "https://app.cal.com/video/m2Qz8pUz746DMBx1Ehvd6W",
"appsStatus": [
{
"appName": "daily-video",
"type": "daily_video",
"success": 1,
"failures": 0
},
{
"appName": "office365-calendar",
"type": "office365_calendar",
"success": 1,
"failures": 0
}
],
"references": [
{
"type": "daily_video",
"meetingId": "8QKxJkVMIzJZIfizToep",
"meetingUrl": "https://meetco.daily.co/8QKxJkVMIzJZIfizToep"
},
{
"type": "office365_calendar",
"externalCalendarId": "user@gmail.com",
"credentialId": 1273964
}
]
}Questions & Concerns
- Why does the system create a Daily Video reference when
office365_videois explicitly specified? - Is there a separate Office365 Video/Teams integration that needs to be configured beyond the Office365 Calendar integration?
- Should the API prioritize the requested location type over fallback options?
- Is the current behavior intended (Cal.com as a Teams meeting wrapper) or is this a bug?
This is confusing for end users who expect to receive a native Microsoft Teams meeting link when "MS Teams" is selected as the location. The current redirect through Cal.com's video interface adds an unnecessary intermediary step.
Evidence
Booking Creation Test:
- ✅ Booking created successfully via API
- ✅ Location set to
integrations:office365_video - ✅ Office365 Calendar integration successful
- ❌ Video conferencing generated as Daily Video (Cal Video) instead of MS Teams
- ❌ Meeting URL is Cal.com redirect instead of native Teams link
Expected vs Actual:
| Aspect | Expected | Actual |
|---|---|---|
| Location Type | MS Teams | MS Teams (✓) |
| Meeting URL Type | teams.microsoft.com/... |
app.cal.com/video/... |
| Video Provider | Microsoft Teams | Daily Video |
| User Experience | Direct Teams join | Redirect through Cal.com |
Could you please review this behavior? It seems like the MS Teams integration might not be generating actual Teams meeting links, or there's a configuration/setup step missing for the Office365 Video integration to work properly.
Thank you!
