Skip to main content
The Autoplay connector emits JSON events over the SSE stream (and the same 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

  1. Delivery surface sends back the selected quick-reply/chip id.
  2. Resolve that id to TriggerMessage (id, label, user_tour_exists, user_tour_id).
  3. Update SessionState interaction path (record_option_click() and related state updates).
  4. If user_tour_exists=True, resolve the matching TourDefinition in TourRegistry (by id or user_tour_id) and start visual guidance with the tour id.
  5. Continue routing by session-owned state (session_id primary; conversation_id derived).

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. The data field contains the JSON payload above.
The SDK silently ignores heartbeat frames β€” they are keep-alive pings sent every 30 seconds.