Object types can have many commands and each command can have many command steps. A command can be viewed as a particular function for an object type. 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 needs to take place, and these events are defined in the command steps.
An additional level of flexibility is introduced if some commands can only be run under certain circumstances. This is powered by the Condition field of the commands (see Command conditions).
For more information about how to create commands and special commands, see the Commands, Tokens, and Validations Guide and Reference.