Prerequisites for the Nodinite Dynamics 365 Monitoring Agent
Get started with confidence! This page outlines everything you need to successfully install and run the Nodinite Dynamics 365 Monitoring Agent.
Architecture overview: The Nodinite agent connects securely to your Dynamics 365 instance via the Microsoft API.
For best performance and security, install the agent close to your Nodinite Core Services. This guide covers a typical local network setup (usually on the Nodinite application server).
Software requirements
The Nodinite Dynamics 365 Monitoring Agent is a Windows Service, typically installed on the Nodinite application server.
| Product | |
|---|---|
| Windows Server | Windows 2025Windows 2022Windows 2019Windows 2016Windows 2012 R2Windows 2012 |
| .NET Framework | .NET Framework 4.8 or later New 6.0We recommend .NET Framework 4.8.1 or later |
Versions 6.0 and later require .NET Framework 4.8 or later.
Versions 5.4 and up require .NET Framework 4.6.2 or later.
Versions before 5.4 require .NET Framework 4.5.2 or later.
Supported Versions
Cloud technologies evolve quickly, and Microsoft deprecates older APIs and SDKs regularly. Nodinite always supports the APIs and SDKs currently supported by Microsoft. Update Nodinite and the Dynamics 365 Monitoring Agent as needed to stay current.
Subscribe to our Release Notes to stay informed.
What Dynamics 365 instance Rights does the Dynamics 365 Monitoring agent require?
See the list of SDK/API calls.
To use the Audit feature, enable user audits in your Dynamics 365 instance.
- Enable Audit user – %3C/sup%3E">Audit data and user activity

