Node.js Lambda: Genesys Cloud Webhook Payload Parsing Failure

We are deploying a Node.js Lambda to consume Genesys Cloud event webhooks. The handler receives the event object, but accessing event.body yields a string rather than a JSON object. We’ve tried JSON.parse(event.body) inside a try-catch block, yet it throws a SyntaxError for malformed JSON on some test events. The payload structure seems inconsistent. Here’s the relevant snippet:

exports.handler = async (event) => { const data = JSON.parse(event.body); ... }

Is there a specific header or configuration we’re missing?