Skip to main content

Microsoft Graph

By integrating Microsoft Graph with ToolJet, you can interact with Microsoft 365 services such as Outlook Mail, Calendar, Users, and OneDrive.

Connection

To connect ToolJet with Microsoft Graph, you’ll need the following credentials:

  • Tenant
  • Access token URL
  • Client ID
  • Client secret

Follow this Microsoft guide to register an app and generate the required credentials.

You can enable the Authentication required for all users toggle in the configuration panel. When enabled, each user will be redirected to the OAuth consent screen the first time a query from this data source is triggered in your application. This ensures that every user connects with their own Microsoft account securely.

Note: After completing the OAuth flow, the query must be triggered again to fetch data from Microsoft Graph.

Microsoft Graph Configuration

Supported Operations

Outlook

Messages

MethodEndpointDescription
GET/me/messagesList messages in the user's mailbox.
POST/me/messagesCreate a new draft message.
GET/me/messages/{message-id}Get a specific message by ID.
PATCH/me/messages/{message-id}Update a message.
DELETE/me/messages/{message-id}Delete a message.
POST/me/messages/{message-id}/forwardForward an existing message.
POST/me/messages/{message-id}/createForwardCreate a forward draft.
POST/me/messages/{message-id}/replyReply to a message.
POST/me/messages/{message-id}/createReplyCreate a reply draft.
POST/me/messages/{message-id}/replyAllReply all to a message.
POST/me/messages/{message-id}/createReplyAllCreate a reply-all draft.
POST/me/messages/{message-id}/sendSend a draft message.
POST/me/messages/{message-id}/moveMove a message.
POST/me/messages/{message-id}/copyCopy a message.
POST/me/sendMailSend mail without creating a draft.

Mail Folders

MethodEndpointDescription
GET/me/mailFoldersList mail folders.
POST/me/mailFoldersCreate a mail folder.
GET/me/mailFolders/{mailFolder-id}Get specific mail folder.
PATCH/me/mailFolders/{mailFolder-id}Update a mail folder.
DELETE/me/mailFolders/{mailFolder-id}Delete a mail folder.
GET/me/mailFolders/{mailFolder-id}/messagesList messages inside a folder.
GET/me/mailFolders/Inbox/messages/deltaTrack changes to inbox messages.
GET/me/mailFolders/{mailFolder-id}/messages/deltaTrack changes to a folder's messages.
GET/me/mailFolders/deltaTrack changes to all folders.

Categories and Rooms

MethodAPI EndpointDescription
GET/me/outlook/masterCategoriesList master categories
POST/me/outlook/masterCategoriesCreate a new category
GET/me/outlook/masterCategories/{outlookCategory-id}Get a specific category
PATCH/me/outlook/masterCategories/{outlookCategory-id}Update a category
DELETE/me/outlook/masterCategories/{outlookCategory-id}Delete a category
GET/me/findRoomsList available rooms
GET/me/findRooms(RoomList='{roomList-emailAddress}')Find rooms by room list
GET/me/findRoomListsList room lists

Calendar

Default Calendar

MethodAPI EndpointDescription
GET/me/calendarGet default calendar
PATCH/me/calendarUpdate default calendar
GET/me/calendar/eventsList events from default calendar
POST/me/calendar/eventsCreate an event in default calendar
GET/me/calendar/calendarPermissionsList calendar permissions
POST/me/calendar/calendarPermissionsGrant permissions to default calendar
GET/me/calendar/calendarPermissions/{permissionId}Get specific calendar permission
PATCH/me/calendar/calendarPermissions/{permissionId}Update calendar permission
DELETE/me/calendar/calendarPermissions/{permissionId}Delete calendar permission
POST/me/calendar/getScheduleGet free/busy schedule info

User Calendars and Groups

MethodAPI EndpointDescription
GET/user/{userId}/calendarGet default calendar of a specific user
GET/me/calendarsList user calendars
POST/me/calendarsCreate a new calendar
GET/me/calendars/{calendarId}Get a specific calendar
PATCH/me/calendars/{calendarId}Update a calendar
DELETE/me/calendars/{calendarId}Delete a calendar
GET/me/calendars/{calendarId}/eventsList events in a specific calendar
POST/me/calendars/{calendarId}/eventsCreate event in a specific calendar
GET/me/calendarGroupsList calendar groups
POST/me/calendarGroupsCreate a calendar group
GET/me/calendarGroups/{groupId}/calendarsGet calendars in a group
POST/me/calendarGroups/{groupId}/calendarsAdd calendar to a group

Events

