Introduction

Microsoft 365 Calendar API allows the users to create, read and edit Microsoft calendar events with the right access set to their M365 accounts. The Goal of this connector is to integrate Tulip with M365 using Microsoft’s Graph API(v1.0) using HTTP Connectors & provide our customers with an out-of-box connector that can be imported into their instance.

Purpose

We are going to highlight different connector functions that can be built by doing HTTP calls to Microsoft’s Graph Api(v1.0) to interact with the M365 Calendar events to showcase various read and write actions on the calendar that could be leveraged for various use cases.

API Doc

Microsoft Graph API Documentation

Pre-Requisites

  1. Create an account on Microsoft 365 & configure the OAuth 2.0 credentials in Azure Active Directory.

2. Register API with the required scopes in the Azure portal.

Tulip Connection Details

The following information would need to be configured on Tulip’s

Connectors.

  1. Running On: Cloud Connector Host

  2. Host: graph.microsoft.com

  3. Port:443

  4. TLS: Yes

OAuth 2: Authentication will be carried forward to all

the Connector Functions

Connector Functions

Get all Calendar Events

Purpose

This connector will fetch all the calendar events from the M365 Calendar.

Endpoint

HTTP GET call to the endpoint: https://graph.micrsoft.com:443/v1.0/me/events

Required Input

No Inputs required

Output Extractor

  1. eventID: Unique identifier of the event which will be used to carry out the other tasks.

  2. eventSubject: Subject of the event.

  3. eventContent: Content of the event.

  4. eventStartDate: Start Date and time of the event.

  5. eventEndDate: End Date and time of the event.

  6. eventLocation: Location of the event.

  7. eventAttendees: Attendees of the event.

  8. eventOrganizer: Organizer of the event.

  9. Additional parameters that are returned with the response are included as part of the output parameters.

Get User Meeting Schedule

Purpose

This connector will get the free/busy availability information for a collection of users, distribution lists, or resources (rooms or equipment) for a specified time period.

Endpoint

HTTP GET call to the endpoint -https://graph.microsoft.com:443/v1.0/me/calendar/getSchedule

Required Input

The following are the parameters that are to be passed in the Request Body

  1. Email Address: A collection of SMTP addresses of users, distribution lists, or resources to get availability information for.

  2. Schedule Start Date Time: The date, time, and time zone that the period starts.

  3. Schedule End Date Time: The date, time, and time zone that the period ends.

  4. Timezone: Event TimeZone.

Output Extractor

  1. scheduleUserId: Schedule user email address.

  2. startTime: The date, time, and time zone that the period starts.

  3. endTime: The date, time, and time zone that the period ends.

  4. timeZone: TimeZone.

  5. scheduleStatus: Response status of the user schedules.

  6. scheduleSubject: Scheduled event subject.

  7. scheduleLocation: Scheduled event Location.

  8. scheduleStartDateTime: Scheduled event Start date time.

  9. scheduleEndDateTime: Scheduled event End date time.

Create an Event

Purpose

  1. Users can pass an Event Subject, Content, Start date-time, End date time, and other parameters as input & Tulip will create a new calendar event with the provided inputs. The response of the API will be the metadata and various properties of the calendar event. This can be further used to fetch and Update events.

  2. This connector can create an event in the user's default calendar or specified calendar for a specific user or group user or multiple users.

  3. Information is pulled from Microsoft Graph V1.0 API can then be further used either within Tulip apps, Tulip tables, or Tulip variables which would be piped into other connector functions.

Endpoint

HTTP POST call to the endpoint: https://graph.microsoft.com:443/v1.0/me/events

Required Input

The following are the parameters that are to be passed in the Request Body

  1. Event Subject: Subject of the event

  2. Event Content: Content of the event

  3. Event Start Date Time: Start date-time of the event

  4. Event Timezone: Timezone of the event

  5. Event End Date Time: End date-time of the event

  6. Event Location: Location of the event

  7. Attendee Email Address: Attendee email address

