When to use workflow engine?

Many times software engineers get stuck into situation where they ask themselves is it a right usecase for workflow engine? I say it is if it satisfy following criteria

  1. If your flow takes more than a day to complete
  2. If your flow involves steps that are external actions like receiving emails, sms, form submissions, human approval or integration with external systems like LDAP, CRM etc
  3. If your workflow needs to be design by non-tech user
  4. If you have to manage atleast 10 much flows

If above criteria is not satisfied then most likely you need a simple batch executor.