V2

Microsoft Email Listener

Polls a Microsoft 365 mailbox using Microsoft Graph and emits unread messages (optionally per attachment) into a workflow.

Revision History

1.0.0.0 - 2025/10/20 - Initial release.
1.0.0.9 - 2026/01/20 - Fixed shared OAuthConnection lock handling.
0.0.0.12 - Node name correction.

Setup Notes

  1. Register an application in Entra ID (Azure AD) with delegated or application permissions for mail access (for example, Mail.Read, Mail.ReadWrite).
  2. Grant admin consent for the chosen permissions, or ensure the signed-in user has consented.
  3. Configure the connection with Tenant Id, Client Id, Client Secret, and (optionally) override Scopes if you need narrower permissions (default: offline_access https://graph.microsoft.com/.default).
  4. Set Mailbox when you need to target a specific mailbox; leave blank to default to the authenticated user (Me).
  5. Provide monitored/processed/error folder names that already exist in the target mailbox (for example, Inbox, Processed, Failed).

Connection

Parameter Type Description
Tenant Id String Entra ID tenant identifier (or common for multi-tenant).
Client Id String Application (client) ID registered in Entra ID.
Client Secret Masked Client secret generated for the app registration.
Access Token Masked OAuth access token (populated after authorization).
Refresh Token Masked OAuth refresh token (populated when returned by Microsoft).
Scopes String OAuth scopes requested during authorization (default: offline_access https://graph.microsoft.com/.default).
Mailbox String Optional mailbox address/UPN; leave empty to use the authenticated user (Me).

Functions

Listen

Parameter Type Notes
Connection Connection OAuth connection containing Graph credentials and mailbox selection.
MonitoredFolder String Folder to poll for unread messages (for example, Inbox).
ProcessedFolder String Optional folder to move successfully processed messages; if empty, messages are marked read.
ErrorFolder String Optional folder to move messages that fail processing.
FireMethod String PerMessage emits one payload per message; PerAttachment emits one per attachment.
Return Type Notes
Response IAsyncEnumerable Stream of message payloads. Attachments are included when present; errors optionally move messages to the error folder.

Known Issues

  • The listener uses a polling window of roughly 30 seconds per invocation; long-running flows may require re-triggering the node.
  • The node marks messages as read or moves them; ensure processed/error folders exist when specified.