**Source URL:** https://limited.veevavault.dev/sitevault/mdl/component-types/aitool

# Aitool

**Class:** `metadata`

The `Aitool` component type defines an instance of a tool based on a specific tool type.

| Attribute | Metadata | Description |
| --- | --- | --- |
| `label` | Type: String Max length: 60 | UI-friendly string in the Vault's base language. |
| `active` | Type: Boolean | Indicates whether this component is active. |
| `configuration` | Type: XMLString Max length: 32000 | Defines the configuration for this tool using XML. |
| `description` | Type: String **Required** Max length: 1024 | The LLM-facing description of the purpose of this tool. |
| `input` | Type: LongString Max length: 32000 | The JSON definition of the input schema used when invoking the LLM. Optional as the JSON schema can be also generated at runtime. |
| `tool_type` | Type: ComponentReference **Required** | Reference to the `Aitooltype` component. |

### Supported Operations

| Operation | Support |
| --- | --- |
| Create | Yes |
| Recreate | Yes |
| Alter | Yes |
| Drop | Yes |
| Rename | Yes |
| Describe | Yes |
| Generate Recreate | Yes |
| Queryable | Yes |

---

**Previous:** [Aicontexttype](/sitevault/mdl/component-types/aicontexttype)  
**Next:** [Aitooltype](/sitevault/mdl/component-types/aitooltype)