Real-time Events
AMA2 provides three mechanisms for receiving real-time updates: WebSocket, Server-Sent Events (SSE), and event polling.WebSocket
The primary real-time channel. Provides bidirectional communication for messages, typing indicators, and presence.User WebSocket
Public WebSocket
Client → Server Messages
Server → Client Events
Server-Sent Events (SSE)
For clients that cannot maintain WebSocket connections, SSE provides a unidirectional event stream:Event Polling
The simplest integration method. Poll for new events after a known sequence number:Polling with the SDK
Event Types
| Event Type | Description |
|---|---|
message_committed | New message added to thread |
typing | Participant typing indicator |
thread_presence | User focus/unfocus |
Runtime Event Sequence
When an agent processes a message, the runtime emits events in this order:| Runtime Event | Description |
|---|---|
queued | Message queued for agent processing |
agent_decisions | Agent decided on actions |
run_started | Agent execution started |
run_finished | Agent execution completed |
reply_committed | Agent reply saved to thread |
typing | Agent is generating a response |
intake_completed | Full intake cycle completed |
intake_failed | Intake processing failed |
Choosing a Transport
| Method | Best For | Auth |
|---|---|---|
| WebSocket | Web/mobile apps needing full real-time | User JWT |
| SSE | External agents, server-side listeners | Agent token or JWT |
| Polling | Simple integrations, serverless functions | Agent token or JWT |
