1. A computer-implemented method for applying a template to one or more objects in an object template system, the method comprising: receiving from a user a template selection identifying a template to apply, wherein the template represents an information technology (IT) object in an IT management software application, and wherein an object is a software data structure that has significance to a business organization, wherein each object has a defined type, a defined role for each type, and can have one or more associated relationships with other object types; selecting a property defined in the template, wherein the template presets one or more properties of an instance of an object type with which the template is associated; applying the selected template property to an existing object instance stored in the object template system, wherein the object instance existed before applying the template; determining whether the template includes multiple levels of objects; and in response to determining that the template includes multiple levels of objects, identifying at least one sub-object of the object instance that matches a hierarchical pattern described in the template; and applying properties of the sub-object specified in the template to the identified sub-object, wherein the preceding steps are performed by at least one processor.
4. The method of claim 1 further comprising, after receiving the template selection, searching for an object instance that matches the template to which to apply the template.