Use Tailscale to manage devices, users, device posture, DNS, policy files, keys, and tailnet settings.
Authentication
Enter a Tailscale API access token in API Access Token. The block sends it using Bearer authentication. Create a personal token in the Keys page of the admin console; personal tokens expire after 1–90 days and inherit the user's permissions.
An access token generated by a Tailscale OAuth client or federated identity also works. Generate that token using Tailscale's documented trust credential flow, then supply the access token to the block. The block does not exchange client secrets or refresh expired tokens. For scheduled workflows, supply a fresh access token from your credential management workflow before it expires.
Device enrollment keys (tskey-auth-) and OAuth client secrets (tskey-client-) cannot authenticate these API requests. When using scoped OAuth access tokens, grant the scopes required by the selected endpoint in the API reference. Creating a tailnet-owned auth key with OAuth also requires device tags owned by that credential.
Tailnet identifier
Tailnet-scoped operations require a Tailnet: use - for the access token's default tailnet, the tailnet ID from General Settings, or a supported legacy tailnet name. Device- and user-scoped operations use their resource IDs directly.
Device fields, filters, and keys
In advanced mode, select All device fields to include route, connectivity, SSH, and posture details. Device Filters accepts URL query syntax such as isEphemeral=true&tags=tag:server. Repeating a tag filter requires all specified tags. User lists can be filtered by relationship type and role.
List Keys returns active enrollment keys, API access tokens, and trust credentials. Use keyType and userId to identify the intended credentials before revoking them. Include All Tailnet Keys defaults to enabled; disable it to use the API's token-owner visibility rules.
Policy and network changes
Use Validate ACL to validate JSON or HuJSON policy files, or run a JSON array of ACL tests, without changing the policy. Inspect valid, message, and results, since validation errors can be returned with HTTP 200. Pass the ETag from Get ACL to Set ACL to protect against concurrent edits.
List inputs accept comma-separated values or a JSON array of strings. Use [] to clear tags, enabled routes, nameservers, or search paths. Set Split DNS replaces every split DNS entry; Update Split DNS changes only specified entries and accepts null to remove a domain. Set DNS Configuration replaces the complete DNS configuration, including resolver options and preferences. Update Tailnet Settings updates only supplied settings; do not specify both routeSelection and regionalRoutingOn.
List endpoints return a single API response and do not support pagination. Sim applies its shared response byte limit before transforming the result.
Use the block
Manage Tailscale devices, user access, posture attributes, DNS configuration, policy files, keys, subnet routes, and tailnet settings.
Actions
Tailscale List Devices
List devices in the tailnet
Tailscale Get Device
Get details of a specific device
Tailscale Set Device Name
Rename a device or reset its name to the OS hostname
Tailscale Delete Device
Remove a device from the tailnet
Tailscale Authorize Device
Authorize or deauthorize a device on the tailnet
Tailscale Set Device Tags
Replace the tags assigned to a device
Tailscale Get Device Routes
Get the advertised and approved subnet routes for a device
Tailscale Set Device Routes
Replace the enabled subnet routes for a device
Tailscale Update Device Key
Enable or disable device key expiry
Tailscale Expire Device Key
Immediately expire a device node key so the device must reauthenticate
Tailscale Get Device Attributes
Get device posture attributes and their expiry times
Tailscale Set Device Attribute
Create or update a custom device posture attribute with an optional expiry
Tailscale Delete Device Attribute
Remove a custom posture attribute from a device
Tailscale List DNS Nameservers
Get the global DNS nameservers configured for the tailnet
Tailscale Set DNS Nameservers
Replace the global DNS nameservers for the tailnet
Tailscale Get DNS Preferences
Get the MagicDNS preference for the tailnet
Tailscale Set DNS Preferences
Enable or disable MagicDNS for the tailnet
Tailscale Get DNS Search Paths
Get the DNS search domains configured for the tailnet
Tailscale Set DNS Search Paths
Replace the DNS search domains for the tailnet
Tailscale Get Split DNS
Get split DNS resolvers
Tailscale Update Split DNS
Update selected split DNS resolvers
Tailscale Set Split DNS
Replace all split DNS resolvers
Tailscale Get DNS Configuration
Get tailnet DNS configuration
Tailscale Set DNS Configuration
Replace the full tailnet DNS configuration
Tailscale List Users
List users in the tailnet
Tailscale Get User
Get details of a specific user
Tailscale Set User Role
Change a tailnet user’s role
Tailscale Approve User
Approve a pending user to join the tailnet
Tailscale Suspend User
Suspend a user’s access to the tailnet
Tailscale Restore User
Restore a suspended user’s access to the tailnet
Tailscale Delete User
Delete a user from the tailnet
Tailscale Create Auth Key
Create a device enrollment auth key
Tailscale List Keys
List active auth keys, API access tokens, and trust credentials in the tailnet
Tailscale Get Auth Key
Get a key’s type, owner, scopes, expiry, and device enrollment capabilities
Tailscale Delete Auth Key
Revoke an auth key, API access token, or trust credential
Tailscale Get ACL
Get the tailnet policy file
Tailscale Validate ACL
Validate a policy file or run ACL tests without changing the tailnet policy
Tailscale Set ACL
Replace the tailnet policy file
Tailscale Get Tailnet Settings
Get tailnet settings
Tailscale Update Tailnet Settings
Update selected tailnet settings