From b897330a7e5805dfa3d8fba27fecd6b813e3d987 Mon Sep 17 00:00:00 2001 From: Graham McIntie Date: Sat, 14 Feb 2026 10:28:20 -0600 Subject: [PATCH] docs: add integrations and org settings sections to in-app help page --- lib/towerops_web/live/help_live/index.ex | 436 ++++++++++++++++++++++- 1 file changed, 432 insertions(+), 4 deletions(-) diff --git a/lib/towerops_web/live/help_live/index.ex b/lib/towerops_web/live/help_live/index.ex index c8c49829..e7386408 100644 --- a/lib/towerops_web/live/help_live/index.ex +++ b/lib/towerops_web/live/help_live/index.ex @@ -178,6 +178,21 @@ defmodule ToweropsWeb.HelpLive.Index do Getting Started +
  • + <.link + patch={~p"/help?section=settings"} + class={[ + "block px-3 py-2 rounded-md text-sm font-medium transition-colors", + if @active_section == "settings" do + "bg-blue-50 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300" + else + "text-gray-700 hover:bg-gray-50 dark:text-gray-300 dark:hover:bg-gray-800" + end + ]} + > + Organization Settings + +
  • <.link patch={~p"/help?section=sites"} @@ -223,6 +238,21 @@ defmodule ToweropsWeb.HelpLive.Index do Remote Pollers
  • +
  • + <.link + patch={~p"/help?section=integrations"} + class={[ + "block px-3 py-2 rounded-md text-sm font-medium transition-colors", + if @active_section == "integrations" do + "bg-blue-50 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300" + else + "text-gray-700 hover:bg-gray-50 dark:text-gray-300 dark:hover:bg-gray-800" + end + ]} + > + Integrations + +
  • <.link patch={~p"/help?section=mikrotik"} @@ -379,11 +409,12 @@ defmodule ToweropsWeb.HelpLive.Index do

    - Create a Site + Create a Site (Optional)

    Sites represent physical or logical locations where your network devices are located. - Start by creating a site for your office, data center, or any location where you have equipment. + If you manage multiple locations, start by creating a site for your office, data center, + or any location where you have equipment.

    Navigate to @@ -391,6 +422,16 @@ defmodule ToweropsWeb.HelpLive.Index do → <.code>Add Site

    +

    + Sites are disabled by default and can be enabled later in + <.link + patch={~p"/help?section=settings"} + class="underline hover:text-gray-700 dark:hover:text-gray-300" + > + Organization Settings + + → General tab. +

    @@ -1321,6 +1362,393 @@ defmodule ToweropsWeb.HelpLive.Index do + <% "settings" -> %> +
    +

    + Organization Settings +

    + +
    +

    + Organization Settings is the central hub for configuring your Towerops organization. Access it + from the main navigation under <.code>Organization Settings. The settings page uses a + tabbed interface to organize different configuration areas. +

    + +

    + General Tab +

    + +

    + The General tab lets you manage basic organization properties: +

    + +
      +
    • + Organization Name + — The display name for your organization +
    • +
    • + Default Organization + — Set this as the default org when logging in +
    • +
    • + Sites Toggle + — Enable or disable site-based device organization (see the + <.link + patch={~p"/help?section=sites"} + class="underline hover:text-blue-900 dark:hover:text-blue-200 text-blue-700 dark:text-blue-300" + > + Sites + + section for details) +
    • +
    + +

    + SNMP Tab +

    + +

    + Configure organization-wide SNMP defaults used for device polling: +

    + +
      +
    • + SNMP Version + — Choose between v1, v2c, or v3 +
    • +
    • + Community String + — The SNMP community string for v1/v2c +
    • +
    • + SNMPv3 Credentials + — Username, auth protocol, auth passphrase, privacy protocol, and privacy passphrase +
    • +
    • + Port + — SNMP port (default: 161) +
    • +
    + +
    +
    + <.icon + name="hero-information-circle" + class="h-5 w-5 text-blue-600 dark:text-blue-400 flex-shrink-0 mt-0.5" + /> +
    +

    + Credential Hierarchy +

    +

    + SNMP credentials follow a hierarchy: Device > Site > Organization. + Device-level settings take the highest priority, followed by site-level, then + organization-level defaults. This lets you set sensible defaults while overriding + for specific locations or devices. +

    +
    +
    +
    + +

    + Use the Force Apply button to push + the organization's SNMP settings to all devices, overriding any device or site-level + customizations. +

    + +

    + MikroTik Tab +

    + +

    + Configure organization-wide SSH credentials for MikroTik device monitoring. This tab is + only accessible to superusers. See the + <.link + patch={~p"/help?section=mikrotik"} + class="underline hover:text-blue-900 dark:hover:text-blue-200 text-blue-700 dark:text-blue-300" + > + MikroTik + + section for detailed setup instructions. +

    + +

    + Agents Tab +

    + +

    + Manage remote poller (agent) assignments for your organization: +

    + +
      +
    • + Default Agent + — Set a default remote poller for all devices in the organization +
    • +
    • + Assignment Breakdown + — View how devices are distributed across pollers (cloud vs. remote agents) +
    • +
    + +

    + Use the Force Apply button to push + the default agent assignment to all devices, overriding any device or site-level agent + selections. +

    + +

    + Integrations Tab +

    + +

    + Connect Towerops with third-party services. See the + <.link + patch={~p"/help?section=integrations"} + class="underline hover:text-blue-900 dark:hover:text-blue-200 text-blue-700 dark:text-blue-300" + > + Integrations + + section for full details on available integrations and how to configure them. +

    +
    +
    + <% "integrations" -> %> +
    +

    + Integrations +

    + +
    +

    + Integrations allow you to connect Towerops with third-party services to enrich your + monitoring data, sync subscriber information, and streamline your workflow. Configure + integrations from <.code>Organization Settings → <.code>Integrations tab. +

    + +

    + Preseem +

    + +

    + Preseem + is a Quality of Experience (QoE) monitoring platform designed for WISPs and broadband providers. + The Preseem integration syncs subscriber and access point QoE data into Towerops, giving you + a unified view of network health alongside device monitoring. +

    + +

    + What It Syncs +

    + +
      +
    • Subscriber QoE scores and metrics
    • +
    • Access point performance data
    • +
    • Latency, jitter, and packet loss statistics
    • +
    + +

    + Configuration +

    + +
    +
    +
    +
    + 1 +
    +
    +
    +

    + Get Your Preseem API Key +

    +

    + Log in to your Preseem dashboard and generate an API key from your account settings. +

    +
    +
    + +
    +
    +
    + 2 +
    +
    +
    +

    + Add the Integration +

    +

    + Navigate to <.code>Organization Settings → <.code>Integrations tab. + Enter your Preseem API key and configure the sync interval. +

    +
    +
    + +
    +
    +
    + 3 +
    +
    +
    +

    + Test the Connection +

    +

    + Use the Test Connection button + to verify your API key is valid and Towerops can reach the Preseem API. +

    +
    +
    +
    + +
    +
    + <.icon + name="hero-information-circle" + class="h-5 w-5 text-blue-600 dark:text-blue-400 flex-shrink-0 mt-0.5" + /> +
    +

    + Sync Schedule +

    +

    + Preseem data is synced automatically on a periodic schedule based on your configured + sync interval. You can also trigger a manual sync at any time from the integration settings. +

    +
    +
    +
    + +

    + Gaiia +

    + +

    + Gaiia + is a billing and subscriber management platform. The Gaiia integration syncs subscriber data, + service plans, and entity mappings into Towerops, enabling you to correlate network issues with + specific customers and services. +

    + +

    + What It Syncs +

    + +
      +
    • Subscriber accounts and contact information
    • +
    • Service plans and subscription status
    • +
    • Entity mappings between Gaiia and Towerops devices
    • +
    + +

    + Configuration +

    + +
    +
    +
    +
    + 1 +
    +
    +
    +

    + Configure Gaiia Credentials +

    +

    + Navigate to <.code>Organization Settings → <.code>Integrations tab + and enter your Gaiia API credentials. +

    +
    +
    + +
    +
    +
    + 2 +
    +
    +
    +

    + Set Up Webhooks +

    +

    + Configure a webhook in your Gaiia account pointing to the webhook URL provided + in the integration settings. Webhooks enable real-time updates when subscriber + data changes in Gaiia. +

    +
    +
    + +
    +
    +
    + 3 +
    +
    +
    +

    + Entity Mapping & Reconciliation +

    +

    + After the initial sync, review the entity mapping to ensure Gaiia subscribers are + correctly matched to Towerops devices. Use the reconciliation tools to resolve + any mismatches. +

    +
    +
    +
    + +
    +
    + <.icon + name="hero-information-circle" + class="h-5 w-5 text-blue-600 dark:text-blue-400 flex-shrink-0 mt-0.5" + /> +
    +

    + Sync Schedule +

    +

    + Gaiia data is synced through two mechanisms: automatic periodic syncs pull the full + dataset on a schedule, while real-time webhooks push individual changes as they happen + in Gaiia. This ensures your data stays current without excessive API calls. +

    +
    +
    +
    + +

    + General Integration Features +

    + +
    +
    +

    + Test Connection +

    +

    + Every integration includes a Test Connection button that validates your credentials + and confirms Towerops can communicate with the external service before saving. +

    +
    + +
    +

    + Sync Status +

    +

    + The Integrations tab shows the last sync time, sync status, and any errors for + each configured integration. +

    +
    +
    +
    +
    <% "mikrotik" -> %>

    @@ -1596,9 +2024,9 @@ defmodule ToweropsWeb.HelpLive.Index do

    Navigate to - <.code>Settings + <.code>Organization Settings → - <.code>Organization + <.code>MikroTik tab to set default SSH credentials for all MikroTik devices in your organization.