Get started

Tailscale Mesh Plugin

Mesh network monitoring, route management, and key lifecycle for your Tailscale tailnet.

The Tailscale Mesh plugin connects your Tailscale tailnet to QuoxCORE, giving your AI agents full visibility into your mesh network. Monitor device status, manage routes, handle key lifecycle, and receive real-time alerts -- all from a single dashboard backed by the MESHNET agent.

Agent: MESHNET Price: Free Tier: Free


Overview

Tailscale builds encrypted WireGuard mesh networks across your infrastructure. This plugin pulls device inventory, route tables, ACL policies, DNS configuration, and auth key status into QuoxCORE so you can query and manage your tailnet using natural language or automated workflows.

Key capabilities:

  • Mesh overview -- live device list with status, IPs, OS, last seen, and connectivity
  • Route management -- view and toggle advertised subnet routes per device
  • Key lifecycle -- create, inspect, and revoke pre-authentication keys
  • ACL and DNS -- read ACL policies and DNS configuration
  • Alerts -- configurable notifications for offline devices, expiring keys, new devices, and route issues
  • Cross-reference -- match Tailscale devices against your bastion fleet inventory
  • MESHNET agent -- natural language queries like "which devices have expiring keys?" or "show me all subnet routers"

Setup

1. Get your Tailscale API token

  1. Go to admin.tailscale.com/settings/keys
  2. Click Generate API access token
  3. Set expiry (90 days recommended)
  4. Copy the token (starts with tskey-api-)

If using OAuth instead of an API key, grant these scopes:

ScopePurpose
devices:core:read / devices:coreRead and write devices
devices:routes:read / devices:routesRead and write routes
auth_keys:read / auth_keysRead and write auth keys
policy_file:readRead ACL policy
dns:readRead DNS configuration
logs:configuration:readRead audit log
webhooksRegister webhook for real-time alerts

2. Add credentials to the QuoxCORE vault

  1. Navigate to Settings > Integrations Vault
  2. Find Tailscale under the Zero Trust category
  3. Enter:
    • API Access Token: your tskey-api-... token
    • Tailnet: your tailnet name (e.g. example.com) or - for the default tailnet
  4. Save

3. Activate the plugin

  1. Navigate to Settings > Plugins
  2. Find Tailscale Mesh (Free)
  3. Click Activate
  4. Navigate to /tailscale to see your mesh

Configuration

Access plugin settings via the gear icon in the MeshPulseBar.

SettingDefaultDescription
Polling interval60sHow often to check device status
Offline threshold5 minDevice considered offline after this duration
Key expiry warning7 daysAlert when keys expire within this window

Alert configuration

Each alert type can be individually enabled or disabled with a severity level:

AlertDefaultSeverity
Device goes offlineEnabledHigh
Device comes back onlineEnabledLow
Key expiring soonEnabledMedium
Key expiredEnabledHigh
New device needs approvalEnabledMedium
Subnet router misconfiguredEnabledHigh
Policy updatedDisabledLow
New device createdDisabledLow

Notification channels

Alerts create HITL inbox items by default. You can also route them to:

  • Telegram (high and medium priority)
  • Slack
  • Email

Configure notification preferences in Settings > Notifications.


Tools Reference

Read tools (7)

ToolDescription
tailscale_list_devicesList all devices with status, IPs, routes, and summary
tailscale_device_detailsFull device info including connectivity and latency
tailscale_get_routesAdvertised and enabled routes for a device
tailscale_get_aclACL policy with human-readable summary
tailscale_get_dnsDNS config: nameservers, MagicDNS, split DNS
tailscale_list_keysAuth keys with expiry status and summary
tailscale_audit_logConfiguration audit log (last 7 days by default)

Write tools (5)

ToolDescriptionApproval required
tailscale_authorize_deviceAuthorise or deauthorise a deviceYes (deauthorise)
tailscale_set_device_tagsSet tags on a deviceNo
tailscale_manage_routesEnable or disable subnet routesYes
tailscale_create_auth_keyCreate a pre-auth keyNo
tailscale_revoke_keyRevoke an auth keyYes

Cross-reference tool (1)

ToolDescriptionRequires
tailscale_fleet_cross_referenceMatch Tailscale devices with bastion fleet hostsBoth Tailscale and Bastion Fleet plugins

RBAC

OperationMinimum role
View devices, routes, DNS, ACLs, keys, audit logviewer
Set device tags, rename device, create auth keybuilder
Authorise/deauthorise device, manage routes, revoke keyadmin
Delete deviceowner

Multi-organisation support

Each organisation stores its own Tailscale credentials in the vault. The dashboard shows the current organisation's tailnet by default. Users in multiple organisations see org filter pills. Instance admins can view all organisations.


Troubleshooting

"Tailscale credentials invalid or expired"

"Tailscale connector not available"

  • Confirm the plugin is activated in Settings > Plugins
  • Confirm credentials are saved in the vault for the current organisation
  • Check the collector container is running: docker ps | grep collector

Devices showing as offline when they are running

  • The offline threshold is 5 minutes by default
  • If the device's Tailscale client is not running, lastSeen will drift
  • Run tailscale status on the device to verify connectivity

No webhook events

  • Webhooks require a public URL that Tailscale can reach
  • If you are behind a firewall, the device poller handles status monitoring (polling every 60 seconds)
  • Webhook registration can be enabled in plugin settings if a public URL is available