Arrgh, there was a perfect example for this, but I forgot who made it and where it is.
Basically it involves using an enemy with the platformer behavior (default controls off, of course) and having invisble objects positions at locations where you want the enemy to jump.
So you can just test, is overlapping the detector, then simulate platform jumping.
As for moving side to side, you just need a variable (string would be convenient). If variable = left then simulate platformer going left, if variable = right then simulate platformer going right.
Then you need to make another invisible object at the end of the path, and on collision with the object
--subevent
if the variable you made earlier = left then set it to right
and vice versa.