MethodAPI EndpointDescription
GET/me/events/{eventId}Get an event by ID
PATCH/me/events/{eventId}Update an event
DELETE/me/events/{eventId}Delete an event
GET/me/events/{eventId}/instancesList instances of a recurring event
GET/me/events/{eventId}/attachmentsList attachments of an event
POST/me/events/{eventId}/attachmentsAdd attachments to an event
GET/me/calendarViewGet calendar view of events
POST/me/findMeetingTimesFind meeting times

Users

User Management

MethodAPI EndpointDescription
GET/usersList all users
POST/usersCreate a user
GET/users/{user-id}Get a specific user
PATCH/users/{user-id}Update a specific user
DELETE/users/{user-id}Delete a specific user

Profile

MethodAPI EndpointDescription
GET/meGet profile of signed-in user
PATCH/meUpdate profile of signed-in user

Teams

Teams and Chats

MethodAPI EndpointDescription
GET/teamsList teams
POST/teamsCreate a team
GET/chatsList chats
POST/chatsCreate a chat
GET/me/joinedTeamsList teams the user has joined

Chat Operations

MethodAPI EndpointDescription
GET/chats/{chat-id}Get a chat
PATCH/chats/{chat-id}Update a chat
DELETE/chats/{chat-id}Delete a chat
GET/chats/{chat-id}/membersList members in a chat
POST/chats/{chat-id}/membersAdd members to a chat
POST/chats/{chat-id}/members/addAdd members (alternate endpoint)
GET/chats/{chat-id}/members/{conversationMember-id}Get chat member details
PATCH/chats/{chat-id}/members/{conversationMember-id}Update chat member
DELETE/chats/{chat-id}/members/{conversationMember-id}Remove chat member
GET/chats/{chat-id}/messagesList messages in a chat
POST/chats/{chat-id}/messagesSend message in a chat
GET/chats/{chat-id}/messages/{chatMessage-id}Get a specific chat message
PATCH/chats/{chat-id}/messages/{chatMessage-id}Update a chat message
DELETE/chats/{chat-id}/messages/{chatMessage-id}Delete a chat message
GET/chats/getAllMessagesGet all messages across chats

Team Operation

MethodAPI EndpointDescription
GET/teams/{team-id}Get a team
PATCH/teams/{team-id}Update a team
DELETE/teams/{team-id}Delete a team
POST/teams/{team-id}/archiveArchive a team
POST/teams/{team-id}/unarchiveUnarchive a team
GET/teams/{team-id}/membersList team members
POST/teams/{team-id}/membersAdd team members
POST/teams/{team-id}/members/addAdd members (alternate endpoint)

Channels and Messages

MethodAPI EndpointDescription
GET/teams/{team-id}/allChannelsList all channels in a team
GET/teams/{team-id}/channelsList standard channels in a team
POST/teams/{team-id}/channelsCreate a channel in a team
GET/teams/{team-id}/channels/{channel-id}Get channel details
PATCH/teams/{team-id}/channels/{channel-id}Update a channel
DELETE/teams/{team-id}/channels/{channel-id}Delete a channel
GET/teams/{team-id}/channels/{channel-id}/membersList members in a channel
POST/teams/{team-id}/channels/{channel-id}/membersAdd members to a channel
GET/teams/{team-id}/channels/{channel-id}/messagesList messages in a channel
POST/teams/{team-id}/channels/{channel-id}/messagesSend message in a channel
GET/teams/{team-id}/channels/{channel-id}/messages/{chatMessage-id}Get a specific channel message
PATCH/teams/{team-id}/channels/{channel-id}/messages/{chatMessage-id}Update a channel message
DELETE/teams/{team-id}/channels/{channel-id}/messages/{chatMessage-id}Delete a channel message
GET/teams/{team-id}/allChannels/{channel-id}Get specific channel under all channels

OneDrive

Root and Shared Content

MethodAPI EndpointDescription
GET/me/drive/root/childrenList items in root folder
POST/me/drive/root/childrenCreate a new file or folder in root
GET/me/drive/recentList recent files
GET/me/drive/sharedWithMeList files shared with the user
GET/me/drive/root/search(q='{search-query}')Search files by query

Specific Drives and Items

MethodAPI EndpointDescription
GET/drives/{drive-id}/root/childrenList items in a specific drive's root
GET/drives/{drive-id}/items/{item-id}/childrenList children of a folder
POST/drives/{drive-id}/items/{item-id}/childrenAdd item to folder
GET/drives/{drive-id}/items/{item-id}Get metadata for an item
PATCH/drives/{drive-id}/items/{item-id}Update metadata of an item
DELETE/drives/{drive-id}/items/{item-id}Delete an item
GET/drives/{drive-id}/items/{item-id}/contentDownload file content
PUT/drives/{drive-id}/items/{item-id}/contentUpload file content
POST/drives/{drive-id}/items/{item-id}/createLinkCreate sharing link
GET/drives/{drive-id}/items/{item-id}/permissionsGet item permissions