style
attribute. To learn more about agent styles, see Agent styles.
Native agents have collaborators
which are other agents, whether they be native agents, external agents, or external assistants, that this agent can communicate with to solve a users request.
The native agent’s description
provides a user-facing description of the agent for the agent management UI and helps the agent decide when to consume this agent as a collaborator when it is added to the agent’s collaborator list.
Provide well-crafted descriptions for your agents. These descriptions are used by supervisor agents to determine how to route user requests. For more information, see Writing descriptions for agents.
Parameter | Type | Description |
---|---|---|
enabled | boolean | Enables or disables the Chat with Documents feature. Default is false . |
citations | object | Contains the citations_shown parameter, which controls the maximum number of citations displayed during the interaction. |
context_access_enabled
to true
.context_variables
schema.{}
.Variable | Description |
---|---|
wxo_user_name | The user name of the authenticated watsonx Orchestrate user. |
wxo_email_id | The email address associated with the authenticated watsonx Orchestrate user. |
wxo_tenant_id | The unique identifier for the tenant the user belongs to. |
default
) style is a streamlined, tool-centric reasoning mode ideal for straightforward tasks. It relies on the LLM’s prompt-driven decision-making to decide which tool to use, how to use it, and when to respond. This style is excellent when the logic is mostly linear, like retrieving a report or checking a ticket, because the agent uses the LLM’s intrinsic capabilities to orchestrate tool calls on the fly.
It is ideal for:
react
) style (Reasoning and Acting) is an iterative loop where the agent thinks, acts, and observes continuously. It’s designed for complex or ambiguous problems where each outcome influences the next action. Inspired by the ReAct methodology, this pattern surfaces the agent’s chain of thought, supporting validation, step-by-step reasoning, and interactive confirmation.
A ReAct agent breaks the task into smaller parts, and starts reasoning through each step before taking an action and deciding on which tools to use. The agent then adjusts its actions based on what it learns along the way, and it might ask the user for confirmation to continue working on the given task.
It is ideal for:
planner
) style agent emphasizes upfront planning followed by stepwise execution. Initially, the agent uses the LLM to create a structured action plan, a sequence of tasks to execute, with all the tools and collaborator agents to invoke. Once the plan is in place, it carries out each step in order. This approach supports dynamic replanning if unexpected changes occur, leveraging the agent’s oversight over multi-step workflows.
A planner
style agent is capable of customizing the response output.
By default, the planner
style generates a summary of the tasks planned and executed by the planner agent if you don’t provide a custom response output.
It is ideal for:
structured_output
field or a custom_join_tool
field, as follows:
structured_output
and custom_join_tool
are mutually exclusive. If you provide one of them, do not provide the other.structured_output
defines the schema of how the data should be returned from the agent.
The custom_join_tool
is a normal Python tool that dictates how the output of the agent shuld look like, giving you total control of how the output looks instead of being generated by the LLM. You can see the following example of a custom_join_tool
:
Parameter | type | Description |
---|---|---|
display_name | string | The display name of the guideline. |
condition | string | The condition for this guideline. |
action | string | The action your agent takes when the condition is met. |
tool | string | The unique identifier of the tool that is associated with this guideline. Note: Use the tool name as its unique identifier. |
welcome_content
schema in your agent file using the following fields:
Parameter | type | Description |
---|---|---|
welcome_message | string | The welcome message. |
description | string | The welcome message description. |
is_default_message | boolean | (Optional) Set to true to make this message the default welcome message. |
starter_prompts
section of your agent file.
Start by defining whether these prompts are the default set. Then, for each prompt, configure the following fields:
Parameter | Type | Description |
---|---|---|
id | string | A unique identifier for the prompt. |
title | string | The title of the prompt. |
subtitle | string | The subtitle of the prompt. |
prompt | string | The prompt shown to the user. |
state | string | The current state of the prompt. |
api_url
, it always be https://api.salesforce.com/einstein/ai-agent/v1.auth_config
, your token
will be the CONSUMER_SECRET
referenced in the guide.chat_params
.
client_id
will be the CONSUMER_KEY
.domain_url
will be the DOMAIN_URL
.chat_params
you need to specify your agent_id
. This can be found by hovering over one of your agents and either right-clicking and copying the URL, or by manually writing it based on hover text. In the following example, the agent_id is 0XxfJ0000001d8zSAA
.
service_instance_url
api_key
assistant_id
environment_id
service_instance_url
and api_key
varies depending on whether the assistant is imported to IBM Cloud or AWS.environment_id
and assistant_id
in the output JSON.service_instance_url
and api_key
can be found on the page where you launch your assistant’s tooling UI.
provider
to external_chat
/A2A
/0.2.1
as show below.
Make sure to write clear, well-crafted descriptions for your agents. Supervisor agents rely on these descriptions to route user requests effectively. For more information, see Writing descriptions for agents.
context_access_enabled
to true
.context_variables
schema.{}
.Variable | Description |
---|---|
wxo_user_name | The user name of the authenticated watsonx Orchestrate user. |
wxo_email_id | The email address associated with the authenticated watsonx Orchestrate user. |
wxo_tenant_id | The unique identifier for the tenant the user belongs to. |