An intelligent AI-powered assistant for Microsoft Intune administration using natural language processing and enterprise REST APIs.
The AI Enterprise Device Management Assistant bridges the gap between IT administrators and complex device management tasks by enabling natural language interactions with Microsoft Intune. Administrators can query device states, apply policies, and trigger remediation workflows simply by describing what they want in plain English — powered by Google Gemini's large language model.
- 🗣️ Natural Language Interface — Ask questions like "Show me all non-compliant Windows 11 devices" or "Push the VPN profile to the Marketing team"
- 🔗 Microsoft Intune REST API Integration — Direct, authenticated access to device, policy, and compliance endpoints
- 🔐 Secure Authentication — Azure AD OAuth 2.0 / MSAL token management with automatic refresh
- 🤖 Modular LLM Workflows — Structured, reusable Gemini prompt chains with intent recognition and action routing
- 📊 Device Compliance Dashboard — Real-time visualization of device health, policy status, and alerts
- ⚡ Action Execution Engine — Approve, reject, or schedule Intune actions with confirmation flows
- 📝 Audit Logging — Full history of AI-suggested and admin-executed actions
- 🔄 Reusable Service Architecture — Decoupled API, AI, and UI layers for maintainability and extensibility
┌─────────────────────────────────────────────────────────────┐
│ React Frontend (UI) │
│ - Chat Interface - Dashboard - Device Explorer │
└────────────────────────┬────────────────────────────────────┘
│ REST
┌────────────────────────▼────────────────────────────────────┐
│ Node.js Backend (API) │
│ - Auth Middleware - Intent Router - Action Executor │
└──────────┬─────────────────────────────┬────────────────────┘
│ Gemini API │ MS Graph / Intune API
┌──────────▼──────────┐ ┌───────────▼────────────────────┐
│ Google Gemini LLM │ │ Microsoft Intune REST APIs │
│ (Intent + Actions) │ │ (Devices, Policies, Compliance)│
└─────────────────────┘ └────────────────────────────────┘
| Layer | Technology |
|---|---|
| Frontend | React 18, TypeScript, Tailwind CSS |
| Backend | Node.js, Express.js |
| AI Engine | Google Gemini API |
| Auth | Azure AD, MSAL.js |
| Device Management | Microsoft Intune REST API (MS Graph) |
| State Management | Redux Toolkit |
| Testing | Jest, React Testing Library |
- Node.js >= 20.x
- npm >= 9.x
- Azure AD App Registration with Intune permissions
- Google Gemini API key
# Clone the repository
git clone https://github.com/<your-username>/ai-enterprise-device-management.git
cd ai-enterprise-device-management
# Install frontend dependencies
npm install
# Install backend dependencies
cd server && npm installCreate a .env file in the root directory:
# Google Gemini
REACT_APP_GEMINI_API_KEY=your_gemini_api_key
# Azure AD / MSAL
REACT_APP_AZURE_CLIENT_ID=your_azure_client_id
REACT_APP_AZURE_TENANT_ID=your_azure_tenant_id
REACT_APP_AZURE_REDIRECT_URI=http://localhost:3000
# Backend
REACT_APP_API_BASE_URL=http://localhost:5000/apiCreate server/.env:
PORT=5000
AZURE_CLIENT_SECRET=your_azure_client_secret
GEMINI_API_KEY=your_gemini_api_key# Start the frontend
npm start
# Start the backend (in a new terminal)
cd server && npm run devThe app will be available at http://localhost:3000.
ai-enterprise-device-management/
├── public/
├── src/
│ ├── components/
│ │ ├── Chat/ # Natural language chat interface
│ │ ├── Dashboard/ # Device compliance dashboard
│ │ ├── DeviceExplorer/ # Browse and manage devices
│ │ └── common/ # Shared UI components
│ ├── services/
│ │ ├── geminiService.ts # Gemini LLM integration
│ │ ├── intuneService.ts # Intune REST API calls
│ │ └── authService.ts # Azure AD authentication
│ ├── store/ # Redux store and slices
│ ├── hooks/ # Custom React hooks
│ ├── types/ # TypeScript type definitions
│ └── utils/ # Helper utilities
├── server/
│ ├── routes/ # Express API routes
│ ├── middleware/ # Auth, logging middleware
│ ├── services/ # Backend services
│ └── index.js # Server entry point
└── README.md
- All API keys are stored as environment variables — never committed to source control
- Backend acts as a secure proxy — Intune API tokens are never exposed to the frontend
- Azure AD OAuth 2.0 with PKCE for user authentication
- Role-based access control aligned with Intune administrator roles
# Run unit tests
npm test
# Run tests with coverage
npm test -- --coverageThis project is licensed under the MIT License.
Mugunth — GitHub
⭐ If you find this project helpful, please give it a star!