Hi Caden,
The short answer to your question is "Yes - you can work with dynamic data structures that are coming into a single webhook event".
One note of caution: please be careful not to try to make a single scenario "do too much" -- it really should be driven by a "reasonable single use case" (not 50 use cases all slammed into one). If the other vendor sees them as two events, it might be legitimately two scenarios.
To deal with dynamic incoming data, you'd simply have future steps conditioned based upon the value you expect (or not). Even if the data want doesn't appear in the mapping panel, you can still refer to it by creating a formula e.g. {{1.response.type}} (including full object dot notation) You can check if a field exists or has a value and then go down 1 direction or another. EAch future route would only refer to data it cares about (or knows should exist) .