Conversation
Ask the user to choose, and search the web.
1aa5e22). Descriptions are the exact text the model receives.web_search
Search the public web for current information. Results include titles, URLs, and snippets; cite the returned URLs when using them. If Web search is not configured, tell the user to add an Exa API key in Agent settings and do not invent search results.
Parameters
| Name | Type | Required | Constraints | Description |
|---|---|---|---|---|
query | string | Yes | min length 1; max length 500 | |
limit | integer | — | ≥ 1; ≤ 10 |
Minimal input · Required fields only; placeholders are derived from the schema.
{
"query": "<query>"
}JSON Schema
…ask_user
Ask the user a clarifying question in the Agent panel and wait for the answer before continuing. This is required whenever a tool result reports status "ambiguous": turn every candidate into one option, where value is the candidate's unique routing identifier (for example its id, or source + exchange + assetClass), label is its display name, and description explains its source, exchange, and assetClass routing fields. Every value must be unique; labels may repeat. Never answer on the user's behalf and never retry with a guessed candidate.
Parameters
| Name | Type | Required | Constraints | Description |
|---|---|---|---|---|
question | string | Yes | min length 1; max length 2000 | |
multiSelect | boolean | — | — | |
options | object[] | Yes | min items 1; max items 8 | |
options[].value | string | Yes | min length 1; max length 200 | |
options[].label | string | Yes | min length 1; max length 200 | |
options[].description | string | — | min length 1; max length 500 |
Minimal input · Required fields only; placeholders are derived from the schema.
{
"question": "<question>",
"options": [
{
"value": "<value>",
"label": "<label>"
}
]
}JSON Schema
…