Injecting trace context into Chat canned response via Conversations API

I’m trying to send a canned response from my OpenTelemetry collector to a Genesys Cloud chat session. The goal is to capture the exact moment the agent sends a template, so I need the trace ID injected into the outbound message event.

Here’s the POST request to /api/v2/conversations/chats/{chatId}/messages:

{
 "type": "canned",
 "from": {
 "id": "agent-user-id",
 "type": "user"
 },
 "content": {
 "text": "Thanks for your patience."
 },
 "metadata": {
 "traceparent": "00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01"
 }
}

The API returns a 201 Created and the message appears in the transcript. However, when I look at the span data in Jaeger, the traceparent value is missing from the event payload. It seems the Conversations API strips custom metadata from canned responses for security reasons or just ignores it entirely.

Is there a specific header I need to set on the HTTP request to force the context through? Or do I need to use a different endpoint like the Web Messaging API? I’ve tried adding X-Correlation-Id but that didn’t help either.