It would depend on what else it should be able to do, and if others are supposed to work in a similar way.
A suggestion would be to add the object to a family called something like PointFollowers and add the behaviour moveto and a variable MovingTo to that family.
Add another object called MovePoint and make it invisible, give it a variable called PointID and another one called MoveTo.
Pointfollowers on collision with MovePoint -> set Pointfollowers.MovingTo = MovePoint.Moveto
-subevent pick all MovePoint
pick MovePoint where PointID = Pointfollowers.MovingTo
action Pointfollowers.MoveTo MovePoint.X MovePoint.Y
You could even experiment with using the same PointID and add pick random in multiple Movepoints to have the AI take random paths.
Any object in that family will then follow movepoints as you have set them up.