Typically you’d need to have a file called actions.py with some custom python classes in it. Once those classes are properly defined you still need to run an action server locally via;
rasa run actions
This starts the webserver for your custom actions and your rasa shell should be able to communicate with it. One more thing to be aware of is that you need to update the endpoints.yml file (see docs for more info).