You can set up custom workflow process steps the same way you create any workflow steps in a workflow. When you receive these workflow step events, react and perform the tasks, as required.
When you have a custom assembly in the server site that contains code to execute an event, those events are sent with the name of the custom workflow process step used as the Types value in a server event payload.
From each custom process step, a signoff step must be invoked as the workflow will not continue until the custom process step has been signed off. If a signoff step is not invoked, the custom process step will remain in the Ready To Start status.