Hey everyone, we’re running into something really odd with our blended media webhooks - specifically, the Conversation.BlendedMedia event. It’s…well, it’s a bit of a mess, honestly. We’re trying to consume these events via a gRPC-Web service, and the protobuf serialization seems to be failing intermittently. It’s not consistent, which is what’s driving me up the wall. At my last shop, we had similar issues with event streaming, and it always came down to version mismatches, but I’ve checked all that, and it should be correct.
The flow is pretty standard - Architect flow triggers a blended media interaction, then fires the webhook. We’ve registered the webhook endpoint with the Conversation.BlendedMedia event type, and everything appears to be configured correctly on the Genesys Cloud side. The endpoint is reachable, it’s passing health checks, and we’ve verified we’re receiving some events. However, about one in ten events is failing to deserialize on our service, throwing a gRPC status code of INVALID_ARGUMENT.
The payload that’s failing looks… mostly normal, but there’s some weirdness in the wrappedValues field - it looks like it’s missing a field descriptor, or something like that. The error message within the gRPC response is “Message missing required fields”. We’re using the latest Genesys Cloud protobuf definitions (v8.1.0), and we’ve regenerated the code from those definitions. We’ve also double-checked that we’re not accidentally modifying the payload before deserialization. This is similar to an issue we had documented in INC-4471, but that involved Data Actions, not webhooks.
Here’s a snippet of the error payload we’re receiving when deserialization fails - it’s truncated for brevity, but it’s the key part:
{
"errors": [
{
"message": "Message missing required fields",
"field": "wrappedValues",
"code": "INVALID_ARGUMENT"
}
],
"event_id": "some-uuid-here",
"event_type": "Conversation.BlendedMedia"
}
The gRPC service is running in a Kubernetes pod, and we’re using Envoy as a service mesh. I’m wondering if there’s some interaction between Envoy and the protobuf serialization that we’re missing. We’ve also tried increasing the logging level on both the Genesys Cloud side and our service, but the logs aren’t providing much additional information. It’s just the same INVALID_ARGUMENT error. It’s baffling, honestly.