MSP Guide

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.

  1. Deploy the config file and installer to the endpoint (see RMM sections below)
  2. Network Weather launches and performs its first check-in
  3. The device appears in your partner dashboard under the appropriate organization

ConnectWise Automate

Deploy the Installer

  1. Upload the Network Weather PKG to your ConnectWise Automate Software Center
  2. 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 /
  1. 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

  1. Navigate to Agent Procedures > Create
  2. 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)
  1. 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

  1. Go to Administration > Scripts > Create New Script
  2. 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 /
  1. 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 name
  • NINJA_ORGANIZATION_ID — Numeric org ID

Datto RMM

Create a Component

  1. Navigate to ComStore > Create Component
  2. Upload the Network Weather PKG as a component attachment
  3. 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 /
  1. 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:

  1. Use a Configuration Profile to enforce managed preferences with payload type com.networkweather.nwx.macos (see Managed Preferences)

  2. Deploy a config file via pre-install script with suppressWelcomeFlow and disableSparkle enabled

  3. 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:

  1. Set disableSparkle: true in config.json or via managed preferences
  2. 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.