What are Actions?

A Xano Action is a powerful, zero-dependency function that anyone can create, share, fork (create new versions), and install. Actions can be previewed, tested, and edited in Run mode outside of a Xano instance, meaning they do not require an account for testing and trying them out.

Actions are a lightweight version of the Xano function stack designed for specific processes such as integrations with external APIs or business logic executions. They are similar to custom functions, but without dependencies and shareable to anyone.

Discover Actions on xano.com/actions. Browse Actions created by the Xano team or other community members. Clicking on an Action allows you to:

  • Run & Debug the Action.

  • Make edits to the Action.

  • Clone: Make a copy of the Action, change whatever you'd like, and publish a new (separate) version of the Action.

  • Add the Action into your workspace to be used in any function stack.

What does zero dependency mean?

Actions are designed not to contain dependencies to support more seamless integration to existing Xano workspaces and function stacks. Additionally, it promotes easy shareability for anyone, regardless of if they're a Xano user, to interact with Actions.

Zero-dependency means Actions do not contain:

  • Database request functions or database tables

  • Middleware

  • Environment variables*

  • Lambdas

  • Redis caching

  • Multiple Xano objects

  • Docker Microservices

*Settings registry is available for actions for API keys and other sensitive tokens or keys.

Using Actions

Learn more about how to use Xano Actions

Scoped Functions

Once you know the basics, dive deeper into Scoped Functions

Settings Registry

Finally, take a look at the Settings Registry, a crucial element to interacting with external services via Actions

Creating an Action

Click + Create Action to begin building a new Action.

Building a new Action is very similar to building in a regular Xano function stack. You can add inputs, functions, and define a response.

Please note that because Actions are designed to not have dependencies outside of the Action itself, certain functions such as database operations are not available.

Action Settings

Click the three dots in the upper-right corner to access Action Settings. From this panel, you can update the following:

Name - Give your action a unique name

Instructions - You can write documentation to accompany your action here. This field supports markdown for formatting. View the expandable section below for a quick reference.

Quick Markdown Reference
# Header 1
## Header 2
### Header 3

*Italic* or _Italic_
**Bold** or __Bold__
***Bold and Italic*** or ___Bold and Italic___

- Item 1
- Item 2
  - Subitem 2.1

1. First item
2. Second item
   1. Subitem 2.1

[Link text](https://www.example.com)

[Alt text](image-url.jpg)

`inline code`

```code block```

You can also preview your instructions using the Preview tab.

Category - You must provide a category for your Action before publishing

Video URL - You can insert a YouTube or Loom video link here to accompany your action

Publishing

When you publish your Action, you'll be able to review and make any changes to the documentation and certain Action settings once more before going live.

Make sure to choose the appropriate access level for your Action.

Public - This Action will be available for anyone to browse for, install and use.

Private - This Action will not be available for distribution. Use this for specific Actions that you only want to use internally.

Unlisted - This Action will be available to anyone that has the URL, but will not be found when browsing available Actions.

Scoped Functions

Scoped Functions are an implementation similar to Custom Functions, but usable in Actions. Each Action can have scoped functions defined, allowing you to reuse pieces of logic inside of the Action.

Click the button in the top-right section of the page when building an Action to access scoped functions.

You can now build, run, and debug your scoped function just like any other function stack, and use it inside of your Action. The experience is almost identical to our Custom Functions feature.

Settings Registry

Because Actions have no dependencies, each Action contains a Settings Registry, which is used in a similar manner to environment variables. You will use the Settings Registry for situations where an Action requires an API key or other sensitive data that you need to ensure users of the Action supply without supplying it yourself.

To add a new value to the Settings Registry, just add a new input to your Action. In the settings for that input, you'll see a new option in the Configuration section called Settings Registry.

Checking this box will mark this input as part of the Settings Registry, enabling you to provide your own data for testing and make sure it is apparent when these values need to be provided for others utilizing the Action you are building.

Deleting an Action

Please note that deleting an action does not impact users who have already imported your action into their workspace.

Click the settings icon in the top-right of your published action, and click Delete Action.

Think of projects as a folder for related actions to reside in. They are necessary for any actions you create, and include a number of helpful features to keep you organized.

Actions

Your project can have multiple Actions inside of it. You can add new actions to a Project by clicking Create Action inside of the Project.

Members

You can invite collaborators to a Project that you own by clicking the Invite Collaborators button.

Once you've sent an invite, it will show up on the Members screen, as shown below.

The invitee will receive an email similar to the one below allowing them to accept the invitation.

Settings

Name - The name of your project

Custom Project ID - You can assign a custom ID to your project here. The project ID determines the slug, or portion of the URL, that leads to the project.

Description - A description of your project

From this screen, you can also delete your project.

Last updated