Making a Workflow sync based

Right now if X objects are enrolled then a workflow will execute them in parallel.

Sometimes we may need more control, or at least to use a queue and execute each object in sync, one after another. It’s possible that the outcome of one workflow run would change the next.

For example is two objects update the same contact record, we have no way to tell which object would update because it would be whatever object that executed last would have the last update.

If we have custom code that, for example, searches for an existing contact and creates one if not found. A second workflow executing in parallel could be doing the same thing leading to issues

We’ve run into this as well.

The only workaround we could find was having multiple workflows to work together, and storing the queue in HubDB. Then, they check for locks on the properties etc that are affected, and if there is one, then they just bounce it back for 5 seconds.

Honestly, our workaround is a horrible fix. We would really like an option in workflow settings for it to run synchronously instead, because this would be so useful for so many things. Custom Code in ops hub is genuinely brilliant, but it’s quite restricted by being forced to run in async…