# Deploy a workflow

> Deploy a workflow from a coding agent, Studio Web, VS Code, or Studio Desktop, start a run, and go back to an earlier version.

Deploying makes a workflow live. Until then, it runs only as a test on the canvas. Once it's deployed, its triggers start runs without you: a schedule fires, an app event arrives, or you start a run yourself. Each run of a deployed workflow counts toward your plan's monthly runs. [Pricing](pricing.md) describes what's included.

Test the workflow before you deploy it. [Debugging basics](debugging-basics.md) describes how.

## Deploy

Whichever tool you use, deploying does the same thing: it packages the workflow's solution as a new version, makes it available to run, and turns on its triggers.

| Tool | How to deploy |
|---|---|
| Coding agent | Ask it, for example: "Deploy this workflow, then start one run and tell me its final status." The agent deploys the workflow and reports the result. |
| Studio Web | Select **Deploy**, or press `F8`. The workflow is live when the **Manage** view shows **Deployment successful**. |
| VS Code | In the **Build & Deploy** section of the UiPath Maestro extension, select **Deploy**. [Build in VS Code](build-in-vs-code.md#deploy-a-workflow) describes the options. |
| Studio Desktop | Select **Publish > Publish Solution**, then choose a feed in **Publish to**. The feed decides whether the solution is deployed, as described below. |

In Studio Desktop, the feed you publish to decides what happens next:

- **Orchestrator Personal Workspace Feed** deploys the solution to **My Workspace**, for your own use.
- **Orchestrator Tenant Feed** only uploads the package. [Deploy a published package](administration.md#deploy-a-published-package) describes how to deploy it.

In Studio Web, the arrow next to **Deploy** also offers **Publish**, which packages the workflow without deploying it.

## What the deployment steps do

The **Manage** view of Studio Web shows each step of a deployment:

| Step | What it does |
|---|---|
| **Setup** | Prepares the deployment. |
| **Publish package** | Packages the workflow and stores the package as a new version. |
| **Configure** | Validates the configuration. Blocking errors stop the deployment here, so fix them and deploy again. |
| **Deploy** | Sets up where the workflow runs and the resources it needs. |
| **Activate** | Makes the workflow available to run, and turns on its triggers. Scheduled triggers start firing, and connector triggers start listening. |

When you deploy a workflow again, the steps are headed **Pack and upgrade** with the new version number, and a **Deactivate solution** step replaces the running version with the new one.

## Manage deployments

In Studio Web, the **Manage** view lists your deployments on its **Deployments** tab, and every version you deployed on its **Versions** tab. Select a deployment to open its panel, with **Start job**, **Edit**, and **Uninstall**. [Deployments in Orchestrator](administration.md#deployments-in-orchestrator) describes the same tasks for workflows deployed from VS Code or Studio Desktop.

## Start a run

To start a run yourself, for example of a workflow with a Manual Trigger:

1. Open **Start job**:
   - **Studio Web:** on the deployment's success screen, select **Start job**.
   - **VS Code or Studio Desktop:** in Orchestrator, select **Solutions**, select the folder you deployed to, then select your solution. In its panel, select **Start job**.
2. Under **Input**, enter a value for each of the trigger's inputs.
3. Select **Start**.

For a workflow without inputs, you can also start a run from Maestro: on the workflow's **Instance management** page, select **Run** at the top right. A notification confirms that the run is queued. **Run** doesn't ask for inputs. [Monitor runs](monitor-runs.md) describes how to open that page, and how to follow the run.

## Go back to an earlier version

If a new version doesn't work as expected, deploy the previous one again. In Studio Web, open the **Versions** tab of the **Manage** view, and select **Deploy** on the version's row. For a workflow deployed from VS Code or Studio Desktop, [Deploy a published package](administration.md#deploy-a-published-package) describes how.

## Next steps

- [Monitor runs](monitor-runs.md): follow runs and see what each step did.
- [Retry and cancel](retry-and-cancel.md): retry a run that failed at a step, or cancel it.
- [Limits and fair use](limits-and-fair-use.md): the limits that apply to every run.
- [Community](community.md): ask questions and share workflows with other builders on the UiPath Forum.
