Skip to content

🚀 Feature: Add Microsoft Graph Email Provider #9351

@mayurbojappa

Description

@mayurbojappa

🔖 Feature description

Add a new email provider integration using Microsoft Graph API, enabling users to send emails via Outlook / Office 365 using OAuth authentication instead of SMTP.

🎤 Why is this feature needed ?

Current Microsoft Outlook 365 integration has low limitations on the number of emails sent per minute. There is no such limit on MSGraph.

✌️ How do you aim to achieve this?

  • Follow the official Novu docs for adding a new provider:
    https://docs.novu.co/community/add-a-new-provider?utm_campaign=github-contrib
  • Create a new email provider module (e.g., MsGraphEmailProvider) under the Email channel.
  • Define and validate configuration fields:
    • tenantId
    • clientId
    • clientSecret
    • fromEmail
  • Use OAuth 2.0 Client Credentials flow to acquire access tokens from Azure AD.
  • Implement the email sending logic via Microsoft Graph API (/sendMail).
  • Include provider tests

🔄️ Additional Information

Reference documentation: https://learn.microsoft.com/en-us/graph/api/user-sendmail

Outlook 365 limitations: https://learn.microsoft.com/en-us/office365/servicedescriptions/exchange-online-service-description/exchange-online-limits#sending-limits-1

👀 Have you spent some time to check if this feature request has been raised before?

  • I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

Are you willing to submit PR?

Yes I am willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions