A method for programming a neurostimulator includes automatically performing a series of steps. One or more control elements may be actuated to select the series of steps from a plurality of series of steps stored in a memory of an external control device. One or more control elements may be actuated during the performance of the series of steps in order to cause one of the steps to pause, stop, restart, skip, or repeat. The series of steps may be a series of pre-programming steps, and the method may further include programming the neurostimulator after the series of pre-programming steps is performed. An external device for programming the neurostimulator includes control circuitry configured for automatically performing the series of steps, and a user interface including the one or more control elements configured for being actuated. The control device also includes the memory for storing the plurality of series of steps.