> For the complete documentation index, see [llms.txt](https://documentation.2pintsoftware.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.2pintsoftware.com/deployr/reference/step-definitions.md).

# Step Definitions

Step definitions power the steps used in your task sequences. DeployR includes several built-in step definitions, and you can import additional community-created definitions to extend its functionality.

To see a list, you can go to the Step definitions blade of DeployR.

<figure><img src="https://content.gitbook.com/content/8m0VARX9oyZ2zXWCdPgr/blobs/xccJfupsCVvAzTBW3q15/image.png" alt=""><figcaption></figcaption></figure>

Step definitions can include several different options to accommodate different scenarios. For example, here is the "Apply OS" step in a task sequence, followed by the definition behind it.

<figure><img src="https://content.gitbook.com/content/8m0VARX9oyZ2zXWCdPgr/blobs/UB0QueMLyNhcbwxfVdnU/image.png" alt=""><figcaption></figcaption></figure>

The step includes a content item for the WIM file, an input field for the image index, an optional content item for the unattended answer file, and a continuation method drop-down list. Here is the definition:

<figure><img src="https://content.gitbook.com/content/8m0VARX9oyZ2zXWCdPgr/blobs/H4o1SpBf7ydQze1pGscm/image.png" alt=""><figcaption></figcaption></figure>

The definition has a couple more options that do not show up in the UI, because their "Hidden" status is set to true. One is the ScriptName, which is Apply.ps1, and one is the Content Item "DeployR Windows content", which is a content item that contains several scripts used in the task sequence process.

## DeployR Enterprise steps

Some step definitions only work with DeployR Enterprise. These have the `Enterprise` tag and are not shown in DeployR Community. They include [Run server-side script](/deployr/reference/step-definitions/run-server-side-script.md), [Unlock BitLocker](/deployr/reference/step-definitions/unlock-bitlocker.md), [Apply FFU](/deployr/reference/step-definitions/apply-ffu.md), and [Detect disk sector size](/deployr/reference/step-definitions/detect-disk-sector-size.md). Step definitions tagged `Linux` require DeployR Enterprise too and are also hidden in DeployR Community; see [Differences with DeployR Enterprise](/deployr/deployr-community/differences-with-deployr-enterprise.md).

## Custom Step definitions

The ability to create your own step definitions is available too. This is useful when other teams or administrators need to build task sequences, but you want to simplify and control processes in the task sequence. Instead of having a large PowerShell script with several parameters, you can create your own step definition that will prompt for basic information in the console when they add the step, then do the heavy lifting on the backend.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://documentation.2pintsoftware.com/deployr/reference/step-definitions.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
