Manage organization defaults, integrations, and configuration
Update the name of your organization.
Set this organization as your default. When you log in, you'll be directed to your default organization.
This is your default organization
Click to make this your default organization
<% end %>Enable site organization to group devices into physical locations (offices, datacenters, etc.).
When enabled, you can organize devices into sites. When disabled, all devices belong directly to the organization.
<%= if @organization.use_sites && @form[:use_sites].value == false do %>All devices will be removed from their current sites and assigned directly to the organization. Site assignments will be lost, but devices will remain in the organization.
Set default SNMP settings for all devices in this organization. These can be overridden at the site or device level.
<.icon name="hero-information-circle" class="h-4 w-4 inline" /> Hierarchy: Device > Site > Organization
This will override SNMP settings for ALL devices across all sites in this organization.
Set default MikroTik RouterOS API credentials for all devices in this organization. Only applies to devices detected as MikroTik.
<.icon name="hero-beaker" class="h-4 w-4 inline" /> Experimental Feature: MikroTik API integration is under active development.
<.icon name="hero-information-circle" class="h-4 w-4 inline" /> Hierarchy: Device > Site > Organization
Critical Security Warning: Plain API (port 8728) sends credentials unencrypted over the network. This setting is blocked for devices using cloud pollers and should only be used with local agents on trusted networks.
Security Warning: Plain API (port 8728) sends credentials unencrypted. Use SSL (port 8729) whenever possible.
Select a default agent for SNMP polling. This will be used for all devices in this organization unless overridden at the site or device level.
<.icon name="hero-information-circle" class="h-4 w-4 inline" /> Hierarchy: Device > Site > Organization
Current Device Assignment:
This will assign the default agent to ALL devices across all sites in this organization.
No agents configured yet. <.link navigate={~p"/agents"} class="text-indigo-600 hover:text-indigo-700 dark:text-indigo-400 dark:hover:text-indigo-300" > Create an agent to enable remote polling.
Send an invitation email to add someone to this organization.
Invitations that haven't been accepted yet.
| Role | Sent | Expires | <%= if @membership.role in [:owner, :admin] do %>Actions | <% end %>|
|---|---|---|---|---|
| {invitation.email} | {invitation.role} | <.timestamp datetime={invitation.inserted_at} timezone={@timezone} format="absolute" /> | <.timestamp datetime={invitation.expires_at} timezone={@timezone} format="absolute" /> | <%= if @membership.role in [:owner, :admin] do %><% end %> |
People who have access to this organization.
| User | Role | Joined | <%= if @membership.role in [:owner, :admin] do %>Actions | <% end %>
|---|---|---|---|
|
{member.user.email}
|
"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-400" :admin -> "bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400" :member -> "bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400" :viewer -> "bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-400" end ]}> {member.role} | <.timestamp datetime={member.inserted_at} timezone={@timezone} format="absolute" /> | <%= if @membership.role in [:owner, :admin] do %>
<%= if member.role != :owner do %>
|
<% end %>
{provider.description}
<%= if integration = @integrations[provider.id] do %><%= if provider.id == "preseem" do %> Syncs every {integration.sync_interval_minutes} minutes. Baselines and fleet profiles computed nightly. <% end %> <%= if provider.id == "gaiia" do %> Syncs every {integration.sync_interval_minutes} minutes. Reconciliation runs nightly. Also receives real-time webhook updates. <% end %> <%= if provider.id == "pagerduty" do %> Event-driven — no polling needed. TowerOps sends events to PagerDuty in real time:
Your NetBox instance URL and API token. The token needs read permission at minimum. Write permission is required if you want to push data to NetBox.
Choose how data flows between TowerOps and NetBox. You can change this later.
Choose which NetBox objects participate in sync. Devices and sites are recommended at minimum.
Narrow the sync scope. Leave blank to sync everything. Comma-separated for multiple values.
How often TowerOps checks NetBox for changes. 30 minutes is recommended for most setups.
"text-green-700 dark:text-green-400" {:error, _} -> "text-red-700 dark:text-red-400" end ]}> <%= case @test_result do %> <% {:ok, msg} -> %> <.icon name="hero-check-circle" class="h-4 w-4 inline" /> {msg} <% {:error, msg} -> %> <.icon name="hero-x-circle" class="h-4 w-4 inline" /> {msg} <% end %>
When connected, TowerOps will automatically trigger, acknowledge, and resolve PagerDuty incidents in sync with your alerts.
"text-green-800 dark:text-green-200" {:error, _} -> "text-red-800 dark:text-red-200" end ]}> {elem(@test_result, 1)}
Receive real-time updates from Gaiia when accounts, subscriptions, or inventory items change.
Paste the secret key generated by Gaiia when you create the webhook.
Once configured, Towerops will receive real-time updates when accounts, subscriptions, or inventory items change in Gaiia.