Times a booking offers appear as buttons under the reply: the visitor taps one instead of typing it.
- Quick replies under the latest reply, once it has finished streaming - in the web component (and so the React wrapper) and in React Native. Tapping one sends it as the visitor's message, the same as typing it. An older reply's buttons go away as the conversation moves on.
- Streamed with the reply. When a widget conversation asks for them, the reply comes as server-sent events (
stream_format: "events"): its text as it is written, then the quick replies. Nothing extra is requested after the reply. - Callers that don't ask get the bare text stream exactly as before.
SDK: chatStream({ onQuickReplies }), and quick_replies on a ChatCompletion message for the non-streaming call.
Needs a CloudTrain server with stream_format: "events" (live on cloudtrain.ai).