Parsing Genesys Cloud Webhook Payloads in Node.js Lambda: Missing Conversation ID

How should I properly to extract the conversation identifier from a Genesys Cloud routing:conversation:updated webhook payload when processing it via an AWS Lambda function in Node.js? I am methodically debugging a handler that receives the event, but the standard body.conversations[0].id path is returning undefined despite the webhook firing successfully.

I suspect the payload structure might be nested differently than the documentation implies for this specific event type. Below is the current extraction logic:

const eventBody = JSON.parse(event.body);
const convId = eventBody.conversations?.[0]?.id;
if (!convId) {
 throw new Error('Conversation ID missing in webhook payload');
}

The Lambda logs confirm the event reaches the handler, but the conversations array appears empty or malformed. Is there a specific header or query parameter I should be inspecting instead, or is the payload structure for routing:conversation:updated distinct from other routing events? I need to reliably fetch the id to update our external Android app state via the Web Messaging SDK.