Skip to main content

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
Defaultnull
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
Defaultnull
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
Defaultnull
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
Defaultnull

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
Defaultnull

type

The type of action to perform.

Type string
Configurability Inspector > Interaction > Event handlers > Edit event handler > Action
Allowed Values
ValueDescription
datasource

Control query.

widget

Control component.

script

Run script.

state

Set variable.

localStorage

Set localStorage.

util

Perform utility action (e.g., Open URL or Confetti).

Defaultnull


id

The unique identifier (name).

Type string
Format Plain Text
Configurability Inspector
DefaultagentChat1
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
Defaultfalse
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
Defaulttrue
Examples
true

isProcessing

Whether the agent is currently processing.

Type boolean
Format True/False
Configurability Read-only
Defaultnull
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
Defaultfalse
Examples
true

margin

The amount of margin to render outside.

Type string
Format Plain Text
Configurability Inspector > Spacing > Margin
Allowed Values
ValueUI OptionDescription
4px 8pxNormal

Normal margin.

0None

No margin.

Default4px 8px
Examples
4px 8px

messageDraft

The draft message.

Type string
Configurability Read-only
Defaultnull

messages

A list of messages previously sent and received.

Type array
Array values string
Configurability Read-only
Defaultnull

queryTargetId

The ID of the query to trigger.

Type string
Configurability Inspector > Content > Query to trigger
Defaultnull

showBorder

Whether to show a border.

Type boolean
Format True/False
Configurability Inspector > Appearance > Show border
Defaultfalse
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
Defaultnull


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
Defaultfalse
Examples
true

status

The status of the agent run.

Type string
Configurability Read-only
Allowed Values
ValueDescription
completed

Run not currently in progress.

in-progress

Run in progress.

waiting_approval

Run waiting for approval.

error

Run failed.

Defaultnull

title

The title text to display.

Type string
Configurability Inspector
Defaultnull

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()

Approve the current tool.

Definition
agentChat.approveCurrentToolUse()

agentChat.rejectCurrentToolUse()

Reject the current tool.

Definition
agentChat.rejectCurrentToolUse()

agentChat.scrollIntoView()

Scrolls the canvas or parent container so that the selected component appears in the visible area.

Definition
agentChat.scrollIntoView(options)
Parameters

options

The scroll options.

Type object
Object Properties

behavior

The scroll behavior.

Type string
Allowed Values
ValueDescription
auto

Scroll immediately to the specified position.

smooth

Scroll gradually to the specified position.


block

The scroll position relative to the component.

Type string
Allowed Values
ValueDescription
nearest

Scrolls only the minimum amount required for the component to appear in the visible area. Scrolling does not occur if the component is already in view.

start

Scrolls to position the component at the top of the visible area.

center

Scrolls to position the component in the middle of the visible area.

end

Scrolls to position the component at the bottom of the visible area.



Examples

Scroll the minimum amount to immediately bring agentChat into view.

agentChat.scrollIntoView({behavior: 'auto', block: 'nearest'});

agentChat.sendMessage()

Send the current message to the agent.

Definition
agentChat.sendMessage(message)
Parameters

message

The message to send to the agent.

Type string

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.

Definition
agentChat.setHidden(hidden)
Parameters

hidden

Whether this object is hidden from view.

Type boolean
Format True/False
Default
false
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.

Definition
agentChat.setShowHeader(showHeader)
Parameters

showHeader

Whether to show the header area.

Type boolean
Format True/False
Default
false
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.

EventDescription
CloseThe component or item is closed.