Kalender-Termin erstellen (Outlook)
Dieser Service Task erstellt einen Termin im Outlook-Kalender eines Benutzers über die Microsoft Graph API. Er unterstützt Teilnehmer, Ort, Online-Meetings (automatischer Teams-Link), Erinnerungen und Ganztags-Termine.
Nutzen: Meetings, Fristen und Follow-ups können automatisch als Teil eines Geschäftsprozesses geplant werden — ohne manuelle Kalendereinträge.
Voraussetzungen
Eine Microsoft Entra ID (Azure AD) App-Registrierung ist erforderlich mit:
- Anwendungsberechtigung:
Calendars.ReadWrite - Admin-Einwilligung für den Tenant erteilt
Die Anmeldedaten können als Pantarey Secrets gespeichert und über {{secret:NAME}} referenziert werden.
Eingabeparameter
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
credentials |
Objekt | Ja | { tenantId, oAuthClientID, clientSecret } — Microsoft Entra ID Anmeldedaten. |
userId |
String | Ja | User Principal Name oder Objekt-ID (z. B. max@contoso.com). |
subject |
String | Ja | Betreff des Termins. |
start |
String | Ja | Startdatum/-zeit (ISO-Format ohne Zeitzone, z. B. 2026-02-20T09:00:00). |
end |
String | Ja | Enddatum/-zeit (ISO-Format). |
body |
String | Nein | Beschreibung / Notizen des Termins. |
bodyType |
String | Nein | text oder html. Standard: text. |
attendees |
Array | Nein | Teilnehmer — entweder E-Mail-Strings oder Objekte { email, name?, type? }. Type: required, optional, resource. |
location |
String / Objekt | Nein | Raum oder Ortsname. |
isOnlineMeeting |
Boolean | Nein | Wenn true, wird automatisch ein Teams-Meeting-Link generiert. |
reminderMinutes |
Zahl | Nein | Erinnerung vor dem Termin (in Minuten). |
isAllDay |
Boolean | Nein | Wenn true, wird ein Ganztags-Termin erstellt. |
timeZone |
String | Nein | Zeitzone für Start/Ende. Standard: Europe/Berlin. |
Beispiel-Eingabe
{
"credentials": {
"tenantId": "{{secret:MS_TENANT_ID}}",
"oAuthClientID": "{{secret:MS_CLIENT_ID}}",
"clientSecret": "{{secret:MS_CLIENT_SECRET}}"
},
"userId": "max@contoso.com",
"subject": "Onboarding-Gespräch",
"start": "2026-02-20T09:00:00",
"end": "2026-02-20T10:00:00",
"body": "Willkommen im Team! Bitte bringe deinen Laptop mit.",
"attendees": ["anna@contoso.com", "tom@contoso.com"],
"location": "Raum Berlin",
"isOnlineMeeting": true,
"timeZone": "Europe/Berlin"
}
Ausgabe
| Feld | Typ | Beschreibung |
|---|---|---|
eventId |
String | Die ID des erstellten Termins. |
subject |
String | Der Betreff des Termins. |
start |
Objekt | { dateTime, timeZone }. |
end |
Objekt | { dateTime, timeZone }. |
webLink |
String / null | URL zum Öffnen des Termins in Outlook Web. |
onlineMeetingUrl |
String / null | Teams-Meeting-Beitritts-URL (wenn isOnlineMeeting true war). |
createdDateTime |
String | ISO-Zeitstempel der Erstellung. |
Beispiel-Ausgabe
{
"eventId": "AAMkAGI2...",
"subject": "Onboarding-Gespräch",
"start": { "dateTime": "2026-02-20T09:00:00", "timeZone": "Europe/Berlin" },
"end": { "dateTime": "2026-02-20T10:00:00", "timeZone": "Europe/Berlin" },
"webLink": "https://outlook.office365.com/owa/?itemid=...",
"onlineMeetingUrl": "https://teams.microsoft.com/l/meetup-join/...",
"createdDateTime": "2026-02-14T10:30:00Z"
}
Anwendungsfälle
- Onboarding: Automatisch ein Willkommensgespräch planen, wenn ein Mitarbeiter-Prozess startet.
- Genehmigungs-Follow-ups: Review-Meeting erstellen, nachdem eine Genehmigung erteilt wurde.
- Fristen: Kalender-Erinnerung für Vertragsverlängerung oder Zahlungsfälligkeit.
- Bewerbungsgespräche: Interviews als Teil eines HR-Prozesses terminieren.
- Teams-Meetings: Teams-Meeting-Link automatisch generieren durch
isOnlineMeeting: true.