About Tailscale
Tailscale is a mesh VPN built on WireGuard that connects your organization’s devices, servers, and services into a private network called a tailnet. The Serval Tailscale integration connects to the Tailscale API with an API access token, giving workflows access to device management, user and DNS lookups, ACL policy review, device posture attributes, auth-key inventory, tailnet settings, and configuration audit logs. Serval only ever talks to Tailscale’s official API address (api.tailscale.com), using the token you provide. A single connection ships with 15 prebuilt workflows across 3 bundles: Device Management, Network Info, and Security & Compliance. Authentication: Tailscale API access token (API key). Serval stores the token securely and attaches it to every Tailscale request your workflows make as a Bearer authorization header. Data sync: On-demand only. Serval calls the Tailscale API when a workflow or health check runs - there is no background sync, polling, or webhook ingestion.What the Tailscale integration enables
| Capability | Description |
|---|---|
| Device management | List all tailnet devices (hostname, OS, IPs, online status), inspect a single device, view its advertised and enabled subnet routes, and read its posture attributes. Write actions can authorize or deauthorize a device, expire a device’s node key to force re-authentication, and set device tags (replacing existing tags). The three write workflows default to installer approval; reads require no approval by default. |
| User lookup | List all users in your tailnet with role, status, and login information, or look up a specific user. No approval required by default. |
| DNS configuration | View the tailnet’s global DNS nameservers and DNS preferences, including MagicDNS status. Read-only. |
| Security and compliance | Pull the full ACL policy file (access rules, groups, tag owners, posture conditions), list configuration audit logs (who changed what and when), inventory all auth keys (capabilities, expiration, revocation status), and read tailnet-wide settings such as auto-updates, key duration, user approval, network flow logging, and posture identity collection. Combine the ACL policy with device posture attributes to evaluate whether a device meets posture requirements. |
Get your credentials
Serval connects with a Tailscale API access token, which must be generated by a tailnet Owner, Admin, IT admin, or Network admin. The token inherits the permissions of the user who creates it, so generate it from an account with the access your workflows need - one whose role can manage devices in the Tailscale admin console if you plan to use write actions like Authorize Device, Expire Device Key, or Set Device Tags. For background, see Tailscale’s key and secret management documentation.Open the Keys page
Generate an access token
Choose an expiry
Copy the token immediately
Optional: note your tailnet ID
Connect in Serval
Instance Name (optional)
API Key (optional in the form, required in practice)
Tailnet (optional)
Save
Verifying the connection
After you connect, Serval automatically runs the connection health check. It asks Tailscale for the device list of your configured tailnet (or the token’s default tailnet when the Tailnet field is blank). A passing check confirms the token is valid and can read your tailnet’s devices. Tailscale has no Serval-specific failure messages - if the check fails, you will see the raw error returned by the Tailscale API, including the request URL, status code, and response body. As a rule of thumb:- An error mentioning 401 means the token is invalid, expired, or revoked. Generate a new token and update the connection (re-entering all fields).
- A failed tailnet-scoped check usually means the Tailnet value is wrong. Use the tailnet ID from General Settings, or leave the field blank.
Prebuilt workflows
Serval ships 15 prebuilt Tailscale workflows grouped into three bundles. Workflows that change state (authorize, expire key, set tags) default to requiring installer approval before they run; the read-only workflows require no approval by default.Device Management
Device Management
- List Tailnet Devices - list all devices, including hostname, OS, IP addresses, and online status
- Get Device - retrieve detailed information about a specific device
- List Device Routes - list subnet routes advertised and enabled for a device
- Get Device Posture Attributes - retrieve a device’s posture attributes (custom and provider-managed) used for compliance and access policy evaluation
- Authorize Device - authorize or deauthorize a device on a tailnet that requires device authorization
- Expire Device Key - mark a device’s node key as expired, forcing re-authentication
- Set Device Tags - set the tags used in ACL policies for a device (replaces existing tags)
Network Info
Network Info
- List Tailnet Users - list all users with their role, status, and login information
- Get User - retrieve detailed information about a specific user
- List DNS Nameservers - list the global DNS nameservers configured for the tailnet
- Get DNS Preferences - retrieve DNS preferences, including MagicDNS status
Security & Compliance
Security & Compliance
- Get ACL Policy - retrieve the tailnet’s ACL policy file (access rules, groups, tag owners, posture conditions, network segmentation)
- List Configuration Audit Logs - time-bounded record of configuration changes for compliance reviews and incident investigation
- List Auth Keys - list auth keys with their capabilities, expiration, and revocation status for credential inventory and rotation audits
- Get Tailnet Settings - retrieve tailnet-wide settings (auto-updates, key duration, user approval, network flow logging, posture identity collection)
Compliance: ACL policy plus device posture
The Get ACL Policy and Get Device Posture Attributes workflows combine to evaluate whether a device meets the posture requirements defined in your ACL:- Retrieve the ACL policy to see which posture conditions are defined and which grants depend on them (for example
posture:highTrustrequiringfalcon:ztaScore >= 80). - Retrieve a device’s posture attributes to see its current values.
- Compare the device’s attributes against the ACL conditions to determine which network grants it qualifies for.
Gotchas and troubleshooting
Editing the connection? Re-enter the API key and Tailnet
Editing the connection? Re-enter the API key and Tailnet
Tokens expire in 1 to 90 days and cannot be renewed
Tokens expire in 1 to 90 days and cannot be renewed
A blank Tailnet means the token's default tailnet
A blank Tailnet means the token's default tailnet
Failures show raw Tailscale API errors
Failures show raw Tailscale API errors
The connect form does not require any fields
The connect form does not require any fields
List results are not paginated
List results are not paginated
Additional resources
Tailscale API Documentation
Manage API Access Tokens
Need help? Contact support@serval.com for assistance with your Tailscale integration.

