Overview
Microsoft Graph is the unified API for Microsoft 365 – Outlook mail and calendar, Teams chat, OneDrive and SharePoint files, Users and Groups via Azure AD, and Lists. The Automize Microsoft Graph connector covers the most common automation surface – read/send mail, schedule events, upload files, message Teams channels, manage users, and query SharePoint Lists.
- Regions: Works against any Microsoft 365 tenant. Sovereign clouds (US Gov, China 21Vianet, Germany) need a different Graph endpoint – set it in the connection's Cloud field if you're not on commercial worldwide.
- Plans: Any tenant with a Microsoft 365 / Azure AD subscription. Specific features (Teams, SharePoint, OneDrive) need the corresponding licenses on the user whose data you're touching.
Setting up the connection
Auth type: oauth2_pkce.
- In Entra ID, go to App registrations → New registration.
- Pick a name (e.g. Automize), set 'Accounts in this organizational directory only' (single-tenant) or 'Multitenant' depending on your needs.
- Set the Redirect URI shown in the Automize Microsoft Graph connector dialog (type: Web).
- On API permissions, add Microsoft Graph delegated permissions for the scopes you need (see below). Grant admin consent if your tenant requires it.
- Copy the Application (client) ID and create a Client Secret under Certificates & secrets.
- In Automize, open Settings → Connectors → Microsoft Graph → Add connection. Paste credentials, click Connect, sign in with the account whose data you'll automate.
Scopes required:
User.ReadMail.ReadMail.SendCalendars.ReadWriteFiles.ReadWrite.AllSites.ReadWrite.AllChannelMessage.SendGroup.Read.Alloffline_access
Find your credentials at https://entra.microsoft.com/.
Rate limits
Graph enforces per-app + per-tenant + per-resource throttles. Headlines: Mail ~30/min/user, Calendar ~60/min/user, Files ~600/min/app. The connector reads the Retry-After header on 429 / 503 and backs off accordingly. Heavy ingestion should use delta queries (Get Delta Mail/ Events) rather than re-listing on each run.
Data model
Graph is a unified surface over multiple Microsoft 365 services.
User (Azure AD) ─┬─ Outlook Mail (folders, messages, attachments)
├─ Outlook Calendar (events, attendees)
├─ OneDrive (drive items: files, folders)
└─ Tasks (To Do)
Group ─── Teams (channels ─── channel messages)
Site (SharePoint) ─── Lists ─── List Items
user_id can be 'me' for the connected user, an Azure AD object ID, or
a UPN (user@domain). drive_id and site_id are explicit UUIDs.Available operations
47 operations available. Click any row to jump to its detail.
| Operation | Category | What it does |
|---|---|---|
| Create event | Calendar | Create a new calendar event via Microsoft Graph API with optional Teams meeting link. |
| Delete event | Calendar | Delete a calendar event via Microsoft Graph API. |
| Get event | Calendar | Get a calendar event by ID via Microsoft Graph API. |
| List events | Calendar | List calendar events via Microsoft Graph API. |
| Update event | Calendar | Update a calendar event via Microsoft Graph API. |
| Create contact | Contacts | Create a new contact via Microsoft Graph API. |
| List contacts | Contacts | List the user's contacts via Microsoft Graph API. |
| Create draft | Create a draft email message via Microsoft Graph API. | |
| Forward mail | Forward an email message via Microsoft Graph API. | |
| Get message | Get an email message by ID via Microsoft Graph API. | |
| List mail folders | List mail folders via Microsoft Graph API. | |
| List messages | List email messages in the user's mailbox via Microsoft Graph API. | |
| Reply to mail | Reply to an email message via Microsoft Graph API. | |
| Search messages | Search email messages by keyword or OData filter via Microsoft Graph API. | |
| Send mail | Send an email via Microsoft Graph API with recipients, subject, and HTML body. | |
| Create folder | OneDrive | Create a new folder in OneDrive via Microsoft Graph API. |
| Delete drive item | OneDrive | Delete a file or folder from OneDrive via Microsoft Graph API. |
| Download file | OneDrive | Download a file from OneDrive by item ID via Microsoft Graph API. |
| Get drive item | OneDrive | Get a file or folder by ID from OneDrive via Microsoft Graph API. |
| List drive items | OneDrive | List items in the root of the user's OneDrive via Microsoft Graph API. |
| List folder contents | OneDrive | List items in a specific OneDrive folder by path via Microsoft Graph API. |
| Search drive | OneDrive | Search for files in OneDrive via Microsoft Graph API. |
| Create list item | SharePoint | Create a new item in a SharePoint list via Microsoft Graph API. |
| Delete list item | SharePoint | Delete a SharePoint list item via Microsoft Graph API. |
| Get list | SharePoint | Get a SharePoint list by ID via Microsoft Graph API. |
| Get list item | SharePoint | Get a SharePoint list item by ID via Microsoft Graph API. |
| Get root site | SharePoint | Get the root SharePoint site via Microsoft Graph API. |
| Get site | SharePoint | Get a SharePoint site by ID via Microsoft Graph API. |
| List list items | SharePoint | List items in a SharePoint list via Microsoft Graph API. |
| List site lists | SharePoint | List all lists on a SharePoint site via Microsoft Graph API. |
| Search sites | SharePoint | Search SharePoint sites via Microsoft Graph API. |
| Update list item | SharePoint | Update a SharePoint list item via Microsoft Graph API. |
| Create channel | Teams | Create a new channel in a team via Microsoft Graph API. |
| Delete channel | Teams | Delete a Teams channel via Microsoft Graph API. |
| Get channel | Teams | Get a Teams channel by ID via Microsoft Graph API. |
| List channel members | Teams | List members of a Teams channel via Microsoft Graph API. |
| List channel messages | Teams | List messages in a Teams channel via Microsoft Graph API. |
| List channels | Teams | List channels in a team via Microsoft Graph API. |
| List chat messages | Teams | List messages in a chat via Microsoft Graph API. |
| List chats | Teams | List the user's chats via Microsoft Graph API. |
| List teams | Teams | List teams the user is a member of via Microsoft Graph API. |
| Reply to channel message | Teams | Reply to a message in a Teams channel via Microsoft Graph API. |
| Send channel message | Teams | Send a message to a Teams channel via Microsoft Graph API. |
| Send chat message | Teams | Send a message in a 1:1 or group chat via Microsoft Graph API. |
| Get current user | Users | Get the signed-in user's profile via Microsoft Graph API. |
| Get user | Users | Get a user by ID or userPrincipalName via Microsoft Graph API. |
| List users | Users | List users in the organization via Microsoft Graph API. |
Operations
Create channel
Create a new channel in a team via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Team ID teamId | Yes | text | |
Channel name displayName | Yes | text | |
Description description | No | text | |
Team Id team_id | Yes | text | |
Membershiptype membershipType | No | text |
Create contact
Create a new contact via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
First name givenName | Yes | text | |
Last name surname | No | text | |
Email addresses (JSON) emailAddresses | No | textarea | |
Company companyName | No | text | |
Job title jobTitle | No | text | |
Businessphones businessPhones | No | text |
Create draft
Create a draft email message via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Subject subject | Yes | text | |
Body (HTML) body | Yes | textarea | |
To (comma-separated) to | Yes | text | |
Torecipients toRecipients | No | text | |
Ccrecipients ccRecipients | No | text |
Create event
Create a new calendar event via Microsoft Graph API with optional Teams meeting link.
| Parameter | Required | Type | Description |
|---|---|---|---|
Subject subject | Yes | text | |
Start (JSON) start | Yes | text | |
End (JSON) end | Yes | text | |
Description body | No | textarea | |
Location location | No | text | |
Attendees (JSON) attendees | No | textarea | |
Teams meeting isOnlineMeeting | No | switch |
Tips
- Send: subject, start:{dateTime, timeZone}, end:{dateTime, timeZone}, attendees:[{emailAddress:{address}, type:'required'}].
Create folder
Create a new folder in OneDrive via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Folder name name | Yes | text | |
Parent path parent_path | No | text | |
Folder folder | No | text | |
@Microsoft.Graph.Conflictbehavior @microsoft.graph.conflictBehavior | No | text |
Tips
- parent_id + name. conflictBehavior: rename, replace, or fail.
Create list item
Create a new item in a SharePoint list via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Site ID siteId | Yes | text | |
List ID listId | Yes | text | |
Fields (JSON) fields | Yes | textarea | |
Site Id site_id | Yes | text | |
List Id list_id | Yes | text |
Tips
- fields: {col1: 'value', col2: 123}. Use list metadata to know column types.
Delete channel
Delete a Teams channel via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Team ID teamId | Yes | text | |
Channel ID channelId | Yes | text | |
Team Id team_id | Yes | text | |
Channel Id channel_id | Yes | text |
Delete drive item
Delete a file or folder from OneDrive via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Item ID item_id | Yes | text |
Delete event
Delete a calendar event via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Event ID event_id | Yes | text |
Tips
- Hard-deletes for the organiser; cancels for attendees.
Delete list item
Delete a SharePoint list item via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Site ID siteId | Yes | text | |
List ID listId | Yes | text | |
Item ID itemId | Yes | text | |
Site Id site_id | Yes | text | |
List Id list_id | Yes | text | |
Item Id item_id | Yes | text |
Tips
- Soft-deletes to the site's Recycle Bin.
Download file
Download a file from OneDrive by item ID via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Item ID item_id | Yes | text | |
Save to path save_path | Yes | text |
Forward mail
Forward an email message via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Message ID messageId | Yes | text | |
To (comma-separated) to | Yes | text | |
Comment comment | No | textarea | |
Message Id message_id | Yes | text | |
Torecipients toRecipients | No | text |
Tips
- Forwards a message to new recipients. comment goes above the original.
Get channel
Get a Teams channel by ID via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Team ID teamId | Yes | text | |
Channel ID channelId | Yes | text | |
Team Id team_id | Yes | text | |
Channel Id channel_id | Yes | text |
Get drive item
Get a file or folder by ID from OneDrive via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Item ID item_id | Yes | text |
Tips
- Returns DriveItem metadata. Use Download Item for bytes.
Get event
Get a calendar event by ID via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Event ID event_id | Yes | text |
Tips
- Returns full event with attendees and response statuses.
Get list
Get a SharePoint list by ID via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Site ID siteId | Yes | text | |
List ID listId | Yes | text | |
Site Id site_id | Yes | text | |
List Id list_id | Yes | text |
Get list item
Get a SharePoint list item by ID via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Site ID siteId | Yes | text | |
List ID listId | Yes | text | |
Item ID itemId | Yes | text | |
Site Id site_id | Yes | text | |
List Id list_id | Yes | text | |
Item Id item_id | Yes | text |
Get current user
Get the signed-in user's profile via Microsoft Graph API.
No input parameters.
Get message
Get an email message by ID via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Message ID message_id | Yes | text |
Tips
- Returns body in HTML by default. Set Prefer: outlook.body-content-type='text' for plain text.
Get root site
Get the root SharePoint site via Microsoft Graph API.
No input parameters.
Get site
Get a SharePoint site by ID via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Site ID siteId | Yes | text | |
Site Id site_id | Yes | text |
Get user
Get a user by ID or userPrincipalName via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
User ID or UPN user_id | Yes | text |
Tips
- user_id: 'me', UPN (alice@contoso.com), or Azure AD object ID.
List channel members
List members of a Teams channel via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Team ID teamId | Yes | text | |
Channel ID channelId | Yes | text | |
Team Id team_id | Yes | text | |
Channel Id channel_id | Yes | text |
List channel messages
List messages in a Teams channel via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Team ID team_id | Yes | text | |
Channel ID channel_id | Yes | text |
Tips
- Channel messages, newest first. Use $top to limit page size.
List channels
List channels in a team via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Team ID team_id | Yes | text |
Tips
- team_id: Team ID. Returns standard, private, and shared channels.
List chat messages
List messages in a chat via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Chat ID chatId | Yes | text | |
Chat Id chat_id | Yes | text |
List chats
List the user's chats via Microsoft Graph API.
No input parameters.
Tips
- 1:1 + group chats the user is in. Returns chat IDs to use with Send Chat Message.
List contacts
List the user's contacts via Microsoft Graph API.
No input parameters.
List drive items
List items in the root of the user's OneDrive via Microsoft Graph API.
No input parameters.
Tips
- List children of a drive folder. parent_id='root' for the drive root.
List events
List calendar events via Microsoft Graph API.
No input parameters.
Tips
- Calendar events. Filter by start/end with $filter.
- Use Get Delta Events for incremental sync.
List folder contents
List items in a specific OneDrive folder by path via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Folder path folder_path | Yes | text |
List list items
List items in a SharePoint list via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Site ID siteId | Yes | text | |
List ID listId | Yes | text | |
Site Id site_id | Yes | text | |
List Id list_id | Yes | text |
Tips
- Expand fields with $expand=fields. $select=fields(select=col1,col2) to project.
List mail folders
List mail folders via Microsoft Graph API.
No input parameters.
Tips
- Special well-known names: Inbox, Drafts, SentItems, DeletedItems, JunkEmail.
List messages
List email messages in the user's mailbox via Microsoft Graph API.
No input parameters.
Tips
- folder_id: a folder ID from List Mail Folders, or a well-known name (e.g. inbox).
- $top=50, $filter=receivedDateTime ge 2026-01-01.
- Use Get Delta Messages for incremental sync instead of re-listing.
List site lists
List all lists on a SharePoint site via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Site ID siteId | Yes | text | |
Site Id site_id | Yes | text |
List teams
List teams the user is a member of via Microsoft Graph API.
No input parameters.
Tips
- Teams the connected user is a member of.
List users
List users in the organization via Microsoft Graph API.
No input parameters.
Tips
- Filter via $filter (e.g. accountEnabled eq true). Page via @odata.nextLink.
- Returns ~100 users per page; bulk listing of large tenants takes minutes.
Reply to channel message
Reply to a message in a Teams channel via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Team ID teamId | Yes | text | |
Channel ID channelId | Yes | text | |
Message ID messageId | Yes | text | |
Reply body (HTML) body | Yes | textarea | |
Team Id team_id | Yes | text | |
Channel Id channel_id | Yes | text | |
Message Id message_id | Yes | text | |
Attachments attachments | No | text |
Reply to mail
Reply to an email message via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Message ID message_id | Yes | text | |
Reply text comment | Yes | textarea | |
Message message | No | text |
Tips
- Reply or Reply-All to a message by its ID. Use sender's mailbox or 'me'.
Search drive
Search for files in OneDrive via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Search query query | Yes | text |
Search messages
Search email messages by keyword or OData filter via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Search query $search | No | text | |
OData filter $filter | No | text |
Search sites
Search SharePoint sites via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Search query query | Yes | text |
Send channel message
Send a message to a Teams channel via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Team ID team_id | Yes | text | |
Channel ID channel_id | Yes | text | |
Message body (JSON) body | Yes | textarea | |
Attachments attachments | No | text |
Tips
- body: {contentType:'html', content:'...'}. mentions[] for @ tags.
Send chat message
Send a message in a 1:1 or group chat via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Chat ID chat_id | Yes | text | |
Message body (JSON) body | Yes | textarea | |
Attachments attachments | No | text |
Tips
- chat_id from List Chats. body shape same as channel messages.
Send mail
Send an email via Microsoft Graph API with recipients, subject, and HTML body.
| Parameter | Required | Type | Description |
|---|---|---|---|
To (comma-separated) to | Yes | text | |
Subject subject | Yes | text | |
Body (HTML) body | Yes | textarea | |
CC (comma-separated) cc | No | text | |
Save to Sent Items saveToSentItems | No | switch | |
Message message | No | text |
Tips
- message: {subject, body:{contentType:'html', content:'...'}, toRecipients:[{emailAddress:{address:'...'}}]}.
- Set saveToSentItems=false to skip the Sent Items folder.
Errors
ErrorAccessDenied– Mail.Send permission missing or admin consent not granted.
Update event
Update a calendar event via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Event ID event_id | Yes | text | |
Subject subject | No | text | |
Start (JSON) start | No | text | |
End (JSON) end | No | text | |
Location location | No | text | |
Body body | No | text | |
Attendees attendees | No | text |
Tips
- PATCH-style. Send only changing fields. Updates auto-send updated invites unless you set Prefer header.
Update list item
Update a SharePoint list item via Microsoft Graph API.
| Parameter | Required | Type | Description |
|---|---|---|---|
Site ID siteId | Yes | text | |
List ID listId | Yes | text | |
Item ID itemId | Yes | text | |
Fields (JSON) fields | Yes | textarea | |
Site Id site_id | Yes | text | |
List Id list_id | Yes | text | |
Item Id item_id | Yes | text |
Tips
- PATCH-style on the fields object.
FAQ
- Application permission vs delegated permission – which?
- This connector uses delegated permissions (acts as the signed-in user). Application permissions need a different OAuth flow (client credentials, no user) and aren't currently exposed. Use delegated unless you're doing service-account automation that can't have a real user.
- Why am I getting consent_required on a new tenant?
- Admin consent is needed for some scopes (e.g. anything with .All). The tenant admin clicks Grant admin consent in the App registration's API permissions tab.
- How do I get a SharePoint site_id?
- List Sites with search=<site name>, or call Get Site by hostname: /sites/{hostname}:/sites/{path}. Returns the site ID for subsequent List/Get List operations.
- Why is my Send Mail going to spam?
- The sender's domain SPF/DMARC settings or the message body itself. Test with a clean text body first. Set replyTo to a monitored mailbox.
- Can I use a service account without MFA?
- Officially Microsoft requires MFA on all admin/service accounts. Use a Conditional Access policy to exempt the service account from MFA for specific IPs (Automize's outbound IP), or use a managed identity if Automize ran inside Azure (not currently the case).