I have a need to determine, within a list workflow, whether it was started as a result of a new list item being created, or was started manually by a user. Alternatively, a way to restrict who can manually start a workflow, while still allowing workflows to trigger on item creation for any user, would work.
My list form does a lot of upfront validation, including whether the user is authorized to perform this particular action.
In some scenarios the workflow will end in a condition where an administrator is required to correct data in a LOB system, and then run the workflow manually to complete the action. Only an Administrator should be able to trigger the workflow manually.