> For the complete documentation index, see [llms.txt](https://docs.umbraco.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.umbraco.com/ai-in-umbraco/19.latest/add-ons/deploy/installation.md).

# Installation

Install the Umbraco AI Deploy add-on packages for environment-based deployment.

This guide walks you through installing Umbraco.AI Deploy support.

## Prerequisites

Before installing Deploy support, ensure you have:

* Umbraco CMS 19
* .NET 11
* Umbraco.AI installed and configured
* Umbraco Deploy 19 installed and configured

The Deploy packages pull in their matching Umbraco.AI packages as dependencies. `Umbraco.AI.Prompt.Deploy` requires `Umbraco.AI.Prompt`, and `Umbraco.AI.Agent.Deploy` requires `Umbraco.AI.Agent` — both are installed automatically when you add the Deploy package.

## Step 1: Install NuGet Packages

Install the Deploy packages you need:

{% code title="Terminal" %}

```bash
# Core Deploy support (required)
dotnet add package Umbraco.AI.Deploy

# Optional: Prompt deployment
dotnet add package Umbraco.AI.Prompt.Deploy

# Optional: Agent deployment
dotnet add package Umbraco.AI.Agent.Deploy
```

{% endcode %}

## Step 2: Build and Run

Build your project and run it:

{% code title="Terminal" %}

```bash
dotnet build
dotnet run
```

{% endcode %}

Deploy support is automatically registered and starts working immediately. No additional configuration is required unless you need to customize sensitive data filtering.

## Step 3: Verify Installation

To verify Deploy support is working:

1. Open the Umbraco backoffice
2. Navigate to **Settings → AI → Connections**
3. Create or edit a Connection
4. Save the Connection
5. Check your repository for a new file in `data/Revision/` (e.g., `umbraco-ai-connection__openai-production_abcd1234.uda`)

If you see the deployment file, Deploy support is working correctly.

## What Gets Installed

When you install the Deploy packages, you get:

* Automatic deployment file generation when saving AI entities
* Automatic deployment when pushing to other environments
* Dependency resolution (e.g., Profiles depend on Connections)
* Sensitive data filtering (API keys and secrets excluded by default)

## Troubleshooting

### No Deployment Files Generated

If deployment files aren't created when you save entities:

1. Verify Umbraco Deploy is installed and configured
2. Check that the Deploy packages are installed (check your `.csproj` file)
3. Rebuild and restart your application
4. Check the Umbraco logs for any Deploy-related errors

### Deployment Files Include Sensitive Data

If deployment files contain API keys or other sensitive data:

1. Use configuration references instead of hardcoded values (e.g., `$Umbraco:AI:Secrets:OpenAIApiKey`)
2. Configure sensitive data filtering in `appsettings.json` (see [Configuration](/ai-in-umbraco/19.latest/add-ons/deploy/configuration.md))

## Next Steps

* [Configuration](/ai-in-umbraco/19.latest/add-ons/deploy/configuration.md) - Configure sensitive data filtering
* [Deploying Entities](/ai-in-umbraco/19.latest/add-ons/deploy/deploying-entities.md) - Deploy AI configuration between environments
* [Best Practices](/ai-in-umbraco/19.latest/add-ons/deploy/best-practices.md) - Security and workflow recommendations


---

# 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://docs.umbraco.com/ai-in-umbraco/19.latest/add-ons/deploy/installation.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.
