Fly.io transforms containers into micro-VMs that run on hardware in 30+ regions on six continents.
Fly.io transforms containers into micro-VMs that run on hardware in 30+ regions on six continents. On Nagent, Fly is exposed as a fully-configurable developer tools integration that any agent can call — 45 actions, and API_KEY, OAUTH2 authentication. No code is required to wire Fly into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Fly to automate the kinds of tasks developer tools teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire Fly into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against Fly, with input parameters and output schema. Drop these into any step of an agent built in Helix.
FLY_ADD_WIRE_GUARD_PEERTool to add a WireGuard peer connection to a Fly.io organization for private network access. Use when setting up VPN access or private networking between your infrastructure and Fly.io.
Input parameters
The name for the WireGuard peer
The Curve25519 public key for the WireGuard peer. Must be a valid base64-encoded 32-byte public key.
The region to deploy the WireGuard peer. If not specified, Fly will choose automatically.
Network ID to attach the peer to. If not specified, uses the default organization network.
The node ID of the organization to add the WireGuard peer to
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_CHECK_APP_NAME_AVAILABILITYTool to validate an app name for Fly.io app creation. Use when you need to check if a proposed app name is available before attempting to create a new app. Returns availability status via GraphQL query.
Input parameters
The app name to check for availability. Must follow Fly.io naming conventions: lowercase letters, numbers, and hyphens only. Cannot start or end with a hyphen.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_CHECK_JOBSExecute GraphQL queries against the Fly.io checkJobs endpoint. Retrieves check jobs with their schedules, URLs, and configuration. Supports pagination via first/last/after/before parameters. Returns both data and errors for flexible error handling.
Input parameters
The GraphQL query string to execute against the Fly.io GraphQL API. Use the checkJobs query to retrieve check jobs. The query returns a CheckJobConnection with nodes, edges, pageInfo, and totalCount fields. Available fields on CheckJob include: id, httpOptions, locations, nextRunAt, runs, schedule, and url. Supports pagination with after, before, first, and last parameters.
Optional variables for the GraphQL query. Use for parameterized queries. For pagination, you can provide: first (Int), last (Int), after (String cursor), before (String cursor). Example: {'first': 10, 'after': 'cursor_value'}
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_CHECK_USER_ONLY_TOKENCheck whether the authentication token only allows user access. Returns false if the token allows organization access, true if it only allows user access.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_CREATE_CHECK_JOBTool to create a health check job for monitoring application endpoints in Fly.io. Use when you need to set up automated health monitoring for a URL from multiple geographic locations.
Input parameters
The URL endpoint to monitor for health checks. This should be a fully qualified URL that will be checked from multiple locations.
List of geographic locations from which to perform health checks. Common locations include 'newyork', 'london', 'tokyo', 'sydney', 'singapore', etc.
HTTP configuration options for the health check, including the HTTP verb (GET/HEAD) and optional headers.
Organization ID where the health check job will be created. This should be your Fly.io organization identifier.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_CREATE_CHECK_JOB_RUNTriggers a run of an existing health check job on Fly.io. Use when you need to manually trigger a health check for monitoring or testing purposes.
Input parameters
The ID of the check job to trigger a run for. This is the unique identifier of an existing health check job.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_CREATE_DELEGATED_WIRE_GUARD_TOKENTool to create a delegated WireGuard token for peer management in a Fly.io organization. Use when you need to generate a token for managing WireGuard peers with delegated access.
Input parameters
The name with which to refer to the peer. Optional field for identifying the token.
The node ID of the organization. This is the unique identifier for the Fly.io organization where the token will be created.
A unique identifier for the client performing the mutation. Optional field for tracking purposes.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_CREATE_THIRD_PARTY_CONFIGURATIONTool to create a third-party service configuration for discharging macaroon caveats. Use when you need to configure external authorization services for Fly.io token validation.
Input parameters
Friendly name for the configuration
Base64 messagepack encoded macaroon caveats for additional restrictions
Location URL of the third-party service capable of discharging
Third-party caveat level for UI session tokens
Third-party caveat level for custom token creation
Third-party caveat level for flyctl session tokens
The organization's node ID
A unique identifier for the client performing the mutation
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_DELETE_DELEGATED_WIRE_GUARD_TOKENTool to delete a delegated WireGuard token from a Fly.io organization. Use when you need to revoke or remove an existing WireGuard token that was previously created. Either token or name must be provided to identify which token to delete.
Input parameters
The name with which to refer to the token. Either this or token must be provided to identify which token to delete.
The raw WireGuard token to delete. Either this or name must be provided to identify which token to delete.
The node ID of the organization. This is the unique identifier for the Fly.io organization that owns the token.
A unique identifier for the client performing the mutation. Optional field for tracking purposes.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_DELETE_ORGANIZATIONTool to delete a Fly.io organization and all its associated resources using the GraphQL API. Use when you need to permanently remove an organization. This operation is irreversible.
Input parameters
The identifier of the organization to delete. This will permanently remove the organization and all associated resources.
A unique identifier for the client performing the mutation. Used for tracking and idempotency.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_DELETE_REMOTE_BUILDERTool to delete a remote builder configuration for a Fly.io organization. Use when you need to remove the remote builder setup from an organization.
Input parameters
The node ID of the organization whose remote builder configuration should be deleted
A unique identifier for the client performing the mutation
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_DELETE_THIRD_PARTY_CONFIGURATIONTool to delete a third-party service configuration from Fly.io. Use when you need to remove an existing third-party service integration or configuration that was previously created.
Input parameters
A unique identifier for the client performing the mutation. Optional field for tracking purposes.
The node ID of the third-party configuration to delete. This is the unique identifier for the third-party service configuration.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_DETACH_POSTGRES_CLUSTERTool to detach a Postgres cluster from a Fly.io application, revoking access credentials. Use when you need to remove database connectivity from an application.
Input parameters
The application ID to detach the Postgres cluster from. This is the target application that currently has Postgres attached.
A unique identifier for the client performing the mutation. Used for tracking and idempotency.
The Postgres cluster application ID to detach. This is the ID of the Postgres database application.
The Postgres attachment ID. Optional identifier for the specific attachment to remove.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_ESTABLISH_SSH_KEYTool to establish an SSH key for a Fly.io organization. Use when setting up SSH access for secure connections to Fly.io infrastructure.
Input parameters
Establish a key even if one is already set. Set to true to replace an existing SSH key.
The node ID of the organization to establish the SSH key for
A unique identifier for the client performing the mutation
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_FETCH_NODES_BY_IDSFetches a list of node objects from Fly.io given a list of IDs using the GraphQL nodes query. Use when you need to retrieve multiple objects by their IDs in a single request. Supports all Node interface types including Organization, App, Machine, Volume, and more.
Input parameters
A non-empty list of node IDs to fetch. Each ID should be a valid node identifier in the Fly.io system (e.g., organization IDs, app IDs, machine IDs). The query will return node objects for all valid IDs provided.
Optional GraphQL fragment to specify which fields to return for each node type. If not provided, returns only id and __typename. Example: '... on Organization { name slug } ... on App { name status }'
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_GET_ADD_ONTool to find a Fly.io add-on by ID, name, or provider. Use when you need to retrieve details about a specific add-on. Returns add-on information including status, organization, region, and access URLs.
Input parameters
The ID of the add-on to find. Provide either id, name, or both to identify the add-on.
The name of the add-on to find. Provide either id, name, or both to identify the add-on.
The provider of the add-on (optional filter). Common providers include 'upstash', 'tigris', etc.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_GET_ADD_ON_PROVIDERTool to query information about a specific Fly.io add-on provider (extension) by name. Returns provider details including provisioning settings, terms of service, and configuration options.
Input parameters
The name of the add-on provider to query (e.g., 'tigris', 'sentry', 'arcjet', 'mysql', 'supabase', 'upstash_vector', 'wafris', 'upstash_redis')
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_GET_APP_DETAILSTool to retrieve detailed information about a specific Fly.io application. Use when you need to get app details including certificates and configuration.
Input parameters
The application name or ID to retrieve details for.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_GET_CERTIFICATETool to retrieve a certificate by its ID from Fly.io. Use when you need to get details about a specific certificate including hostname, creation date, and configuration status.
Input parameters
The unique identifier of the certificate to retrieve. This is the certificate ID in Fly.io system.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_GET_CURRENT_TOKEN_INFOTool to get information about the current authentication token. Use when you need to retrieve details about the token being used for API authentication, including organizations, apps, and whether the token is from a user or machine.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_GET_LATEST_IMAGE_DETAILSTool to retrieve the latest available tag details for a given image repository from Fly.io's registry. Use when you need to get digest, registry, repository, tag, and version information for a container image.
Input parameters
Image reference in repository/name:tag format (e.g., 'flyio/postgres:15' or 'registry.fly.io/myapp:latest'). Use images from Fly.io's registry for best results.
Fly version to use for tag resolution. Optional parameter to specify a particular Fly.io version for resolving the image tag.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_GET_LATEST_IMAGE_TAGTool to retrieve the latest available image tag for a Fly.io Docker repository. Use when you need to find the most recent version of a Fly.io image.
Input parameters
The Docker image repository name (e.g., 'flyio/postgres', 'flyio/hellofly'). This should be the full repository path.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_GET_MACHINETool to get a single machine by ID from Fly.io. Use when you need to retrieve details about a specific machine instance.
Input parameters
The unique identifier of the machine to retrieve.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_GET_NEAREST_REGIONTool to retrieve the nearest Fly.io region to the requesting client based on network location. Use when you need to determine which Fly.io region has the lowest latency from the current location.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_GET_NODETool to fetch an object by its globally unique ID using Fly.io's GraphQL node query. Returns a Node interface object with id and __typename fields. Use when you need to retrieve any Fly.io object by its ID.
Input parameters
The globally unique ID of the object to fetch. This ID uniquely identifies any object in the Fly.io system (e.g., Organization, App, Machine, Volume, etc.).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_GET_ORGANIZATIONTool to find a Fly.io organization by slug using the GraphQL API. Use when you need to retrieve organization details including ID, name and slug.
Input parameters
The organization slug to look up. This is a human-readable identifier for the Fly.io organization (e.g., 'personal', 'my-org').
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_GET_PERSONAL_ORGANIZATIONTool to retrieve the user's personal organization details from Fly.io. Use when you need to check credit balance, saved payment methods, certificates, or WireGuard peer information.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_GET_PLACEMENTSTool to get placement recommendations for Machines in Fly.io regions. Use when you need to determine optimal regions for deploying machines based on resource requirements, volume constraints, and organizational limits.
Input parameters
Number of machines to simulate placement. Defaults to 0, which returns the org-specific limit for each region.
Region expression for placement as a comma-delimited set of regions or aliases. Defaults to '\[region\],any', to prefer the API endpoint's local region with any other region as fallback.
Resource requirements for the Machine to simulate.
Optional weights to override default placement preferences. Higher values indicate stronger preference.
Organization slug identifier (e.g., 'personal' for personal account or your org name).
Name of an existing volume to consider in placement.
Size of volume in bytes to consider in placement.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_GET_PLATFORM_INFOTool to retrieve Fly.io platform information including available regions, VM sizes, and flyctl version. Use when you need infrastructure-level details about the Fly.io platform.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_GET_PRODUCTSTool to retrieve Fly.io product and price information via GraphQL. Use when you need to fetch product catalog, pricing tiers, or billing information.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_GET_REGIONSTool to get the list of available Fly.io regions with optional filtering. Use when you need to discover which regions are available for deploying machines, or to filter regions by specific resource requirements like CPU, memory, or GPU.
Input parameters
Guest CPU count. Filter regions by CPU count availability.
Guest GPU count. Filter regions by GPU availability.
Guest machine size preset. Default is performance-1x. Use this to filter regions by machine size availability.
Guest CPU kind (e.g., 'shared', 'performance'). Filter regions by CPU type availability.
Guest GPU kind (e.g., 'a100-pcie-40gb', 'a100-sxm4-80gb'). Filter regions by GPU type availability.
Guest memory in megabytes. Filter regions by memory availability.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_GET_VIEWER_INFOTool to retrieve the authenticated user's account information from Fly.io. Use when you need to get the current user's profile details, including avatar, email, creation date, and feature flags.
Input parameters
GraphQL query string to retrieve viewer information. Default query fetches avatarUrl, createdAt, email, and featureFlags.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_ISSUE_CERTIFICATETool to issue an SSH certificate for accessing Fly.io infrastructure. Returns an SSH certificate in OpenSSH format. Use when you need to authenticate SSH access to Fly.io machines or apps.
Input parameters
The names of the apps this certificate will be limited to accessing
SSH principals for certificate (e.g. \['fly', 'root'\])
The openssh-formatted ED25519 public key to issue the certificate for
Hours for which certificate will be valid
The node ID of the organization
Standard mutation identifier
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_LIST_ADD_ON_PLANSTool to list available add-on service plans from Fly.io. Use when you need to discover pricing, features, and resource limits for Fly.io add-on services. Supports cursor-based pagination.
Input parameters
Number of items to return from the end. Cannot be used with 'first'.
Cursor for forward pagination. Returns items after this cursor.
Number of items to return from the beginning. Cannot be used with 'last'.
Cursor for backward pagination. Returns items before this cursor.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_LIST_ADD_ONSTool to list add-ons associated with an organization in Fly.io. Use when you need to retrieve add-ons for apps in an organization. Supports querying personal organization or specific organizations by slug. Returns comprehensive add-on details including status, creation date, and configuration.
Input parameters
GraphQL query string to retrieve add-ons. Default query fetches add-ons for all apps in the personal organization. You can customize the query to fetch specific fields from the AddOn type (id, name, status, createdAt, updatedAt, addOnPlanName, hostname, publicUrl, environment, metadata, options, etc.) or filter by organization.
Variables for the GraphQL query (optional). Use this to pass dynamic values like organization slugs, pagination parameters (first, after, before, last), or filters (type: AddOnType).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_LIST_APPSTool to list all Fly Apps in an organization. Use when you need to retrieve apps for a specific organization using its slug.
Input parameters
Filter apps by role
The organization slug, or 'personal', to filter apps
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_LIST_APPS_GRAPHQLList all Fly.io applications with details including volumes, services, and VMs using GraphQL. Use when you need to retrieve a comprehensive overview of all apps in your Fly.io organization.
Input parameters
Number of apps to return from the end of the list (backward pagination).
Cursor to paginate forward. Use the endCursor from a previous response's pageInfo.
Number of apps to return from the beginning of the list (forward pagination). Defaults to server default if not specified.
Cursor to paginate backward. Use the startCursor from a previous response's pageInfo.
Include VM count information for each app
Include volume information for each app
Include service information for each app
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_LIST_CHECK_LOCATIONSRetrieve all available Fly.io health check locations. Returns a comprehensive list of global locations where health checks can be performed, including geographic details and coordinates. Use when you need to determine available monitoring points for setting up health checks.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_LIST_MACHINESTool to list Fly.io machines using GraphQL API with pagination support. Use when you need to retrieve information about deployed machines including their state, region, and creation time.
Input parameters
Returns the last n machines (backward pagination). Cannot be used with 'first'.
Cursor for forward pagination - returns machines after this cursor. Use with 'first'.
Returns the first n machines (forward pagination). Cannot be used with 'last'.
Cursor for backward pagination - returns machines before this cursor. Use with 'last'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_LIST_ORG_MACHINESTool to list all Machines across all apps in a Fly organization. Use when you need to retrieve machines for monitoring, management, or inventory purposes. Supports filtering by region, state, and time ranges with pagination for large result sets.
Input parameters
The number of machines to fetch (max of 1000). If omitted, this is set to 500 by default
Comma separated list of states to filter. Valid states: created, started, stopped, suspended
Pagination cursor from previous response (takes precedence over updated_after)
Filter machines by region
Fly Organization Slug
Only return machines updated after this time. Timestamp must be in the RFC 3339 format
Include deleted machines in the response
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_REMOVE_WIRE_GUARD_PEERTool to remove a WireGuard peer connection from a Fly.io organization. Use when you need to delete or revoke an existing WireGuard peer from your organization's network.
Input parameters
The name of the WireGuard peer to remove
The node ID of the organization to remove the WireGuard peer from
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_SET_APPS_V2_DEFAULT_ONTool to configure whether new apps in an organization use Apps V2 by default on Fly.io. Use when you need to enable or disable Apps V2 as the default for new applications in a specific organization.
Input parameters
Whether or not new apps in this org use Apps V2 by default
The slug of the organization to configure
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_UPDATE_THIRD_PARTY_CONFIGURATIONTool to update an existing third-party service configuration for discharging macaroon caveats. Use when you need to modify settings of external authorization services for Fly.io token validation.
Input parameters
Friendly name for this configuration
Base64 messagepack encoded macaroon caveats for additional restrictions
Location URL of the third-party service capable of discharging
Authorization level for third-party caveat configuration.
Authorization level for third-party caveat configuration.
Authorization level for third-party caveat configuration.
A unique identifier for the client performing the mutation
The node ID of the configuration to update
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_VALIDATE_CONFIGTool to validate a Fly.io app configuration. Use when you need to check if a fly.toml configuration is valid before deploying or updating an app.
Input parameters
A JSON object representing the fly.toml configuration to validate. Can be an empty object {} or contain fly.toml configuration fields like app, build, env, services, etc.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
FLY_VALIDATE_WIRE_GUARD_PEERSTool to validate WireGuard peer IP addresses in a Fly.io organization. Use when you need to verify which peer IPs are valid or invalid before establishing VPN connections.
Input parameters
Array of WireGuard peer IP addresses to validate. These are typically IPv6 addresses in the fdaa: range used by Fly.io's internal network.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 91 agents privately built on Nagent that already use Fly.
Build on Nagent
Connect Fly to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find Fly, and click "Connect Now." You'll authenticate with API_KEY, OAUTH2 — Nagent handles credential storage and refresh automatically. Once connected, Fly is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Fly is connected, you configure its 45 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Fly steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a Fly event fires, the agent kicks off automatically.
Every Fly action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While Fly ships with 45 pre-built developer tools actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Fly together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Fly-based workflows tailored to your business.