Datum: 31.10.2026
, Kategorie:
Schnittstellen
In der Online Terminbuchung von Appointmind bekommen Termine auf Wunsch ein Teams-Meeting im Outlook-Kalender. Mit Microsoft-365-Konten klappt das. Mit privaten Outlook.com-Konten nicht.
Der Grund steht im Request. Für ein Teams-Meeting schickt man üblicherweise:
{
"isOnlineMeeting": true,
"onlineMeetingProvider": "teamsForBusiness"
}
teamsForBusiness kennt ein privates Konto nicht. Microsoft Graph legt das Event trotzdem an, meldet Erfolg und lässt das Meeting einfach weg:
{
"isOnlineMeeting": false,
"onlineMeetingProvider": "unknown",
"onlineMeeting": null
}
Keine Fehlermeldung. Graph sagt ja und meint nein. :-)
Der Trick: einfach den Kalender fragen
Welcher Provider der Richtige ist, verrät jeder Kalender selbst
GET /me/calendars/{id}?$select=allowedOnlineMeetingProviders,defaultOnlineMeetingProvider
Ein Microsoft-365-Kalender antwortet zum Beispiel so:
{
"allowedOnlineMeetingProviders": ["teamsForBusiness"],
"defaultOnlineMeetingProvider": "teamsForBusiness"
}
Ein privater Kalender meldet andere Werte. Welche genau, ist egal. Die Regel:
- Ein Wert in
allowedOnlineMeetingProviders beginnt mit teams: genau diesen schicken.
- Kein Teams-Provider in der Liste:
onlineMeetingProvider weglassen. Outlook nimmt dann den Standard des Kalenders.
Das Event geht danach an POST /me/calendars/{id}/events:
{
"subject": "Beratungstermin",
"start": { "dateTime": "2026-11-05T10:00:00", "timeZone": "Europe/Berlin" },
"end": { "dateTime": "2026-11-05T10:30:00", "timeZone": "Europe/Berlin" },
"isOnlineMeeting": true,
"onlineMeetingProvider": "<Teams-Provider aus der Kalenderabfrage>"
}
Der Link zum Meeting steht in der Antwort unter onlineMeeting.joinUrl.