Skip to main content
Noxus supports two authentication methods for Microsoft 365 integrations:
  1. OAuth (User-Delegated) - Authenticate as a specific user
  2. Service Principal (Application) - Authenticate as an application with organization-wide access
Both methods connect to Microsoft’s identity platform to access Microsoft Graph API and other Microsoft services.

Supported Microsoft 365 Services

ServiceOAuthService Principal
Outlook✅ Yes✅ Yes
Microsoft Teams✅ Yes✅ Yes
OneDrive✅ Yes✅ Yes
SharePoint✅ Yes✅ Yes
Dynamics 365 CRM❌ No✅ Yes
Dynamics 365 Field Service❌ No✅ Yes
Dynamics 365 Business Central❌ No✅ Yes

Authentication Method 1: OAuth (User-Delegated)

Description

OAuth authentication allows Noxus to perform actions on behalf of a specific user. The user grants permission through an interactive consent screen, and Noxus can then access resources that user has access to.

When to Use

Use OAuth When

  • Actions should appear as coming from a specific user
  • Access should be limited to what the user can see
  • User accountability is required for audit trails
  • You only need access to one user’s data

Characteristics

  • Permission Type: Delegated (user context)
  • User Interaction: Required during setup
  • Access Scope: Limited to user’s accessible resources
  • Token Management: Automatic refresh
  • Best For: User-specific workflows, personal automation

Authentication Flow

Setup Process

1

Navigate to Integrations

Go to Integrations in your Noxus workspace
2

Find Microsoft Service

Select the Microsoft service you want to connect (Outlook, Teams, OneDrive, or SharePoint)
3

Click Connect

Click the Connect button for OAuth authentication
4

Sign In

Sign in with your Microsoft account when prompted
5

Approve Permissions

Review and approve the requested permissions
6

Complete

Connection is now active and ready to use

Authentication Method 2: Service Principal (Application)

Description

Service Principal authentication uses an Azure application identity with administrator-approved permissions. This enables organization-wide access without requiring individual user consent for each operation.

When to Use

Use Service Principal When

  • Running background automation without user involvement
  • Need fine-grained control of which permissions/entities can be accessed
  • Access to resources across multiple users
  • Organization-wide operations
  • Scheduled tasks and system integrations

Characteristics

  • Permission Type: Application (organization context)
  • User Interaction: None required after setup
  • Access Scope: Organization-wide (based on granted permissions)
  • Token Management: Automatic
  • Best For: Background automation, cross-user operations

Authentication Flow


Azure Setup Requirements

Step 1: Register an Application

1

Open Azure Portal

2

Navigate to App Registrations

Go to Microsoft Entra ID → App registrations
3

Create New Registration

Click New registration
4

Configure Application

  • Enter a name for the application
  • Select “Accounts in this organizational directory only”
  • Click Register

Step 2: Configure API Permissions

Add the following permissions based on the services you need:
For Outlook, Teams, OneDrive, SharePoint:
ServiceRequired Permissions
OutlookMail.Read, Mail.Send, Mail.ReadWrite
TeamsTeam.ReadBasic.All, Channel.ReadBasic.All, ChannelMessage.Send
OneDriveFiles.Read.All, Files.ReadWrite.All
SharePointSites.Read.All, Sites.ReadWrite.All (or Sites.Selected for restricted access)
1

Open API Permissions

In your app registration, go to API permissions
2

Grant Consent

Click Grant admin consent for [Your Organization]
3

Confirm

Confirm the action
Admin consent is required for Service Principal authentication. Only Azure administrators can grant this consent.

Step 4: Create Client Secret

1

Navigate to Secrets

Go to Certificates & secrets
2

Create New Secret

Click New client secret
3

Set Expiration

Set an expiration period (6 months, 12 months, or 24 months)
4

Copy Secret

Copy the secret value immediately (it won’t be shown again)
Store the client secret securely. You won’t be able to retrieve it after leaving the page.

Step 5: Gather Required Information

You will need:
CredentialLocation
Tenant IDFound in Microsoft Entra ID overview
Client IDFound in your app registration overview
Client SecretThe value you copied in Step 4

Noxus Configuration

1

Navigate to Integrations

Go to Integrations in your Noxus workspace
2

Select Service Principal

Select the Service Principal version of your desired service
3

Enter Credentials

Enter your credentials:
  • Tenant ID
  • Client ID
  • Client Secret
4

Additional Configuration

For each integration there may be additional configurations, such as granular permissions used, or resource limitations
5

Save

Click Save to complete the connection

Comparison: OAuth vs Service Principal

Feature Comparison

FeatureOAuthService Principal
IdentityIndividual userApplication
SetupUser clicks to connectAdmin configures in Azure
ConsentUser approvesAdmin pre-approves
Access LevelUser’s resources onlyOrganization-wide
User InteractionRequired at setupNot required
Typical Use CasePersonal automationBackground jobs, org-wide operations
MaintenanceMinimalSecret rotation required

Decision Tree


Advanced: SharePoint Sites.Selected Permission

For use-cases requiring restricted access to specific SharePoint sites, Noxus supports the Sites.Selected permission model.
Full Access Model
  • Access to all SharePoint sites in the organization
  • Simpler configuration
  • Broader permissions
  • No site-specific configuration needed

Configuration Options

SettingDescription
Allowed Site URLsList of SharePoint site URLs the integration can access
Use Sites.Selected PermissionWhen enabled, only fetches the specified sites
Use Sites.Selected for better security when you don’t need access to all SharePoint sites.

Dynamics 365 Integrations

Dynamics 365 services only support Service Principal authentication.

Dynamics 365 CRM and Field Service

Supported Operations:
  • Accounts, Contacts, Leads, Opportunities (CRM)
  • Work Orders, Bookings, Resources (Field Service)
  • Custom entities via Dataverse

Dynamics 365 Business Central

Supported Operations:
  • Customer management
  • Sales invoice creation and posting
  • Sales order management
  • Item and inventory queries
  • Payment tracking

Security Best Practices

Protecting User-Delegated Access:
1

Regular Reviews

Regularly review connected applications in your Microsoft account
2

Remove Unused

Disconnect services you no longer use
3

Permission Awareness

Be cautious about the permissions you approve
4

Monitor Activity

Review activity logs for unexpected access

Troubleshooting

Possible Causes:
  • Invalid credentials (Tenant ID, Client ID, or Client Secret)
  • Client secret expired
  • Missing API permissions
  • Admin consent not granted
Solutions:
  • Verify credentials are correct
  • Generate a new client secret if expired
  • Check API permissions in Azure Portal
  • Ensure admin consent has been granted
Possible Causes:
  • Missing required API permissions
  • Admin consent revoked
  • Resource access restrictions
  • User doesn’t have access (OAuth)
Solutions:
  • Review and add missing permissions in Azure
  • Re-grant admin consent
  • Check resource-level permissions
  • Verify user has access to the resource
Possible Causes:
  • Client secret expired
  • App registration deleted
  • Permissions changed
  • User revoked consent (OAuth)
Solutions:
  • Generate and update client secret
  • Verify app registration still exists
  • Review permission changes
  • Re-authenticate with OAuth

Next Steps