Integration reference
Microsoft 365 Trigger and Action reference
Automate Outlook, Calendar, Contacts, Excel, Teams, OneDrive, and custom Microsoft Graph operations.
Authentication
Connect the Microsoft 365 account through OAuth and consent to the scopes required by selected operations.
- Trigger account type:
oauth2; reconnect byoauth. - Action connection type:
oauth2; available modes: Connected Microsoft 365 account.
Create or reuse the account from a Trigger or Action dialog, or manage it under Settings → Connected accounts. See Authentication and permissions for scopes and access diagnostics, or Connected accounts for reuse, reconnect, revocation, and credential rotation.
Scopes and permissions
Base Trigger authorization requests: offline_access, openid, profile, email, User.Read.
View 9 OAuth scopes used by current Actions
Mail.Send, Mail.ReadWrite, Mail.Read, Calendars.ReadWrite, Contacts.ReadWrite, Files.ReadWrite, Team.ReadBasic.All, Channel.ReadBasic.All, ChannelMessage.Send
View 9 provider permissions or credential requirements
Mail.Send, Mail.ReadWrite, Mail.Read, Calendars.ReadWrite, Contacts.ReadWrite, Files.ReadWrite, Team.ReadBasic.All, Channel.ReadBasic.All, ChannelMessage.Send
Operation-specific requirements appear in the tables below. Custom event selections can add scopes dynamically, so the current Trigger or Action dialog remains authoritative for the exact consent request.
Use Microsoft 365 as a Trigger
The current provider manifest contains 15 available Trigger definitions. Representative definitions include:
- New Outlook Email
- Outlook Email Updated
- Calendar Event Created
- Contact Created
- OneDrive File Added or Updated
- Custom Microsoft 365 Events
View all 15 available Trigger definitions
| Trigger | Manifest key | Delivery | Additional scopes |
|---|---|---|---|
| Any Microsoft 365 Event | microsoft_365.any_event.instant | instant | Mail.Read, Calendars.Read, Contacts.Read, Files.Read.All |
| Custom Microsoft 365 Events | microsoft_365.custom_webhook_events.instant | instant | None declared |
| New Outlook Email | microsoft_365.outlook_message_created.instant | instant | Mail.Read |
| Outlook Email Updated | microsoft_365.outlook_message_updated.instant | instant | Mail.Read |
| Outlook Email Deleted | microsoft_365.outlook_message_deleted.instant | instant | Mail.Read |
| Calendar Event Created | microsoft_365.calendar_event_created.instant | instant | Calendars.Read |
| Calendar Event Updated | microsoft_365.calendar_event_updated.instant | instant | Calendars.Read |
| Calendar Event Deleted | microsoft_365.calendar_event_deleted.instant | instant | Calendars.Read |
| Contact Created | microsoft_365.contacts_contact_created.instant | instant | Contacts.Read |
| Contact Updated | microsoft_365.contacts_contact_updated.instant | instant | Contacts.Read |
| Contact Deleted | microsoft_365.contacts_contact_deleted.instant | instant | Contacts.Read |
| OneDrive File Added or Updated | microsoft_365.onedrive_file_changed.instant | instant | Files.Read.All |
| OneDrive Folder Added or Updated | microsoft_365.onedrive_folder_changed.instant | instant | Files.Read.All |
| OneDrive Item Deleted | microsoft_365.onedrive_item_deleted.instant | instant | Files.Read.All |
| Other OneDrive Item Added or Updated | microsoft_365.onedrive_item_changed.instant | instant | Files.Read.All |
Choose the narrowest event definition that fits the Workflow. Configure provider-specific resource and event filters in the Source dialog before adding broader Workflow Filters.
Use Microsoft 365 Actions
The current Action manifest contains 15 operations. Representative Actions include:
- Send Email
- Create Draft
- Reply to Message
- Create Event
- Create Contact
- Update Range
- Add Table Rows
- Send Channel Message
View all 15 available Action definitions
| Action | Manifest key | Access and auth | Manifest rate limit |
|---|---|---|---|
| Send Email | microsoft_365.send_email | Mail.SendFastHook-managed account | 1/second |
| Create Draft | microsoft_365.create_draft | Mail.ReadWriteFastHook-managed account | 1/second |
| Reply to Message | microsoft_365.reply_to_message | Mail.Send, Mail.ReadFastHook-managed account | 1/second |
| Update Message | microsoft_365.update_message | Mail.ReadWriteFastHook-managed account | 1/second |
| Move Message | microsoft_365.move_message | Mail.ReadWriteFastHook-managed account | 1/second |
| Create Event | microsoft_365.create_event | Calendars.ReadWriteFastHook-managed account | 1/second |
| Update Event | microsoft_365.update_event | Calendars.ReadWriteFastHook-managed account | 1/second |
| Delete Event | microsoft_365.delete_event | Calendars.ReadWriteFastHook-managed account | 1/second |
| Create Contact | microsoft_365.create_contact | Contacts.ReadWriteFastHook-managed account | 1/second |
| Update Contact | microsoft_365.update_contact | Contacts.ReadWriteFastHook-managed account | 1/second |
| Update Range | microsoft_365.update_excel_range | Files.ReadWriteFastHook-managed account | 1/second |
| Add Table Rows | microsoft_365.add_excel_table_rows | Files.ReadWriteFastHook-managed account | 1/second |
| Send Channel Message | microsoft_365.send_team_channel_message | Team.ReadBasic.All, Channel.ReadBasic.All, ChannelMessage.SendFastHook-managed account | 1/second |
| Reply to Channel Message | microsoft_365.reply_team_channel_message | Team.ReadBasic.All, Channel.ReadBasic.All, ChannelMessage.SendFastHook-managed account | 1/second |
| Custom Graph Request | microsoft_365.custom_api_request | None declared FastHook-managed account | 1/second |
The Action editor reads its required permissions, fields, remote resource pickers, output schema, and rate limit from the provider manifest. Available fields can change with the selected operation and authentication mode.
Build a Workflow
- Create a Source using a Microsoft 365 Trigger definition.
- Create a Workflow with that Source as its Trigger.
- Add the required Microsoft 365 Action and select the connected account.
- Map Trigger or earlier-Step data into the Action fields with the field picker.
- Add a Filter, Paths, Delay, or Transformation when the route needs it.
- Activate the Workflow, produce a controlled event, and verify the run in Audit and in Microsoft 365.
Troubleshooting Microsoft 365
- The account is missing or cannot be selected
- Confirm the active FastHook team, provider, account status, and authentication mode. A disabled or revoked account cannot execute an Action.
- A resource picker is empty
- Verify that the connected provider identity can access the resource itself. OAuth consent does not add workspace, repository, channel, drive, project, base, or record permissions.
- The editor asks for additional scopes
- Reconnect the same account from the affected Trigger or Action so FastHook can request its current manifest scopes. Then reopen the editor and select the resource again.
- An active Workflow returns 401, 403, or a permission error
- Compare the selected operation’s access requirements below with the account recorded in Audit. Check provider-side membership and object access before repeating the Action.
- The provider returns 429 or a temporary 5xx
- Inspect the Step attempt and retryability in Audit. FastHook can retry temporary failures, but provider quotas and idempotency rules still apply.
Provider-specific checks
- Different Microsoft workloads require different scopes and resource identifiers.
- Reconnect when adding an operation that needs scopes not granted during the original consent.