How to create new workflow instance from X++

Hi everyone,

We have a piece requirement that asks for a new workflow instance being created from X++ programming. For instance, we add a new ribbon button that can create a new sales order workflow instance for the selected sales order.  Anyone knows a good piece of example code?

Thank you!