Hi Timo,
Yes, you can programmatically generate a step of any type using engine.newstep method that you mentioned. However, the help does only give you the necessary strings for the most commonly used steps. For any synchronization step, or any other step besides the Action step or any of the tests, you will want to use the Default adapter, so simply pass an empty string "" into the adapterKeyNameVal. So, the stepTypeName parameter is all that is necessary to create our step. Using LV 7.1 calling into the TestStand 3.1 API (I know these are different version, but it should work the exact same), I created a VI that takes a sequence file of your choice and give you the step type name of each step in the main sequence's main step group. I just threw this together, so I'm not guaranteeing that there isn't a better way to implement things, but it gets the job done. For instance, for the wait step, use "NI_Wait". I got this from the VI and tested everything to make sure that it works. You can use the attached VI to give you any other step names you may need. Let me know if for some reason this doesn't work for you or if you have any additional questions. Thanks and have a great day.