ByteChef LogoByteChef

Microsoft Outlook 365

Microsoft Outlook 365 is a comprehensive email and productivity platform that integrates email, calendar, contacts, and tasks to streamline communication and organization.

Categories: Communication, Calendars and Scheduling

Type: microsoftOutlook365/v1


Connections

Version: 1

OAuth2 Authorization Code

Properties

NameLabelTypeDescriptionRequired
clientIdClient IdSTRINGtrue
clientSecretClient SecretSTRINGtrue
tenantIdTenant IdSTRINGtrue

Connection Setup

Create OAuth 2.0 Application

Creation of OAuth 2.0 application is documented here.

Grant Necessary Permissions

  1. Open the Azure Portal: https://portal.azure.com/
  2. Click on App registrations.
  3. Click on All applications.
  4. Click on application you want to connect to Microsoft Outlook.
  5. Click on API permissions.
  6. Click on Microsoft Graph (1).
  7. Select following scopes:
    • Mail.ReadWrite
    • Mail.Send
    • MailboxSettings.Read
    • Calendars.ReadWrite
    • offline_access
  8. After selecting all the scopes click on Update permissions

Actions

Create Event

Name: createEvent

Creates a new event in the specified calendar.

Properties

NameLabelTypeDescriptionRequired
calendarCalendar IDSTRINGThe ID of the calendar to create the event in.true
subjectSubjectSTRINGThe subject of the event.false
allDayAll Day Event?BOOLEAN
Options true, false
Is the event all day?true
startStart DateDATEThe start date of the event.true
endEnd DateDATEThe end date of the event.true
startStart Date TimeDATE_TIMEThe start time of the event.true
endEnd Date TimeDATE_TIMEThe end time of the event.true
attendeesAttendeesARRAY
Items [STRING]
The attendees of the event.false
isOnlineMeetingIs Online Meeting?BOOLEAN
Options true, false
Is the event an online meeting?false
reminderMinutesBeforeStartReminder Minutes Before StartINTEGERThe number of minutes before the event start time that the reminder alert occurs.false

Example JSON Structure

{
  "label" : "Create Event",
  "name" : "createEvent",
  "parameters" : {
    "calendar" : "",
    "subject" : "",
    "allDay" : false,
    "start" : "2021-01-01T00:00:00",
    "end" : "2021-01-01T00:00:00",
    "attendees" : [ "" ],
    "isOnlineMeeting" : false,
    "reminderMinutesBeforeStart" : 1
  },
  "type" : "microsoftOutlook365/v1/createEvent"
}

Output

Type: OBJECT

Properties

NameTypeDescription
iCalUIdSTRINGID for an event across calendars,
idSTRINGID of the event.
subjectSTRINGThe text of the event's subject line.
startTimeDATE_TIMEStart time of the event.
endTimeDATE_TIMEEnd time of the event.
attendeesARRAY
Items [STRING]
The attendees for the event.
isOnlineMeetingBOOLEAN
Options true, false
Indicates whether the event is an online meeting.
onlineMeetingUrlSTRINGURL for an online meeting.
reminderMinutesBeforeStartBOOLEAN
Options true, false
The number of minutes before the event start time that the reminder alert occurs.

Output Example

{
  "iCalUId" : "",
  "id" : "",
  "subject" : "",
  "startTime" : "2021-01-01T00:00:00",
  "endTime" : "2021-01-01T00:00:00",
  "attendees" : [ "" ],
  "isOnlineMeeting" : false,
  "onlineMeetingUrl" : "",
  "reminderMinutesBeforeStart" : false
}

Delete Event

Name: deleteEvent

Deletes an event from the specified calendar.

Properties

NameLabelTypeDescriptionRequired
calendarCalendar IDSTRINGThe ID of the calendar to delete the event from.true
eventEvent IDSTRING
Depends On calendar
ID of the event to delete.true

Example JSON Structure

{
  "label" : "Delete Event",
  "name" : "deleteEvent",
  "parameters" : {
    "calendar" : "",
    "event" : ""
  },
  "type" : "microsoftOutlook365/v1/deleteEvent"
}

