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:
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:
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.
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:
The file uses the following schema:
Here's an example file with a single tool declaration:
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Auto-generated UUID that uniquely identifies this extension. |
name | string | Yes | Internal name for this group of tools. |
tools | array | Yes | Array of tool declarations. Max: 100. |
tools[].methodName | string | Yes | Unique identifier for the tool. Used to route calls in the Tools Provider handler. Max: 30 characters. |
tools[].description | string | Yes | Description Aria uses to decide when to call the tool. 10 to 1000 characters. See effective tool descriptions for guidance. |
tools[].requestSchema | object | No | JSON Schema describing the tool's input. Helps Aria determine what information to gather before calling the tool. |
tools[].responseSchema | object | No | JSON Schema describing the tool's output. |
tools[].activated | boolean | Yes | Whether 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.
Last updated: 2 November 2026