Configuring native agents
Each native agent includes these components:Specifies the large language model (LLM) that powers the agent’s ability to understand and respond to queries. For more information, see Managing custom LLMs with the AI gateway.
Provides advanced configuration options for the Large Language Model (LLM) used by the agent.
These settings allow you to control decoding behavior, output format, safety parameters,
model‑specific behavior, and provider‑specific extensions. If omitted, defaults from the AI gateway
or model provider are used.
Supported values
Supported values
Overrides the model ID for this agent. If not provided, the value from the top‑level
llm field is used.Specifies the decoding strategy (for example,
greedy, sample, or provider‑specific methods).Adds a custom prompt or prompt sequence to each model request.
Maximum number of tokens the model can generate.
Alternative output token limit used by some providers.
Controls randomness. Higher values increase creativity; lower values produce more deterministic output.
Uses nucleus sampling to restrict generation to tokens within a cumulative probability threshold.
Number of completion candidates to generate.
Enables streaming responses when supported by the model provider.
Returns log probabilities for top tokens.
Provides detailed log probability information for generated tokens.
When set to
true, the model returns both the prompt and the completion.One or more stop sequences that end the model’s output.
Penalizes repeated subject matter to encourage exploration of new topics.
Reduces repeated words or phrases by penalizing frequent tokens.
Generates multiple completions and returns the best scoring result.
Adjusts model probability distributions for specific tokens.
Identifier associated with the end user for logging or safety purposes.
Additional context sent to the model for each request.
Few-shot examples demonstrating the desired input-output behavior.
Restricts sampling to the
k most probable next tokens.Defines the required structure of the model output (for example, JSON schema mode).
Ensures repeatable outputs when supported.
Indicates whether requests or responses are stored by the model provider.
Custom metadata passed to the model provider.
Modalities supported for the request (for example,
text, audio, vision).Configuration for generating or processing audio.
Specifies the service tier or quality level for supported providers.
Prediction parameters used by specific model providers.
Safety configuration for providers such as Google Vertex AI.
Anthropic‑specific beta feature settings.
Overrides the Anthropic model version.
Configures advanced reasoning or chain-of-thought features for supported models.
watsonx.ai space associated with the model execution.
watsonx.ai project bound to the request.
Controls reasoning depth for models that support variable reasoning levels.
Enables the model to call multiple tools in parallel.
Disables schema validation for tool calls (Groq‑specific).
Defines the prompting structure the agent uses. This structure determines how the LLM interprets and responds to instructions. For more information, see Choosing the agent style.
Defines whether the agent’s reasoning appears to the end user. When set to
True, the agent hides its reasoning from the user. When set to False, the agent displays its reasoning. The default value is False.Provides natural language guidance to the LLM. These instructions shape the agent’s behavior, such as adopting a specific persona like a customer service representative and explaining how to use tools and collaborators. For more information, see Writing instructions for agents.
Extends the LLM’s capabilities by enabling access to external functions and services. Examples include:
- OpenAPI definitions for external APIs
- Python functions for scripting more complex interactions with external systems
- Agentic workflows for orchestrating operations across tools and agents
- Toolkit-exposed tools such as an MCP server
Lists other agents this agent interacts with to solve complex problems. Collaborators can include native watsonx Orchestrate agents, external agents, or watsonx Assistants. For more information, see Connect to external agents.
Provides a human-readable summary of the agent’s purpose, visible in the Manage Agents UI. It also helps other agents understand its role when used as a collaborator. The description does not affect responses unless invoked as a collaborator. For more information, see Writing descriptions for agents.
Represents domain-specific knowledge that is acquired by the LLM from uploaded files or connected vector data stores. Agent Knowledge allows you to provide information that the agent should inherently know and use to answer questions. This knowledge can come from documents you upload or from various data sources integrated with watsonx Orchestrate, such as Milvus, Elasticsearch, AstraDB, and others.
To learn more about setting up a knowledge base see the section on Knowledge bases.
Specifies whether the Agent remains editable after import. This field accepts one of the following options:
editableSets the Agent as editable. This is the default value.non_editableSets the Agent as non-editable and prevents it from being exported.
An SVG-format string of an icon for the agent. The icon is used in the UI and in channels where the agent is connected to. It must follow these restrictions:
- SVG format
- Square shape
- Width and height between 64 and 100
- Maximum file size: 200 KB
Additional features of native agents
Customize your agent with extra features to match your needs.Guidelines
Use guidelines to control agent behavior. Guidelines create predictable, rule-based responses. Apply them when you need consistent actions.-
Define guidelines using the following format:
When
conditionthenperform an actionand/orinvoke a tool. - Include only guidelines relevant to the current user request in the agent prompt. This reduces complexity for the LLM.
- Configure the guidelines in priority order. Guidelines execute it, based on their position in the list.
A list of guidelines the agent should follow. Each guideline uses the format:
- When
conditionthenperform an actionand/orinvoke a tool. Provide at least one of action or tool.
Web chat configuration
Adjust web chat settings to control how your agent behaves in the web chat UI. Set up a welcome message and starter prompts to guide users from the start.Welcome message

welcome_content schema in your agent file:
Configures the welcome content.
Starter prompts

starter_prompts section of your agent file.
First, define whether these prompts are the default set. Then, for each prompt, specify these details:
Configures starter prompts shown to the user.
Chat with documents
Enable Chat with Documents to let users upload a document during a conversation and ask questions about its content. The document is available only for the session and is not stored in watsonx Orchestrate.Configures the Chat with Documents feature.
Providing access to context variables
Use context variables to inject user-specific identifiers—such as username, user ID, or tenant ID—from upstream systems into your agent. This creates personalized, context-aware interactions during execution. Your agent includes these variables by default:wxo_email_id- The email address of the user who invoked the agent or toolwxo_user_name- The username of the user who invoked the agent or toolwxo_tenant_id- The unique tenant ID for the request
Specifies if the agent can access context variables set by the Runs API.
Lists the context variables the agent can access.
Note:For scheduled workflows, the email address and username belong to the user who scheduled the workflow.
context_variables when you use these endpoints:
By default, agents invoked during a run cannot access context variables. To enable access, set context_access_enabled to true.
After enabling access, specify the context_variables your agent uses. These variables define which contextual details—such as user identifiers or session data—are available during execution.
You can reference these variables in descriptions, guidelines, or instructions by using curly braces like {my_context_variable}. You can also pass them as arguments to a Python function. When you pass them to a function, the agent runtime fills the values automatically without asking the user.

