Package Information
Available Nodes
Documentation
n8n-nodes-microsoft365-copilot
This is an n8n community node that allows you to use Microsoft 365 Copilot's chat functionality in your n8n workflows.
n8n is a fair-code licensed workflow automation platform.
Microsoft 365 Copilot is an AI-powered assistant that works across your Microsoft 365 applications and data.
Table of Contents
- Installation
- Prerequisites
- Azure App Registration Setup
- Credentials Configuration
- Operations
- Usage Examples
- Important Limitations
- Compatibility
- Resources
- License
Installation
Follow the installation guide in the n8n community nodes documentation.
Community Node Installation
- Go to Settings > Community Nodes
- Select Install
- Enter
n8n-nodes-microsoft365-copilotin Enter npm package name - Agree to the risks of using community nodes
- Select Install
Manual Installation
To install manually for development:
npm install n8n-nodes-microsoft365-copilot
For development:
git clone https://github.com/vagedis74/n8n-nodes-microsoft365-copilot.git
cd n8n-nodes-microsoft365-copilot
npm install
npm run build
npm link
Prerequisites
License Requirements
- Microsoft 365 Copilot License: Each user accessing the Copilot API must have a Microsoft 365 Copilot add-on license
- Organizational Account: Only work or school accounts are supported (personal Microsoft accounts are NOT supported)
API Status
⚠️ Important: This node uses the Microsoft Graph API Beta endpoints. The API is currently in preview and subject to change. It is NOT recommended for production applications.
Azure App Registration Setup
Before using this node, you need to register an application in Azure:
1. Create App Registration
- Go to Azure Portal
- Navigate to Microsoft Entra ID (formerly Azure Active Directory)
- Select App registrations > New registration
- Enter a name (e.g., "n8n Microsoft 365 Copilot")
- Select Accounts in this organizational directory only (Single tenant)
- Under Redirect URI, select Web and enter your n8n OAuth callback URL:
For local development:https://your-n8n-instance.com/rest/oauth2-credential/callbackhttp://localhost:5678/rest/oauth2-credential/callback - Click Register
2. Configure API Permissions
After registration, add the required delegated permissions:
- Go to API permissions > Add a permission
- Select Microsoft Graph > Delegated permissions
- Add the following permissions:
Sites.Read.All- Read items in all site collectionsMail.Read- Read user mailPeople.Read.All- Read all users' relevant people listsOnlineMeetingTranscript.Read.All- Read all transcripts of online meetingsChat.Read- Read user chat messagesChannelMessage.Read.All- Read all channel messagesExternalItem.Read.All- Read all external items
- Click Add permissions
- Click Grant admin consent for [Your Organization] (requires admin)
3. Create Client Secret
- Go to Certificates & secrets > Client secrets
- Click New client secret
- Enter a description (e.g., "n8n integration")
- Select an expiration period
- Click Add
- Copy the secret value immediately (you won't be able to see it again)
4. Get Required Information
You'll need these values for n8n credentials:
- Application (client) ID: Found on the app's Overview page
- Tenant ID: Found on the app's Overview page
- Client Secret: The value you copied in step 3
Credentials Configuration
Setting Up OAuth2 Credentials in n8n
- In n8n, go to Credentials > New
- Search for Microsoft 365 Copilot OAuth2 API
- Fill in the following fields:
- Tenant ID: Your Microsoft Entra ID tenant ID
- Client ID: Your application (client) ID from Azure
- Client Secret: The secret value you created
- Click Connect my account
- Authenticate with your Microsoft 365 account
- Grant the requested permissions
- Click Save
Operations
Conversation
- Create: Create a new Copilot conversation
- Returns a conversation ID that can be used for subsequent chat messages
- No additional parameters required
Chat
- Send Message: Send a message to an existing conversation and receive Copilot's response
- Required Parameters:
- Conversation ID: ID of an existing conversation
- Message: The text message/prompt to send to Copilot
- Optional Parameters:
- Timezone: Location timezone for context (e.g., "America/New_York", default: "UTC")
- Additional Context: Extra grounding context to help Copilot provide more relevant responses
- Enable Web Search: Whether to enable web search for this message (default: true)
- Required Parameters:
Usage Examples
Example 1: Simple Chat Workflow
Create Conversation node
- Resource: Conversation
- Operation: Create
Send Message node
- Resource: Chat
- Operation: Send Message
- Conversation ID:
{{$json.id}}(from previous node) - Message: "What meetings do I have tomorrow?"
- Timezone: "America/New_York"
Example 2: Multi-Turn Conversation
You can store the conversation ID and reuse it for multiple messages:
- Create conversation once
- Save conversation ID to a variable or database
- Send multiple messages using the same conversation ID
- Each message maintains context from previous messages in the conversation
Example 3: With Additional Context
Resource: Chat
Operation: Send Message
Conversation ID: [your-conversation-id]
Message: "Summarize this information"
Additional Context: "Focus on Q4 financial results and compare to Q3"
Enable Web Search: true
Timezone: Europe/London
Important Limitations
API Limitations
- Beta API: Subject to change without notice
- Text Only: Only returns text responses (no file creation, email sending, or meeting scheduling)
- No Actions: Cannot perform actions, only provides information and insights
- Single-Turn Web Search: Web search context applies per message, not across conversation
- Timeouts: Not suitable for long-running tasks due to gateway timeout risks
Authentication Limitations
- Delegated Permissions Only: Application permissions are NOT supported
- User Context Required: Always operates in the context of the authenticated user
- No Personal Accounts: Only organizational (work/school) accounts are supported
License Requirements
- Users without Microsoft 365 Copilot licenses cannot use this API
- All API calls are subject to Microsoft's usage quotas and throttling
Security and Compliance
- All organizational security policies are enforced
- Data access respects user permissions and sensitivity labels
- Audit logs and compliance controls are maintained
Compatibility
- n8n version 1.0.0 or later
- Node.js version 22.0.0 or later
Resources
- n8n community nodes documentation
- Microsoft 365 Copilot API Overview
- Microsoft Graph API Reference
- Microsoft Entra ID OAuth 2.0
Development
Build the Node
npm install
npm run build
Run Locally for Testing
npm run dev
This will start n8n with your node loaded. Access it at http://localhost:5678.
Lint
npm run lint
npm run lint:fix
Support
For issues, questions, or contributions, please visit the GitHub repository.
License
Future Enhancements
MCP Protocol Support
The Model Context Protocol (MCP) is not currently supported by the Microsoft 365 Copilot API. If Microsoft adds MCP support in the future, this node could be extended to:
- Connect to MCP servers for additional tool capabilities
- Expose custom tools and data sources to Copilot
- Enable more advanced agentic workflows
For now, complex tool orchestration can be achieved by using n8n's workflow capabilities alongside the Copilot node.
Note: This is a community-maintained node and is not officially supported by Microsoft or n8n. Use at your own risk and always test thoroughly before using in production workflows.