AI Agents Overview
AI Agents enable intelligent, automated interactions within your application. They can process user messages, trigger tools, and respond with contextually relevant information. For a broader introduction, see the AI Agents section.Agents only respond to text messages.
Agent Run Lifecycle and Message Flow
When a user sends a text message to an Agent:- The platform starts a run and streams real-time events via
AIAssistantListener - After the run completes, persisted Agentic Messages arrive via
MessageListener
Real-time Events
Events are received via theonAIAssistantEventReceived method of the AIAssistantListener class as AIAssistantBaseEvent objects, in this general order:
Events arrive via onAIAssistantEventReceived in this order:
Run Start and Run Finished are always emitted. Tool Call events only
appear when tools are invoked — there can be multiple tool call cycles in a
single run. Text Message events are always emitted and carry the assistant’s
reply incrementally.Event Object Properties
Every event is anAIAssistantBaseEvent with these common properties:
Some events carry additional data:
- TypeScript
- JavaScript
Event descriptions
- Run Start: A new run has begun for the user’s message.
- Tool Call Start: The agent decided to invoke a tool.
- Tool Call Arguments: Arguments being passed to the tool.
- Tool Call End: Tool execution completed.
- Tool Call Result: Tool’s output is available.
- Text Message Start: The agent started composing a reply.
- Text Message Content: Streaming content chunks for progressive rendering.
- Text Message End: The agent reply is complete.
- Run Finished: The run is finalized; persisted messages will follow.
Agentic Messages
After the run completes, these messages arrive viaMessageListener:
Each message type extends
BaseMessage and has a typed data accessor:
When an agent reply contains a card, the card is embedded inline in the
AIAssistantMessage and exposed through getElements(). Cards are also
streamed in real time via the card_start / card / card_end events on
the AIAssistantListener. See the Card Messages
guide for both flows.getToolCalls() method on AIToolArgumentMessage returns an array of AIToolCall objects, each with:
- TypeScript
- JavaScript
Next Steps
AI Chatbots
Set up AI-powered chatbots for automated conversations
AI Moderation
Automatically moderate messages with AI
AI User Copilot
AI-powered features like smart replies and conversation summaries
Send Messages
Send text messages that trigger AI Agent responses