I managed to implement MassTransit Courier routing slip with bunch of activities. I decided to add a state machine to monitor it, so I created separate events and states and used EF Core as a storage for an Automatonymous state machine. To track the current state, I publish an event at the end of execution of each activity. It all works and I can monitor current state of routing slip in the database.
But is it the best way to do it? According to this section in the documentation of MassTransit: https://masstransit-project.com/advanced/courier/events.html it looks like events should be published automatically. So maybe there is another way to monitor routing slip, which does not require creating events and manually publishing them in each activity?