In a saucepan over medium heat, bring to a boil the water, butter and salt. Remove the saucepan. Add all the flour and stir well until all the flour is incorporated.
Transfer the saucepan back on medium heat, and cook the dough for about 2 minutes. Stirring constantly to make sure that none of the dough sticks to the saucepan. Transfer the cooked dough to a large bowl.
Mix the dough slightly so that it cools down a bit. You can either do these steps in a stand mixer or by hand.
Start adding an egg at a time to the dough. Before adding another egg make sure that the previous one is fully incorporated. In addition, do not be alarmed, but at first when you add the egg, the dough will break. Just continue mixing until a smooth dough is soon achieved.
Fill a large piping bag with the dough. You can either use a large round tip or a french star tip.