Output

This action does not produce any output.

Get Email

Name: getEmail

Gets the specified email message.

Properties

NameLabelTypeDescriptionRequired
idMessage IDSTRINGThe ID of the message to retrieve.true
formatFormatSTRING
Options SIMPLE, FULL
The format to return the message in.true

Example JSON Structure

{
  "label" : "Get Email",
  "name" : "getEmail",
  "parameters" : {
    "id" : "",
    "format" : ""
  },
  "type" : "microsoftOutlook365/v1/getEmail"
}

Output

The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.

Get Events

Name: getEvents

Gets a list of events in specified calendar.

Properties

NameLabelTypeDescriptionRequired
calendarCalendar IDSTRINGThe ID of the calendar to retrieve events from.true
dateRangeDate RangeOBJECT
Properties {DATE_TIME(from), DATE_TIME(to)}
Date range to find events that exist in this range.false

Example JSON Structure

{
  "label" : "Get Events",
  "name" : "getEvents",
  "parameters" : {
    "calendar" : "",
    "dateRange" : {
      "from" : "2021-01-01T00:00:00",
      "to" : "2021-01-01T00:00:00"
    }
  },
  "type" : "microsoftOutlook365/v1/getEvents"
}

Output

Type: ARRAY

Items Type: OBJECT

Properties

NameTypeDescription
iCalUIdSTRINGID for an event across calendars,
idSTRINGID of the event.
subjectSTRINGThe text of the event's subject line.
startTimeDATE_TIMEStart time of the event.
endTimeDATE_TIMEEnd time of the event.
attendeesARRAY
Items [STRING]
The attendees for the event.
isOnlineMeetingBOOLEAN
Options true, false
Indicates whether the event is an online meeting.
onlineMeetingUrlSTRINGURL for an online meeting.
reminderMinutesBeforeStartBOOLEAN
Options true, false
The number of minutes before the event start time that the reminder alert occurs.

Output Example

[ {
  "iCalUId" : "",
  "id" : "",
  "subject" : "",
  "startTime" : "2021-01-01T00:00:00",
  "endTime" : "2021-01-01T00:00:00",
  "attendees" : [ "" ],
  "isOnlineMeeting" : false,
  "onlineMeetingUrl" : "",
  "reminderMinutesBeforeStart" : false
} ]

Get Free Time Slots

Name: getFreeTimeSlots

Gets the free time slots from the specified calendar.

Properties

NameLabelTypeDescriptionRequired
calendarCalendar IDSTRINGThe ID of the calendar to retrieve free time slots from.true
dateRangeDate RangeOBJECT
Properties {DATE_TIME(from), DATE_TIME(to)}
Date range to find free time.true

Example JSON Structure

{
  "label" : "Get Free Time Slots",
  "name" : "getFreeTimeSlots",
  "parameters" : {
    "calendar" : "",
    "dateRange" : {
      "from" : "2021-01-01T00:00:00",
      "to" : "2021-01-01T00:00:00"
    }
  },
  "type" : "microsoftOutlook365/v1/getFreeTimeSlots"
}

Output

Type: ARRAY

Items Type: OBJECT

Properties

NameTypeDescription
startTimeDATE_TIMEStart time of the free time slot.
endTimeDATE_TIMEEnd time of the free time slot.

Output Example

[ {
  "startTime" : "2021-01-01T00:00:00",
  "endTime" : "2021-01-01T00:00:00"
} ]

Move Email

Name: moveEmail

Moves a email to another folder within the user's mailbox.

Properties

NameLabelTypeDescriptionRequired
idMessage IDSTRINGThe ID of the message to move.true
destinationIdFolder IDSTRINGThe destination folder ID.true

Example JSON Structure

{
  "label" : "Move Email",
  "name" : "moveEmail",
  "parameters" : {
    "id" : "",
    "destinationId" : ""
  },
  "type" : "microsoftOutlook365/v1/moveEmail"
}

Output

The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.