Make sure to enable the audit user option.
What Windows User Rights does the Dynamics 365 Monitoring agent require?
Install the agent as a Windows Service (usually on the Nodinite application server; virtual machines are supported).
- Use a local named account or domain account (preferred).
- Ensure the account has access and run-time rights.
- Follow the 'How to set logon as a Windows service right' user guide for details.
What Firewall settings are required for the Dynamics 365 Monitoring agent?
Where you install the Nodinite Dynamics 365 Monitoring Agent in relation to the Nodinite Monitoring Service, your Dynamics 365 instance, and the SQL Server that holds the Monitoring Database determines your firewall configuration. The diagram shows every host involved, with the agent on its own server; each arrow starts at the side that opens the connection.
Network diagram: the Monitoring Service calls the agent; the agent signs in with Microsoft Entra ID, calls the Dynamics 365 APIs over HTTPS, and stores its data in the Monitoring Database on SQL Server.
Note
When the agent runs on the Core Services Server (the typical installation), you need no firewall rule between the Monitoring Service and the agent.
Between the Monitoring Service and the Dynamics 365 Monitoring agent
The Monitoring Service opens every connection; the agent never calls it. On Windows Server, Nodinite v7 hosts the agent as its own IIS web site, on a port you set per environment in the Nodinite Portal (Servers step).
| Direction | Source | Destination | Protocol | Port(s) | Purpose | Notes |
|---|---|---|---|---|---|---|
| Inbound | Core Services Server | Agent Server | TCP (HTTPS/HTTP) | Agent site port | Poll the agent, send configuration, run Remote Actions | v7. No fixed default; use the port set in the Portal. Only when the agent is on a remote server |
| Inbound | Core Services Server | Agent Server | TCP | 8000 | Same, for Windows Service agents | ⚠️ v6 and earlier only (legacy MSI installer on remote servers) |
Between the Dynamics 365 Monitoring agent and Dynamics 365
The agent signs in as a System User and calls the Dynamics 365 APIs through the SDK. All traffic is outbound HTTPS; Dynamics 365 needs no inbound rule. Allow the hostnames for your region, as listed in Power Platform URLs and IP address ranges.
| Direction | Source | Destination | Protocol | Port(s) | Purpose | Notes |
|---|---|---|---|---|---|---|
| Outbound | Agent Server | Target (Microsoft Entra ID, login.microsoftonline.com) |
TCP (HTTPS) | 443 | Authenticate the System User | Always required |
| Outbound | Agent Server | Target (Dynamics 365, *.dynamics.com) |
TCP (HTTPS) | 443 | Dynamics 365 SDK API calls | Your organization URL, for example contoso.crm.dynamics.com (North America) or contoso.crm4.dynamics.com (EMEA) |
| Inbound | Target (Dynamics 365) | Agent Server | TCP | 443 | Response traffic | Automatically allowed by stateful firewall inspection |
Tip
Dynamics 365 Authentication: The agent uses a System User account to access Dynamics 365 APIs. Ensure the account has required privileges (e.g.,
prvReadLicensefor license information, System User for organization retrieval). See the List of API Calls for details.
Between the Dynamics 365 Monitoring agent and SQL Server
The agent stores monitoring data in the Dynamics 365 Monitoring Database. See the SQL Server Connection Strings guide for connection string formats and security settings.
| Direction | Source | Destination | Protocol | Port(s) | Purpose | Notes |
|---|---|---|---|---|---|---|
| Outbound | Agent Server | SQL Server (Nodinite databases) | TCP | 1433 | SQL Server default instance | Named instances use a dynamic or static port instead |
| Outbound | Agent Server | SQL Server (Nodinite databases) | UDP | 1434 | SQL Server Browser | Only for named instances without a fixed port in the connection string |
| Outbound | Agent Server | SQL Server (Nodinite databases) | TCP | 49152-65535 | SQL Server dynamic ports, RPC | High ports for named instances and MSDTC; see How to configure RPC dynamic port allocation to work with firewalls |
| Outbound | Agent Server | SQL Server (Nodinite databases) | TCP/UDP | 135 | RPC Endpoint Mapper / MSDTC | Distributed Transaction Coordinator |
| Inbound | SQL Server (Nodinite databases) | Agent Server | TCP | 1433, 49152-65535, 135 | Response traffic | Automatically allowed by stateful firewall inspection |
Tip
If the agent and SQL Server are on the same machine, you need no firewall rule for SQL traffic (loopback).
Between the Dynamics 365 Monitoring agent and the Domain Controller
Required when the agent's service account uses Windows authentication to SQL Server.
| Direction | Source | Destination | Protocol | Port(s) | Purpose | Notes |
|---|---|---|---|---|---|---|
| Outbound | Agent Server | Domain Controller | TCP/UDP | 88 | Kerberos authentication | Required for domain authentication |
| Outbound | Agent Server | Domain Controller | TCP/UDP | 389 | LDAP | Standard LDAP queries |
| Outbound | Agent Server | Domain Controller | TCP | 636 | LDAPS (Secure LDAP) | Required for LDAPS authentication or querying certificates from AD |
Between the servers and DNS
| Direction | Source | Destination | Protocol | Port(s) | Purpose | Notes |
|---|---|---|---|---|---|---|
| Outbound | Agent Server | DNS Server | TCP/UDP | 53 | Name resolution | Resolve the Dynamics 365 and Entra ID hostnames, the SQL Server, the Domain Controller, and the Core Services Server. A local hosts file can replace DNS |
| Outbound | Core Services Server | DNS Server | TCP/UDP | 53 | Name resolution | Resolve the Agent Server |
Important
Stateful Firewalls: Most Windows Firewall implementations are stateful, so response traffic for established outbound connections is allowed automatically. The inbound response rules above are for reference and troubleshooting.
What SQL user rights does the Dynamics 365 Monitoring agent require?
The service account running the Dynamics 365 Monitoring Agent must have the following rights:
Nodinite Dynamics 365 Monitoring database
To improve performance, all operations initiated from the Web Client/Web API use a SQL-based Monitoring Database.
- db_owner (required to apply DACPAC updates)
List of API Calls
| API Call | Privilege | Purpose |
|---|---|---|
| RetrieveOrganizationsRequest | System User account | Registered users and logon history |
| RetrieveVersionRequest | ||
| RetrieveDeploymentLicenseTypeRequest | prvReadLicense | |
| DeviceRegistrationRequest | ||
| RetrieveLicenseInfoRequest | prvReadLicense | |
| QueryExpression - Audit.EntityLogicalName, Columns: objectid, createdon, operation, action, userid | Audit | |
| QueryExpression - Workflow.EntityLogicalName, Columns: createdon, name, description, statecode, category, workflowid, activeworkflowid | Workflow | |
| QueryExpression - Solution.EntityLogicalName, Columns: solutionid, uniquename | Solution | |
| QueryExpression - SdkMessageProcessingStep.EntityLogicalName, Columns: createdon, name, description, statecode, introducedversion, mode | Processing step |
Frequently asked questions
Find more solutions and answers to common problems for the Nodinite Dynamics 365 Monitoring Agent in the Troubleshooting user guide.
Next Steps
Install Dynamics 365 Monitoring Agent
Related Topics
Add or manage a Monitoring Agent Configuration
Monitoring
Administration