Microsoft 365 Calendar
Description
Section titled “Description”This module integrates Microsoft Outlook Calendar via Microsoft Graph API. It offers the following operations:
- List calendars: Gets all user calendars.
- List events: Lists events with date filters and pagination. Returns complete information including attendees, location and online meeting links.
- Get event: Retrieves complete details of a specific event, including recurrence, importance and sensitivity.
- Create event: Creates events with support for attendees, location, reminders, importance and Teams online meetings.
- Update event: Modifies partial fields of an existing event.
- Delete event: Deletes an event by ID.
- Respond to event: Accepts, declines or tentatively responds to an invitation.
- Find availability: Finds free time slots among multiple attendees.
The operation is automatically determined by the sub-node used. Uses OAuth2 with Microsoft Graph via microsoftOAuthService.
Configuration
Section titled “Configuration”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credentials | Yes | Configured Microsoft OAuth account |
| operation | select | Yes | Operation to perform |
Sub-node List Events
Section titled “Sub-node List Events”| Parameter | Type | Required | Description |
|---|---|---|---|
| startDateTime | string | No | Start date ISO 8601 |
| endDateTime | string | No | End date ISO 8601 |
| top | string | No | Maximum events (default: 50) |
| outputKey | string | No | Output key (default: events) |
Sub-node Create Event
Section titled “Sub-node Create Event”| Parameter | Type | Required | Description |
|---|---|---|---|
| subject | string | Yes | Event title |
| startDateTime | string | Yes | Start date/time ISO 8601 |
| endDateTime | string | Yes | End date/time ISO 8601 |
| body | string | No | Event description |
| timeZone | string | No | Time zone (default: UTC) |
| location | string | No | Event location |
| attendees | string | No | Emails separated by comma |
| isAllDay | string | No | All-day event (true/false) |
| reminderMinutes | string | No | Minutes before for reminder |
| isOnlineMeeting | string | No | Create Teams meeting (true/false) |
Sub-node Update Event
Section titled “Sub-node Update Event”| Parameter | Type | Required | Description |
|---|---|---|---|
| eventId | string | Yes | Event ID to update |
| subject | string | No | New title |
| body | string | No | New description |
| startDateTime | string | No | New start date |
| endDateTime | string | No | New end date |
| location | string | No | New location |
Sub-node Delete Event / Get Event
Section titled “Sub-node Delete Event / Get Event”| Parameter | Type | Required | Description |
|---|---|---|---|
| eventId | string | Yes | Event ID |
Credentials
Section titled “Credentials”Requires Microsoft OAuth2 type credentials. Needed:
- Client ID and Client Secret from Azure AD App Registration
- Scopes: Calendars.ReadWrite
- The module manages token refresh automatically
Output
Section titled “Output”{ "nextModule": "siguiente_modulo", "data": { "events": [ { "id": "AAMkAD...", "subject": "Reunion de equipo", "start": "2026-03-25T10:00:00", "end": "2026-03-25T11:00:00", "location": "Sala A", "isAllDay": false, "organizer": "usuario@empresa.com", "attendees": [{ "email": "asistente@empresa.com", "name": "Asistente", "status": "accepted", "type": "required" }], "webLink": "https://outlook.office365.com/...", "onlineMeetingUrl": "https://teams.microsoft.com/l/meetup-join/..." } ] }, "_meta_": { "operation": "listEvents", "microsoftService": "calendar" }}Usage Example
Section titled “Usage Example”Basic case - Create event with Teams meeting
Section titled “Basic case - Create event with Teams meeting”{ "credentials_id": "mi-cuenta-ms365", "operation": "createEvent", "subject": "Standup diario", "startDateTime": "2026-03-25T09:00:00", "endDateTime": "2026-03-25T09:15:00", "timeZone": "Europe/Madrid", "isOnlineMeeting": "true", "attendees": "dev1@empresa.com,dev2@empresa.com"}API Used
Section titled “API Used”- Microsoft Graph API - Calendar endpoints (
/me/calendar/events,/me/calendars,/me/findMeetingTimes)
- Attendees can be passed as a comma-separated string or as an array
- The
findMeetingTimesoperation uses duration in ISO 8601 format (e.g.: PT1H for 1 hour) - OAuth audit is logged for each operation and also in case of error
- Supports
continueOnErrorso the flow doesn’t stop on errors
Related Nodes
Section titled “Related Nodes”- MS365 Outlook - Email with Microsoft Outlook
- MS365 Teams - Teams channels, messages and meetings
- MS365 Excel - Excel files in OneDrive