Reply to Email

Name: replyToEmail

Sends a reply to an email message.

Properties

NameLabelTypeDescriptionRequired
idMessage IDSTRINGThe ID of the message to reply to.true
bccRecipientsBcc RecipientsARRAY
Items [STRING]
The Bcc recipients for the message.false
ccRecipientsCc RecipientsARRAY
Items [STRING]
The Cc recipients for the message.false
contentTypeContent TypeSTRING
Options TEXT, HTML
The type of the content.false
contentHTML ContentSTRINGBody text of the email in HTML format.false
contentText ContentSTRINGBody text of the email.false
attachmentsAttachmentsARRAY
Items [FILE_ENTRY]
A list of attachments to send with the email.false

Example JSON Structure

{
  "label" : "Reply to Email",
  "name" : "replyToEmail",
  "parameters" : {
    "id" : "",
    "bccRecipients" : [ "" ],
    "ccRecipients" : [ "" ],
    "contentType" : "",
    "content" : "",
    "attachments" : [ {
      "extension" : "",
      "mimeType" : "",
      "name" : "",
      "url" : ""
    } ]
  },
  "type" : "microsoftOutlook365/v1/replyToEmail"
}

Output

This action does not produce any output.

Search Email

Name: searchEmail

Lists the email messages in the signed-in user's mailbox.

Properties

NameLabelTypeDescriptionRequired
formatFormatSTRING
Options SIMPLE, FULL
The format to return the message in.true
fromFromSTRINGThe email address sending the mail.false
toToSTRINGThe email address receiving the new mail.false
subjectSubjectSTRINGWords in the subject line.false
categoryCategorySTRINGMessages in a certain category.false

Example JSON Structure

{
  "label" : "Search Email",
  "name" : "searchEmail",
  "parameters" : {
    "format" : "",
    "from" : "",
    "to" : "",
    "subject" : "",
    "category" : ""
  },
  "type" : "microsoftOutlook365/v1/searchEmail"
}

Output

The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.

Send Email

Name: sendEmail

Sends a new email message from the signed-in user's mailbox.

Properties

NameLabelTypeDescriptionRequired
toRecipientsTo RecipientsARRAY
Items [STRING]
The To: recipients for the message.true
subjectSubjectSTRINGThe subject of the message.true
bccRecipientsBcc RecipientsARRAY
Items [STRING]
The Bcc recipients for the message.false
ccRecipientsCc RecipientsARRAY
Items [STRING]
The Cc recipients for the message.false
replyToReply ToARRAY
Items [STRING]
The email addresses to use when replying.false
bodyBodyOBJECT
Properties {STRING(contentType), STRING(content), STRING(content)}
The body of the message. It can be in HTML or text format.true
attachmentsAttachmentsARRAY
Items [FILE_ENTRY]
A list of attachments to send with the email.false

Example JSON Structure

{
  "label" : "Send Email",
  "name" : "sendEmail",
  "parameters" : {
    "toRecipients" : [ "" ],
    "subject" : "",
    "bccRecipients" : [ "" ],
    "ccRecipients" : [ "" ],
    "replyTo" : [ "" ],
    "body" : {
      "contentType" : "",
      "content" : ""
    },
    "attachments" : [ {
      "extension" : "",
      "mimeType" : "",
      "name" : "",
      "url" : ""
    } ]
  },
  "type" : "microsoftOutlook365/v1/sendEmail"
}

Output

This action does not produce any output.

Triggers

New Email

Name: newEmail

Triggers when new email is received.

Type: POLLING

Properties

NameLabelTypeDescriptionRequired
formatFormatSTRING
Options SIMPLE, FULL
The format to return the message in.true

Output

The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.

JSON Example

{
  "label" : "New Email",
  "name" : "newEmail",
  "parameters" : {
    "format" : ""
  },
  "type" : "microsoftOutlook365/v1/newEmail"
}

What to do if your action is not listed here?

If this component doesn't have the action you need, you can use Custom Action to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.

To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.

How is this guide?

Last updated on

On this page