# Publishing and deploying coded app projects

> Package a coded app as a NuGet package via the solution publish flow, deploy it to an Orchestrator environment, and access it at its uipath.host URL.

A coded app is published and deployed as part of the solution that contains it — you do not publish coded apps in isolation. This keeps the coded app's version in lockstep with the workflows, agents, and resources it depends on.

## Publish flow

When the solution containing a coded app is published, Studio Web packages the last pushed source together with `webAppManifest.json` into a single NuGet package (`.nupkg`), and uploads that package to the target tenant feed alongside the other projects in the solution.

To trigger a publish:

1. Open the solution and select **Publish**.
2. Choose the target tenant feed.
3. Provide release notes.
4. Select **Confirm**.

Studio Web packages every project in the solution — coded app included — and uploads them together.

## Deploy flow

Deploying a solution promotes a published version to a specific Orchestrator environment (development, staging, production, or a custom environment):

1. In Studio Web, open the solution and select **Deploy** for the version you want to promote.
2. Choose the target environment. For each declared binding, Studio Web shows the mapped Orchestrator resource for that environment.
3. Review the environment override for each declared resource, and remap any that need to point at different Orchestrator entities in this environment (for example, an asset or connection that points at production values).

   The deploy wizard's **Validate configuration** step lists every resource the coded app declares (apps, assets, storage buckets, entities, processes, and so on) and lets you review or remap each one before the deployment runs. Any missing or incorrectly configured resource is surfaced under **Issues** at the bottom of the panel.

   ![Deploy wizard on the Validate configuration step, listing the coded app's declared resources on the left and the configuration panel for the selected resource on the right](https://dev-assets.cms.uipath.com/assets/images/studio-web/coded-apps/deploy-validation-4a8d667a.png)

4. Select **Confirm**.

The coded app becomes available in the target environment at its runtime URL.

## Runtime URL

Coded apps are served from a dedicated static-hosting domain, separate from the main UiPath app domain:

```
https://<orgname>.uipath.host/<appname>
```

The runtime URL is stable across deployments — deploying a new version of the same coded app updates the content served at the same URL. See [About Coded Apps](https://docs.uipath.com/apps/automation-cloud/latest/user-guide-ca/introduction) for the reasoning behind the separate domain.

## Rolling back

To roll back to a previous version:

1. Open the solution and locate the previously deployed version in the release history.
2. Select **Redeploy** on that version.
3. Select **Confirm**.

Studio Web repromotes the older package to the target environment, and the runtime URL now serves that version.

## Access control

Coded apps inherit the folder and permission model of the Orchestrator environment they are deployed to. To grant or restrict access to a coded app, adjust the folder assignments and role permissions in Orchestrator — see the Orchestrator user guide for details.
