App Tools Extension Files and Code

When you add an App Tools extension to a Wix CLI or Wix-managed headless project, the CLI adds the following file to your project:

  • <your-extension-name>.extension.ts: The App Tools builder, which declares the tools your app exposes to Aria, Wix's AI assistant.

The CLI creates the file in the following default folder structure:

Copy

The CLI also registers the extension in src/extensions.ts, the entry point that lists every extension in your app. If you don't pass an extension to app().use(), it isn't part of your app:

Copy
Copy
Copy

You can move the file anywhere inside the src/ folder as long as you update its path in src/extensions.ts.

An App Tools extension only declares your tools. To run them, you also add a Tools Provider service plugin. Learn more about the Tools Provider handler.

App Tools builder

The <your-extension-name>.extension.ts file declares the tools your app exposes to Aria. After you build and release your app, Aria uses these declarations to discover which tools exist and decide when to call them. This file shouldn't contain any business logic.

Import extensions from the package your project uses:

Copy
Copy

The file uses the following schema:

Copy

Here's an example file with a single tool declaration:

Copy

App Tools extension configuration

FieldTypeRequiredDescription
idstringYesAuto-generated UUID that uniquely identifies this extension.
namestringYesInternal name for this group of tools.
toolsarrayYesArray of tool declarations. Max: 100.
tools[].methodNamestringYesUnique identifier for the tool. Used to route calls in the Tools Provider handler. Max: 30 characters.
tools[].descriptionstringYesDescription Aria uses to decide when to call the tool. 10 to 1000 characters. See effective tool descriptions for guidance.
tools[].requestSchemaobjectNoJSON Schema describing the tool's input. Helps Aria determine what information to gather before calling the tool.
tools[].responseSchemaobjectNoJSON Schema describing the tool's output.
tools[].activatedbooleanYesWhether Aria can call this tool. Set to true for tools you want Aria to call.

Note: Wix doesn't check the payload Aria sends against your requestSchema before calling your handler. Handle missing or unexpected fields in your implementation.

See also

Last updated: 2 November 2026

Did this help?