SalesForce has very powerful Screen Flows which are triggered by Custom Buttons on Contacts/Opportunites/any object. Kind of like a manual trigger for a workflow, the Screen Flow asks for user input and completes actions based on that.
This would allow for custom actions on Contacts like adding contacts to specific courses, refunding money, sending a specific one-off email template or contract or any combination of those.