# TemplateOperation

**Type**: `object`

## Properties

- name: draftMode (optional)
  type: boolean
  description: Set as a variable in the script scope, this input tells the script to run in 'draft' mode, which should enable additional outputs from various parts of the built pipeline, according to the Template's defined draft outputs.

- name: name (required)
  type: string

- name: templateId (required)
  type: string
  description: The ID of the template to use for this operation.

- name: templateInputs (optional)
  type: object
  description: Inputs to the template. Each entry in the map is added to the scope of the template javascript as a variable and can be accessed directly. In addition to the inputs, a 'user' object is also bound providing information about the current user.

- name: templateVersion (required)
  type: integer
  description: The version of the template to use for this operation. Note that whether templates are forward- or backward-compatible are dependent on the template script, so updating or downgrading versions may result in an error in the job depending on the script.

- name: type (required)
  type: enum: `template-operation`
  description: Runs a template script to generate a subgraph running in place of the operation in the parent graph.
