Swift-based automated application management for Microsoft Intune
Intuneomator is a powerful macOS enterprise application that bridges the gap between the open-source Installomator project and Microsoft Intune, providing IT administrators with comprehensive automation capabilities for macOS application lifecycle management.
As mentioned in MC1066336, starting July 31, 2025, or soon after, the following Graph APIs will require either DeviceManagementScripts.Read.All or DeviceManagementScripts.ReadWrite.All permissions to continue working:
~/deviceManagement/deviceShellScripts
~/deviceManagement/deviceCustomAttributeShellScripts
~/deviceManagement/deviceManagementScripts
Since Intuneomator utilizes there API, you should add DeviceManagementScripts.ReadWrite permissions to your app registration to continue using the built in Shell Script and Custom Attribute managers.
- 900+ Application Support: Leverages Installomator's extensive label database
- Multi-Architecture Support: Handles ARM64, Intel, and Universal binaries seamlessly
- Flexible Deployment Types: Supports DMG, PKG, and LOB (Line of Business) applications
- Intelligent Version Detection: Automatic monitoring and update notifications
- Complete Lifecycle Management: Download β Package β Upload β Deploy workflow
- Group Assignment Automation: Azure AD group targeting with assignment filters
- Metadata Management: Automated app information and script generation
- Script Automation: Pre/post-installation script management
- Scheduled Processing: Launch Daemon-based automation (default: 8:30 AM/PM)
- On-Demand Operations: Manual trigger capability for immediate processing
- Bulk Operations: Process multiple applications simultaneously
- Cache Management: Intelligent cleanup and optimization
- Rich Notifications: Microsoft Teams webhook integration with adaptive cards
- CVE Alerts: Security vulnerability notifications with detailed information
- Status Updates: Real-time automation results and system health
- Configurable Alerts: Customizable notification types and styles
- Dual Authentication: Support for both certificate and client secret methods
- XPC Architecture: Secure inter-process communication with privilege separation
- Keychain Integration: Secure credential storage and management
- Certificate Management: Built-in certificate generation and validation
Intuneomator employs a sophisticated multi-process architecture designed for security and reliability:
βββββββββββββββββββββββ XPC Communication ββββββββββββββββββββββββ
β GUI Application ββββββββββββββββββββββββββββ€ Privileged Service β
β (Intuneomator) β β (IntuneomatorService)β
β β Secure IPC Bridge β β
β β’ User Interface β β β’ File Operations β
β β’ Configuration β β β’ Graph API Calls β
β β’ Status Display β β β’ Script Execution β
βββββββββββββββββββββββ ββββββββββββββββββββββββ
- Main GUI Application: SwiftUI-based interface for configuration and monitoring
- XPC Service: Privileged background service handling system operations
- Launch Daemons: System-level scheduled task management
- Shared Libraries: Common utilities and data structures
- macOS 14.6 or later
- Microsoft Intune subscription with administrative access
- Microsoft Entra ID (Azure AD) with application registration permissions
- Xcode 16.2+ for development
- Download the latest release from GitHub Releases
- Install the package with administrative privileges
- Launch Intuneomator and complete the welcome wizard
# Clone the repository
git clone https://github.com/gilburns/intuneomator.git
cd intuneomator
# Open in Xcode
open Intuneomator.xcodeproj
# Build all targets
xcodebuild -project Intuneomator.xcodeproj -scheme Intuneomator -configuration Debug-
Create Application Registration:
- Navigate to Microsoft Entra admin center
- Register new application: "Intuneomator Integration"
- Note the Application (client) ID and Directory (tenant) ID
-
Configure Authentication (choose one):
- Certificate: Generate and upload .p12 certificate
- Client Secret: Create and securely store secret value
-
Assign API Permissions:
Microsoft Graph Application Permissions: β’ DeviceManagementApps.ReadWrite.All β’ DeviceManagementConfiguration.ReadWrite.All β’ DeviceManagementManagedDevices.ReadWrite.All β’ DeviceManagementScripts.ReadWrite.All β’ Group.Read.All -
Grant Admin Consent for all assigned permissions
- Launch the application and complete the Welcome Wizard
- Enter your Entra ID tenant and application details
- Configure authentication credentials
- Set up Teams notifications (optional)
- Configure automation schedule and preferences
For detailed setup instructions, see entra-app-setup.md.
- Discover Applications: Browse 700+ available Installomator labels
- Configure Deployment: Set metadata, scripts, and group assignments
- Process Applications: Manual or scheduled automation
- Monitor Results: Real-time status and Teams notifications
# Default automation runs twice daily at 8:30 AM and PM
# Customize through Settings β Automation ScheduleConfigure webhook URL in Settings to receive:
- Automation completion status
- CVE vulnerability alerts
- Application update notifications
- System health monitoring
/Library/Application Support/Intuneomator/
βββ ManagedTitles/ # Label-based app management
β βββ chrome_12345/ # Individual app folders
β βββ firefox_67890/
β βββ ...
βββ Cache/ # Temporary downloads
βββ Installomator/ # Application logs
βββ Custom/ # Custom Installomator Labels
βββ Labels/ # Standard Installomator Labels (Main Branch)
- Create custom Installomator labels for proprietary applications
- Support for custom download sources and packaging logic
- Integration with existing Installomator ecosystem
- Pre-installation and post-installation script automation
- PowerShell and Shell script support
- Variable substitution and dynamic content
- macOS device targeting with advanced filters
- Group-based assignment management
- Conditional deployment logic
We welcome contributions! Please read our contributing guidelines and submit pull requests for any improvements.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
- Wiki: Comprehensive documentation
- API Reference: XPC service interface documentation
- Troubleshooting: Common issues and solutions
- GitHub Issues: Report bugs and request features
- Community Forum: Get help from the community
- Enterprise Support: Contact for enterprise deployment assistance
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Installomator: The foundational open-source project
- Microsoft Graph Team: For comprehensive API documentation
- macOS Admin Community: For continuous feedback and testing
Made with β€οΈ for macOS Intune administrators
Simplifying enterprise app management, one installation at a time.