How about introducing an “Only when” condition that allows us to check for a scheduled API workflow with “Exist” & “Doesn’t exist”.
In my world, the principle of Scheduled Backend API workflow is to ensure fast front end operations and to allow a method to manage CPU usage whilst ensuring large batches of data is processed successfully. Unfortunately the throttling process will sometimes cause scheduled API’s to fail if the load becomes too much. This can very easily happen with more complicated apps and one to many workflows. ie. An API workflow that is intended to run linear until all records are updated with predictable resource usage now becomes parallel and grows until it fails.
When the workflow actually runs it has not scheduled itself to repeat and in this time a new process will schedule if it does not see anything. However I believe the process will at least “load balance” as more of the same workflows are scheduled.
In the alternate perhaps we might have a tickbox for API workflows “Only allow one active instance of this workflow”.