You can invoke workflow from an Action button.
Do this by creating a workflow rule that is run when a record is updated. The update can be as simple as a change to a single field value in a record. You can include a field in the record, who's sole purpose is to trigger workflow. You can create an Action that updates this field's value. You can use the field's value along with the "And if this condition is true" expression in the workflow rule to select which, among several, workflow rules you wish to invoke.