Output Extractor

  1. eventId: Created event ID

  2. eventTimezone: Event TimeZone

  3. eventSubject: Subject of the event

  4. eventBody: Content of the event

  5. eventStartDateTime: Start date time of the event

  6. eventEndDateTime: End date time of the event

  7. eventLocation: Location of the event

  8. Additional parameters that are returned with the response are included as part of the output parameters.

Create Recurring Events

Purpose

  1. Users can pass an Event Subject, Content, Start date-time, End date time, and other parameters as input & Tulip will create a new recurring calendar event with the provided inputs. The response of the API will be the metadata and various properties of the calendar event. This can be further used to fetch and Update events.

  2. This connector will create a recurring event in the user's default calendar and specified calendar for a user or a group of users.

  3. Information is pulled from Microsoft Graph V1.0 API can then be further used either within Tulip apps, Tulip tables, or Tulip variables which would be piped into other connector functions.

Endpoint

HTTP POST call to the endpoint https://graph.microsoft.com:443/v1.0/me/events

Required Input

The following are the parameters that are to be passed in the Request Body

  1. Event Subject: Subject of the event

  2. Event Content: Content of the event

  3. Event Start Date Time: Start date-time of the event

  4. Event Timezone: Timezone of the event

  5. Event End Date Time: End date-time of the event

  6. Event Location: Location of the event

  7. Attendee Email Address: Attendee email address

  8. Recurrence Event type: Recurrence event Type

  9. Recurrence Days Of Week: Recurrence event day

  10. Recurrence Start Date: Recurrence event Start Date

  11. Recurrence End Date: Recurrence event End Date

Output Extractor

  1. eventId: Created event ID

  2. eventTimezone: Event TimeZone

  3. eventSubject: Subject of the event

  4. eventBody: Content of the event

  5. eventStartDateTime: Start Date Time of the event

  6. eventEndDateTime: End Date Time of the event

  7. eventLocation: Location of the event

  8. eventRecurrenceRangeStartDate: Recurrence event Start date.

  9. eventRecurrenceRangeEndDate: Recurrence event End date.

  10. eventAttendees: Attendees of the event.

  11. eventOrganizer: Organizer of the event.

  12. Additional parameters that are returned with the response are included as part of the output parameters.

Update an Event

Purpose

  1. Users can pass an Event ID, Subject, Content, and other parameters as input & Tulip will update the events in the calendar. The response of the API will be the metadata and various properties of the calendar events.

  2. Information is pulled from Microsoft Graph V1.0 API can then be further used either within Tulip apps, Tulip tables, or Tulip variables which would be piped into other connector functions.

Endpoint

HTTP PATCH call to the endpoint https://graph.microsoft.com:443/v1.0/me/events/{eventID}

Required Input

The following are the parameters that are sent as the Request Body

  1. Event Subject: Subject of the event

  2. Event Content: Content of the event

  3. Event Start Date Time: Start date time of the event

  4. Event TimeZone: Timezone of the event

  5. Event End Date Time: End date time of the event

  6. Event Location: Location of the event

  7. Attendee Email Address: Attendee email address

Output Extractor

  1. eventId: Created event ID

  2. eventTimezone: Event TimeZone

  3. eventSubject: Subject of the event

  4. eventBody: Content of the event

  5. eventStartDateTime: Start date time of the event

  6. eventEndDateTime: End date time of the event

  7. eventLocation: Location of the event

  8. Additional parameters that are returned with the response are included as part of the output parameters.

Delete an Event

Purpose

  1. Users can pass an Event ID as an input & Tulip will delete the event in the calendar.

Endpoint

HTTP DELETE call to the endpoint - https://graph.microsoft.com:443/v1.0/me/events/{eventID}

Required Input

The following are the parameters that are sent as the Request Body

  1. Event ID - The Event ID

Did this answer your question?