Okay, I figured it out by reading the manual for another, unrelated module. For those who struggle with the same problem:

Create a script module with the content

if (! (Get-Process X)) { Exit -1 }

where "X" is the name of the process. You can use * as a wildcard, e.g. X* will match any process whose name starts with "X". Set the "Success Codes" value to "-1" and toggle "Use As Condition". Save the module with some name you can remember, e.g. "Check if X is running"

Now, when creating a policy, you can use this module as a condition in the "Conditions" tab and it will only run if the process is not running.