is it possible to run a step in scenario only when the previous step succeeded? And to pause/halt the scenario when a step fails - to prevent further runs by time triggers?
in version 4.1 you'll need to make a scenario of the "custom python" sort, where you manage the starting of steps.
Likewise, changing the "active" status of a scenario based on the outcome of a step needs to be done programmatically, for example with the python wrapper on the public API (see https://doc.dataiku.com/dss/latest/api/public/client-python/reference.html#id4)
The previous answer about using "Custom Python" kind of scenario or "Python code" step in a step-based scenario remains valid for doing more advanced kinds of conditional processing, loops, ...