App Tools Extension Files and Code

When you generate an App Tools extension using the CLI, 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.

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

Copy

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

App Tools builder

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

The file uses the following schema:

Copy

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

Copy

App Tools extensions config

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: 9 August 2026

Did this help?