MSP Deployment Guide
RMM deployment and partner integration for managed service providers
This guide covers deploying Network Weather across your MSP client base and integrating with your RMM tools.
Prerequisites
| Requirement | Details |
|---|---|
| Partner Account | Register at partner.networkweather.com |
| Installer | Download from pkgs.networkweather.com |
| Platform | macOS 14+ (Sonoma or later) |
MSP Configuration
Every managed deployment should pre-deploy a ~/.nwx/config.json to suppress onboarding prompts and control update behavior.
Recommended MSP Config
{
"suppressWelcomeFlow": true,
"disableSparkle": true,
"logLevel": "info"
}
| Key | Purpose |
|---|---|
suppressWelcomeFlow |
Skip the first-run onboarding flow — essential for silent deployment |
disableSparkle |
Disable auto-updates so you control version rollout via your RMM |
logLevel |
Set to "debug" for initial deployment troubleshooting, "info" for steady-state |
For the full list of config keys and their defaults, see Client Configuration.
MDM Managed Preferences
On macOS, you can enforce settings via a .mobileconfig profile that cannot be overridden by the user:
| MDM Key | Value | Purpose |
|---|---|---|
suppressWelcomeFlow |
true |
Silent deployment, no onboarding popup |
neverAsksForAdmin |
true |
No privilege escalation prompts |
disableSparkle |
true |
Manage updates via RMM, not Sparkle |
See Client Configuration — Managed Preferences for the full .mobileconfig template.
Device Enrollment
Devices are enrolled automatically when they first check in with the Network Weather cloud. There is no pre-registration step required.
- Deploy the config file and installer to the endpoint (see RMM sections below)
- Network Weather launches and performs its first check-in
- The device appears in your partner dashboard under the appropriate organization
ConnectWise Automate
Deploy the Installer
- Upload the Network Weather PKG to your ConnectWise Automate Software Center
- Create a Script to deploy:
#!/bin/bash
# Deploy Network Weather via ConnectWise Automate
CURRENT_USER=$(stat -f "%Su" /dev/console)
CONFIG_DIR="/Users/$CURRENT_USER/.nwx"
mkdir -p "$CONFIG_DIR"
cat > "$CONFIG_DIR/config.json" << 'EOF'
{
"suppressWelcomeFlow": true,
"disableSparkle": true
}
EOF
chown -R "$CURRENT_USER" "$CONFIG_DIR"
# Install the PKG
installer -pkg /path/to/NetworkWeather-AppleSilicon.pkg -target /
- Assign the script to target Groups or Locations
Monitor Deployment Status
Use a ConnectWise Automate Search to find machines with Network Weather installed:
- Check for
/Applications/Network Weather.app
Kaseya VSA
Create an Agent Procedure
- Navigate to Agent Procedures > Create
- Add steps:
Step 1 — Deploy Configuration:
- Action: Write File
- Path:
/Users/#user#/.nwx/config.json - Content: Your MSP config JSON
Step 2 — Install Application:
- Action: Install Package
- Upload PKG, use silent install (
installer -pkg)
- Schedule the procedure against your target Machine Groups
Using Kaseya Variables
Kaseya VSA supports variables to dynamically populate scripts:
#orgName#— Organization name#user#— Current logged-in user#machineGroup#— Machine group name
NinjaOne (NinjaRMM)
Deploy via Script
- Go to Administration > Scripts > Create New Script
- Choose macOS as the OS type
#!/bin/bash
CURRENT_USER=$(stat -f "%Su" /dev/console)
CONFIG_DIR="/Users/$CURRENT_USER/.nwx"
mkdir -p "$CONFIG_DIR"
cat > "$CONFIG_DIR/config.json" << 'EOF'
{
"suppressWelcomeFlow": true,
"disableSparkle": true
}
EOF
chown -R "$CURRENT_USER" "$CONFIG_DIR"
installer -pkg /tmp/NetworkWeather-AppleSilicon.pkg -target /
- Create a Policy or Scheduled Task to deploy the script to target organizations
NinjaOne Environment Variables
NinjaOne exposes organization context via environment variables:
NINJA_ORGANIZATION_NAME— Organization nameNINJA_ORGANIZATION_ID— Numeric org ID
Datto RMM
Create a Component
- Navigate to ComStore > Create Component
- Upload the Network Weather PKG as a component attachment
- Create the deployment script:
#!/bin/bash
CURRENT_USER=$(stat -f "%Su" /dev/console)
CONFIG_DIR="/Users/$CURRENT_USER/.nwx"
mkdir -p "$CONFIG_DIR"
cat > "$CONFIG_DIR/config.json" << 'EOF'
{
"suppressWelcomeFlow": true,
"disableSparkle": true
}
EOF
chown -R "$CURRENT_USER" "$CONFIG_DIR"
installer -pkg "$COMPONENT_DIR/NetworkWeather-AppleSilicon.pkg" -target /
- Assign the component to target Sites
Jamf Pro (macOS)
For detailed Jamf Pro deployment steps including PKG upload, policy creation, and configuration profiles, see the macOS Deployment Guide.
MSP-Specific Jamf Configuration
In addition to the standard deployment, MSPs should:
-
Use a Configuration Profile to enforce managed preferences with payload type
com.networkweather.nwx.macos(see Managed Preferences) -
Deploy a config file via pre-install script with
suppressWelcomeFlowanddisableSparkleenabled -
Scope per client using Smart Groups based on site or department
Partner Dashboard
Access the MSP partner dashboard at partner.networkweather.com:
- Fleet overview — See all enrolled devices across client organizations
- Organization management — Group devices by client
- Device health — Monitor device status (healthy, warning, critical) based on check-in recency
- Network quality — View latency, packet loss, and jitter metrics per device
- Device context — Connection state, location type, OS version, app version
Sign in with Google or Microsoft, or create an account with email and password.
Partner API
The partner API enables programmatic access to your MSP fleet data.
Authentication: OAuth client credentials flow. Generate credentials in the partner dashboard.
# Get an access token
TOKEN=$(curl -s -X POST https://partner.networkweather.com/oauth/token \
-d "grant_type=client_credentials&client_id=YOUR_ID&client_secret=YOUR_SECRET" \
| jq -r .access_token)
# List organizations
curl -H "Authorization: Bearer $TOKEN" \
https://partner.networkweather.com/v1/organizations
# List devices (with optional filters)
curl -H "Authorization: Bearer $TOKEN" \
"https://partner.networkweather.com/v1/devices?orgId=ORG_ID"
Updating Across Your Client Base
Via RMM
Use your RMM to push new PKG versions just like the initial deployment. Network Weather handles version upgrades gracefully — configuration and diagnostic history are preserved.
Via Sparkle Auto-Update
By default, Network Weather auto-updates via Sparkle on macOS. If you prefer to control the update schedule:
- Set
disableSparkle: truein config.json or via managed preferences - Push new versions through your RMM on your own schedule
Support
For MSP deployment assistance, contact partners@networkweather.com or schedule a call at calendly.com/network-weather-david-weekly/listening.