actions object shape is POSTed to customer webhooks in push mode).
The SDK parses these automatically into typed Python objects β you rarely need
to work with the raw JSON directly, but this reference is useful when debugging
or building your own client.
Data structure boundaries
Payload frames are only one part of the full session-linking model:
Hot-path rule: delivery decisions should read session-owned fields (
conversation_linked, conversation_id) from SessionState, not query ConversationLinkStore on every send.
See Typed payloads, Agent session states, and BaseChatbotWriter.
If the user selects a proactive option
- Delivery surface sends back the selected quick-reply/chip id.
- Resolve that id to
TriggerMessage(id,label,user_tour_exists,user_tour_id). - Update
SessionStateinteraction path (record_option_click()and related state updates). - If
user_tour_exists=True, resolve the matchingTourDefinitioninTourRegistry(byidoruser_tour_id) and start visual guidance with the tour id. - Continue routing by session-owned state (
session_idprimary;conversation_idderived).
Event type reference
actions event
Emitted when the connector extracts and forwards a batch of UI actions from a user session.
Top-level fields
Action object fields
summary event
Emitted when the connectorβs LLM summariser produces a prose description of a session.
This is intended to replace raw action embeddings for context-window efficiency.
Fields
SSE frame format
Events arrive as standard SSE frames. Thedata field contains the JSON payload above.
heartbeat frames β they are keep-alive pings sent every 30 seconds.