Web Messaging: Bot Quick Replies Missing from Historical Chat Transcripts

I’m customizing our Web Messaging widget and ran into a frustration regarding historical transcripts. During a live session, our bot presents several ‘Quick Replies’ (buttons) to the customer. This works fine.

However, when I look at the conversation transcript later via the GET /api/v2/conversations/messages/{conversationId}/messages endpoint or even in the Genesys Cloud UI ‘Interaction’ view, the bot’s quick reply options are missing. I only see the text prompt that preceded the buttons.

This makes it impossible for our QA team to see what options were presented to the customer. Is there a way to force the ‘Structured Message’ data to be preserved in the transcript history?

I’ve reported this as a bug on the Python SDK GitHub (Issue #1142). The problem is that the ‘Interaction View’ in the UI and the standard messages endpoint filter out the content array of a message, which is where the ‘Quick Replies’ reside.

If you want the raw data, you have to use the GET /api/v2/analytics/conversations/{conversationId}/details endpoint and look at the message segments. The structuredMessage property should contain the buttons, but it’s only preserved for a short window after the conversation ends. It’s a known gap in the historical data model for digital channels.

I ran into this while troubleshooting a SAML SSO issue that was breaking our custom transcript viewer. Han is right about the analytics gap.

A workaround we use is to have the bot ‘Log’ the options presented as a Participant Data attribute using a JSON string. We call it Bot_Last_Options_Presented. It’s not pretty, but it ensures that the QA team has a record of what the customer was seeing, even if the ‘Structured Message’ objects are stripped from the official transcript.