Agent Chat component
A component to chat with a Retool Agent in a web app.
Use the Agent Chat component to invoke a Retool Agent from within an web app.
The Agent Chat functionality cannot be used from public apps, as calling an agent requires a logged-in user.
Properties
All properties for this object with supported data types or values. You can write JavaScript almost anywhere in Retool to manipulate or read property values.
agentId
The ID of the agent to use. Set using the Agent setting of the trigger query.
Type | string |
Format | Plain Text |
Configurability | Read-only |
Default | null |
Examples
"12345678-1234-1234-1234-123456789012"
agentInputs
The inputs to send to the agent. Set using the Agent Inputs setting of the trigger query.
Type | string |
Configurability | Read-only |
Default | null |
Examples
"My Agent"
events
A list of configured event handlers that trigger actions or queries.
Type | array |
Array values | object |
Configurability | Inspector > Interaction > Event handlers |
Default | null |
Array Object Properties
event
The event that triggers the action. Refer to the events section for details of available events for this object.
Type | string |
Configurability | Inspector > Interaction > Event handlers > Event |
Default | null |
method
The JavaScript method to perform when type
is datasource
, widget
, state
, or localStorage
.
Type | string |
Configurability | Inspector > Interaction > Event handlers > Edit event handler > Run script actions |
Default | null |
type
The type of action to perform.
Type | string | ||||||||||||||
Configurability | Inspector > Interaction > Event handlers > Edit event handler > Action | ||||||||||||||
Allowed Values |
| ||||||||||||||
Default | null |
id
The unique identifier (name).
Type | string |
Format | Plain Text |
Configurability | Inspector |
Default | agentChat1 |
Examples
query1
button1
isHiddenOnDesktop
Whether to show or hide this object in the desktop layout.
Type | boolean |
Format | True/False |
Configurability | Inspector > Appearance > Advanced > Show on desktop |
Default | false |
Examples
true
isHiddenOnMobile
Whether to show or hide this object in the mobile layout.
Type | boolean |
Format | True/False |
Configurability | Inspector > Appearance > Advanced > Show on mobile |
Default | true |
Examples
true
isProcessing
Whether the agent is currently processing.
Type | boolean |
Format | True/False |
Configurability | Read-only |
Default | null |
Examples
true
maintainSpaceWhenHidden
Whether to take up space on the canvas if hidden
is true
.
Type | boolean |
Format | True/False |
Configurability | Inspector > Appearance > Advanced > Maintain space when hidden |
Default | false |
Examples
true
margin
The amount of margin to render outside.
Type | string | |||||||||
Format | Plain Text | |||||||||
Configurability | Inspector > Spacing > Margin | |||||||||
Allowed Values |
| |||||||||
Default | 4px 8px |
Examples
4px 8px
messages
A list of messages previously sent and received.
Type | array |
Array values | string |
Configurability | Read-only |
Default | null |
queryTargetId
The ID of the query to trigger.
Type | string |
Configurability | Inspector > Content > Query to trigger |
Default | null |
showBorder
Whether to show a border.
Type | boolean |
Format | True/False |
Configurability | Inspector > Appearance > Show border |
Default | false |
Examples
true
showEmptyState
Whether to display an empty state before a message is sent. Enabled by adding the Empty state add-on.
Type | boolean |
Configurability | Inspector > Appearance > Show empty state |
Default | null |
showHeader
Whether to show the header area.
Type | boolean |
Format | True/False |
Configurability | Inspector > Appearance > Add-ons > Header > Appearance > Show header |
Default | false |
Examples
true
showInEditor
Whether the component remains visible in the editor if hidden
is true
.
Type | boolean |
Format | True/False |
Configurability | Inspector > Appearance > Advanced > Always show in edit mode |
Default | false |
Examples
true
status
The status of the agent run.
Type | string | ||||||||||
Configurability | Read-only | ||||||||||
Allowed Values |
| ||||||||||
Default | null |
Methods
JavaScript API methods for this object. You can write JavaScript almost anywhere in Retool and use methods to manipulate data and property values.
agentChat.approveCurrentToolUse()
agentChat.scrollIntoView()
Scrolls the canvas or parent container so that the selected component appears in the visible area.
agentChat.scrollIntoView(options)
Parameters
Object Properties
behavior
The scroll behavior.
Type | string | ||||||
Allowed Values |
|
block
The scroll position relative to the component.
Type | string | ||||||||||
Allowed Values |
|
Examples
Scroll the minimum amount to immediately bring agentChat
into view.
agentChat.scrollIntoView({behavior: 'auto', block: 'nearest'});
agentChat.sendMessage(message)
Examples
Use the agentChat
component to send a message to the agent asking about the weather.
agentChat.sendMessage('What is the weather in NYC?');
agentChat.setHidden()
Set the hidden
value to toggle whether the component is visible. Defaults to true
without a parameter.
agentChat.setHidden(hidden)
Parameters
Examples
true
Examples
Hide agentChat
.
agentChat.setHidden(true);
Unhide agentChat
.
agentChat.setHidden(false);
agentChat.setShowHeader()
Set the showHeader
value to toggle whether the component header is visible.
agentChat.setShowHeader(showHeader)
Parameters
Examples
true
Examples
Show the header of agentChat
.
agentChat.setShowHeader(true);
Hide the header of agentChat
.
agentChat.setShowHeader(false);
Events
Events triggered by user interactions. You can configure event handlers in the IDE to trigger queries or other actions in response to events.
Event | Description |
---|---|
Close | The component or item is closed. |