Request types can have many commands, and each command can have many command steps. A command can be viewed as a particular function for a request. Copying a file can be one command, and checking that file into version control can be another. To perform these functions, a series of events must take place. These events are defined in the command steps.
An additional level of flexibility is introduced when some commands must only be executed in certain cases. This is powered by the condition field of the commands and is discussed in Command Conditions.