> For the complete documentation index, see [llms.txt](https://docs.brigge.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.brigge.ai/documentation/brigge-for-transformers/environments.md).

# Environments

## Introduction

If you need the same pipeline structure to run in different contexts (for example, different companies, regions, or build environments), you have a choice: build and maintain separate pipelines for every context, or use the *Environments* feature.

With *Environments*, you can save significant time and effort when you need to run essentially the same pipeline for multiple sets of credentials and/or context-specific variables.&#x20;

### How environments work

<figure><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2Fi6dbdaDybWobHxgAJIxJ%2Fenvironments%20overview.svg?alt=media&amp;token=3b210e52-3229-46eb-b28b-f748d1c518f9" alt=""><figcaption></figcaption></figure>

There are two key aspects to consider as you start working with *Environments*:

* **Pipelines**. A 'base' pipeline defines the *structure* of a workflow - the steps, the logic, the data mappings - without being tied to any specific context. These pipelines should not include anything that binds them to a specific context - you might think of them as 'vanilla' pipelines, where different flavours are added at runtime.
* **Environments**. An 'environment' is a container for context-specific items that must be swapped into a pipeline at runtime. When a pipeline is [deployed](/documentation/brigge-for-transformers/pipelines/pipeline-versions-and-deployments.md) to (and so runs in) an environment, the items configured for that environment are swapped into the pipeline at runtime. In this way, you might think of the environment as the flavour added to any vanilla pipelines that are deployed to it.

## Deep dive into the problem being solved

To better understand the problem that *Environments* solve, consider the scenarios below.

<details>

<summary>Scenario 1 (entry-level)</summary>

Your organisation has identified the need for 3 pipelines, structured to sync all the data needed to meet business requirements:

1. Invoicing
2. Staff
3. Timesheets

However, you need two 'flavours' of each pipeline: one for *Testing* and one for *Production*. The only difference between the two is the authentication credentials for the systems being synced. Without *Environments*, you would need to build and maintain 6 pipelines.

</details>

<details>

<summary>Scenario 2 (more complex)</summary>

Your organisation has built 6 pipelines, structured to sync all the data needed to meet a range of business requirements:

1. Staff register
2. Timesheets
3. Invoicing
4. Role updates
5. Reconciliation
6. Monthly report

However, your organisation operates 5 agencies under one umbrella group. These agencies use the same external systems, but each has its own authentication credentials. Without *Environments*, you would need to replicate the original set of pipelines 5 times, replacing the system credentials in each case. So now 6 pipelines become 30 pipelines - that's a lot to manage.

Now, suppose that each of the 5 agencies runs 2 portfolios: *Legal* and *Medical*, each with different data sources. Suddenly, 60 pipelines would increase to 120 pipelines. And it doesn't stop there. Suppose you need to make a couple of changes to the pipeline structure? That's a couple of changes to 120 pipelines, which is both time-consuming and error-prone.

</details>

In both scenarios, we see how multiple versions of the same pipelines are needed for different contexts, and how quickly the number of pipelines can proliferate. With *Environments*, you create a pipeline with the base structure and deploy it to an environment. Each environment is configured with a set of context-specific items (system credentials and/or variables); when the pipeline runs in this environment, those context-specific items are applied.

Let's go back to [Scenario 2](#scenario-2-more-complex). We needed 120 pipelines to meet all business requirements. But with environments, it would look something like this:

<table><thead><tr><th valign="top">6 pipelines to build</th><th valign="top">10 environments to configure</th></tr></thead><tbody><tr><td valign="top"><ul><li>Staff register</li><li>Timesheets</li><li>Invoicing</li><li>Role updates</li><li>Reconciliation</li><li>Monthly report</li></ul></td><td valign="top"><ul><li>Agency 1 (Legal)</li><li>Agency 1 (Medical)</li><li>Agency 2 (Legal)</li><li>Agency 2 (Medical)</li><li>Agency 3 (Legal)</li><li>Agency 3 (Medical)</li><li>Agency 4 (Legal)</li><li>Agency 4 (Medical)</li><li>Agency 5 (Legal)</li><li>Agency 5 (Medical)</li></ul></td></tr></tbody></table>

The number of pipelines needed is drastically reduced. Each pipeline is deployed, and the appropriate system credentials are swapped in at runtime. Whilst it may seem there are still many environments to configure, keep in mind that this is a one-off task. Thereafter, it's just a case of maintaining a core set of pipelines.

## Do I have to configure environments?

No. A key benefit of using environments is the ability to distil multiple pipelines into one, base structure and apply context-specific elements ([systems](#systems-variables) and [variables](#environment-variables-1)) at runtime.&#x20;

* If you have multiple pipelines that are essentially the same except for system credentials and/or context-specific variables, you should consider using environments.&#x20;
* If your requirements are easily met with relatively few pipelines, or if you have multiple pipelines with different structures and nothing in common, environments will likely be less useful. In this case, you do not need to configure environments.

{% hint style="info" %}
There is one important caveat to 'not using' environments.&#x20;

To initiate a pipeline run on an [automated trigger](/documentation/brigge-for-transformers/pipelines/pipeline-nodes/trigger-node.md), it must be [deployed](/documentation/brigge-for-transformers/pipelines/pipeline-versions-and-deployments.md). And to deploy a pipeline, an `environment` must be selected. With this in mind, every Brigge implementation has two default environments: `Production` and `Testing`. Whichever of these you choose to use for deployments doesn't matter; the outcome is the same.&#x20;
{% endhint %}

## Configuring environments

All work with environments is completed from the [*Environments* page](#user-content-fn-1)[^1].

![](https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FkPvStPJRUjfINbdCFU4u%2FEnvironments%20page%20300426.svg?alt=media\&token=adbdd643-a9f2-4752-bf4a-1db6d00272ca)

This is where you define the things that vary between environments ([systems](#working-with-systems) and [variables](#environment-variables)), and then the actual [environments](#environments).&#x20;

### Environment variables

In the left panel, select the `variable definitions` option to access `systems` and `variables`. This is where you add and manage all resources that you need to use in environments. At this stage, you're not deciding *which* environments use these items; you're just making them available for selection later.

#### Systems

When a [system](/documentation/brigge-for-engineers/systems.md) variable is added, all [credentials](/documentation/brigge-for-engineers/credentials.md) for that system will be available for selection when you subsequently [add or edit your environments](#environments).&#x20;

{% hint style="info" %}
Start by checking the connector nodes in your pipelines. If the associated system credentials differ between contexts (environments), then you should add that system here.
{% endhint %}

<details>

<summary>Adding systems for use in environments</summary>

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td>Click the <code>create variable</code> option at the top of the <code>systems</code> panel:</td><td><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FsIVqMme3E7vdCfmgp1rn%2Fadd%20system%20a1.png?alt=media&amp;token=523a1838-9a73-498b-af64-e0154b304d15" alt="" data-size="original"></td><td></td><td><a href="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2Fhrid1zQv0jJwD7BcjyQT%2F1.png?alt=media&amp;token=d77d148f-3edd-4ce2-818d-2661589ddca1">1.png</a></td></tr><tr><td>Enter a <code>label</code>. This is displayed to users when configuring pipeline <a href="/documentation/brigge-for-transformers/pipelines/pipeline-nodes/connector-node.md">connector nodes</a>. Here, you'll notice that any systems added as environment variables are displayed in a separate section of the credentials list in connector nodes. For example:</td><td><p></p><p><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2F7ZxdfGEmSevXuDQ6kEC4%2Fenv%20variables%20in%20connector.png?alt=media&amp;token=15adee10-d728-4444-86c3-ab5bd19db475" alt="" data-size="original"></p></td><td></td><td><a href="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FGew3PCEuhNBXcDdAAxe3%2F2.png?alt=media&amp;token=eb411424-041a-4d75-a40a-a658565b0bab">2.png</a></td></tr><tr><td>Repeat for all systems that you want to make available in your environments.</td><td>When you've finished adding/updating systems and variables, save your changes:</td><td><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FfVYD8qfPg9bHOAGQxIKW%2Fsave%20env%20variables.png?alt=media&amp;token=56415ee9-1d7c-48d8-b29f-dbd59911c163" alt=""></td><td><a href="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FpIiLWQlfqGkRsKV7GHAF%2F3.png?alt=media&amp;token=c96eda08-d7cf-4790-a31b-3511e15969ae">3.png</a></td></tr></tbody></table>

</details>

<details>

<summary>Updating system details for environments</summary>

You can change the `label` and/or the associated `system` for a system variable. Note that:

* If the system `label` has already been applied to pipeline [connector](/documentation/brigge-for-transformers/pipelines/pipeline-nodes/connector-node.md) nodes, these nodes are updated automatically.&#x20;
* If this system is already [configured in environments](#environments), they are updated automatically.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td>Click the edit (pencil) icon associated with the system you want to update. For example:</td><td><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2Fpe5DAnYaw7lu4SWxj7t5%2Fedit%20system%201.png?alt=media&amp;token=15614540-b084-444d-bc3a-fdf1af772729" alt=""></td><td><a href="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2Fhrid1zQv0jJwD7BcjyQT%2F1.png?alt=media&amp;token=d77d148f-3edd-4ce2-818d-2661589ddca1">1.png</a></td></tr><tr><td>Update <code>label</code> and/or the associated system as needed. For example:</td><td><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FIbaNQArkGIgjH9XrMC0q%2Fedit%20system%202.png?alt=media&amp;token=dba87e6d-6979-4153-a577-074e09d7a937" alt=""></td><td><a href="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FGew3PCEuhNBXcDdAAxe3%2F2.png?alt=media&amp;token=eb411424-041a-4d75-a40a-a658565b0bab">2.png</a></td></tr><tr><td>Save your changes.</td><td><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FckdPzUAeQUvaI8MIAUey%2Fedit%20system%203.png?alt=media&amp;token=b9975140-aa5f-4bd5-9052-9f09ab304a1d" alt=""></td><td><a href="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FpIiLWQlfqGkRsKV7GHAF%2F3.png?alt=media&amp;token=c96eda08-d7cf-4790-a31b-3511e15969ae">3.png</a></td></tr></tbody></table>

</details>

<details>

<summary>Removing systems from environments</summary>

Removing a system variable means:

* The credentials for this system are no longer available [when you configure environments](#environments).
* If credentials for this system were already [configured in environments](#environments), they are removed.
* If the system label has already been applied to pipeline [connector](/documentation/brigge-for-transformers/pipelines/pipeline-nodes/connector-node.md) nodes, the connection is removed, and the connector must be reconfigured.&#x20;

To do this, click the `delete` (trash) icon associated with the system you want to remove and then confirm this action when prompted:

<div align="left"><figure><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FbVOAiNsEC4csKYwlkFhC%2Fedit%20or%20remove%20system%20b.png?alt=media&amp;token=b6905b06-09bc-4e3a-8a9e-812fb5c53e87" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

#### Environment variables

Environment variables are a powerful way to define context-specific values for use across a range of pipeline steps. For example, you can [set a metadata value](/documentation/brigge-for-transformers/pipelines/pipeline-nodes/set-meta-node.md) to a resolved environment variable; define [routes](/documentation/brigge-for-transformers/pipelines/pipeline-nodes/route-node.md) based on environment variables, output environment variable values to a [set payload](/documentation/brigge-for-transformers/pipelines/pipeline-nodes/set-payload-node.md) step for onward processing, etc.&#x20;

<details>

<summary>Adding environment variables</summary>

Click the `create variable` option at the top of the `variables` panel:

<figure><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2Fng9WaDbWYm2tKe0pqCMi%2Fadd%20env%20variable%201a.png?alt=media&amp;token=702f63dc-00c7-4b70-9db6-05bb82f01a96" alt=""><figcaption></figcaption></figure>

Then, complete details for the variable (use the table below as a guide).&#x20;

<table><thead><tr><th width="228.6015625">Field</th><th>Summary</th></tr></thead><tbody><tr><td>Type</td><td>Use the dropdown selector to choose a data type for this variable. Standard data types are available, including <code>text</code>, <code>integer</code>, <code>date/time</code>, <code>boolean</code>, etc.</td></tr><tr><td>Label</td><td>The name displayed to users wherever this variable is displayed in the Brigge UI.</td></tr><tr><td>Key</td><td>A unique identifier used to reference this variable with <a href="/documentation/brigge-for-transformers/pipelines/pipeline-variables.md">variable syntax</a>.</td></tr><tr><td>Display Type</td><td><p>Determines how this variable is shown to users in the Brigge UI. Choose from:</p><ul><li><code>Form</code>. The variable is shown on the associated Brigge form in the standard way.</li><li><code>Advanced</code>. The variable is visible in a collapsed section (named <code>advanced</code>) on the associated Brigge form.</li><li><code>None</code>. The variable is hidden (typically used for variables used behind the scenes, where no user input is required).</li></ul></td></tr><tr><td>Default Value</td><td>Enter a static value to be used if the variable cannot be resolved.</td></tr><tr><td>Description</td><td>Enter descriptive text to provide additional context for this variable. </td></tr><tr><td>Secret</td><td>If resolved values are sensitive or confidential, toggle this option <code>on</code>. Secret variables are encrypted and, wherever surfaced in the Brigge UI, displayed as asterisks.</td></tr><tr><td>Required</td><td>If the variable value is required for the associated operation to succeed, toggle this option <code>on</code>.</td></tr></tbody></table>

If you need to change or remove an existing variable that's been added for environments, use the associated `edit` and `delete` icons:

<div align="left"><figure><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2F2ntqPYQHdGwJD5LQtMwJ%2Fedit%20or%20delete%20variable.png?alt=media&amp;token=1980f077-c8ab-4a9b-a7ac-f0f62e0c4946" alt="" width="485"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Updating environment variables</summary>

You can change any settings for an environment variable by clicking the associated edit (pencil) icon:

<figure><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2F8yimdf87dbc754BP0eyH%2Fupdate%20env%20variable%20.png?alt=media&amp;token=4fbbba79-4052-40da-82e5-46d41bdb5384" alt=""><figcaption></figcaption></figure>

If you update a variable that's already configured in environments, your changes are applied globally.

{% hint style="warning" %}
If you update a variable that is already in use, be sure to test that your changes have not had any unexpected consequences.&#x20;
{% endhint %}

</details>

<details>

<summary>Removing environment variables</summary>

If an environment variable is no longer used in any environments, you can remove it by clicking the associated delete (trash) icon:

<figure><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2F7yvc95MAn1ceowanOl4Q%2Fdelete%20env%20variable%20.png?alt=media&amp;token=c9e93b7e-8d92-43ea-b3be-f05ab7a1b954" alt=""><figcaption></figcaption></figure>

</details>

### Environments

Having defined [systems](#systems) and [variables](#variables), you are ready to configure the environments in which they are used. By default, `Testing` and `Production` environments are configured for Brigge implementations. You can edit these as needed or create new environments.

<details>

<summary>Creating an environment</summary>

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td>Click the plus (+) icon in the environments section of the left panel:</td><td><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FWCZEWptctGzx1pXOLV7Y%2Fcreate%20enviroment%201.png?alt=media&amp;token=932aa4f1-cd3e-481a-a913-e9fd4db22e1e" alt=""></td><td><a href="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2Fhrid1zQv0jJwD7BcjyQT%2F1.png?alt=media&amp;token=d77d148f-3edd-4ce2-818d-2661589ddca1">1.png</a></td></tr><tr><td>Enter a name for this environment (as it should be displayed throughout the Brigge UI) and click <code>save</code>.</td><td><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FIV3RNWZhq2Wv3VWfhQMa%2Fcreate%20enviroment%202.png?alt=media&amp;token=b69fde5c-afa8-4a43-8651-e6dd09895082" alt=""></td><td><a href="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FGew3PCEuhNBXcDdAAxe3%2F2.png?alt=media&amp;token=eb411424-041a-4d75-a40a-a658565b0bab">2.png</a></td></tr><tr><td>All <a href="#systems">systems made available for use in environments</a> are displayed in the first panel. In each case, select the <a href="/documentation/brigge-for-engineers/credentials.md">credentials</a> to be used when pipelines run in this environment.</td><td><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FyxRgaIB3MTnVaSSZxfyW%2Fcreate%20enviroment%203.png?alt=media&amp;token=b5ad6143-858b-404e-8024-f09a217128bb" alt=""></td><td><a href="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FpIiLWQlfqGkRsKV7GHAF%2F3.png?alt=media&amp;token=c96eda08-d7cf-4790-a31b-3511e15969ae">3.png</a></td></tr><tr><td>All <a href="#environments">variables defined for use in environments</a> are displayed in the second panel. Add values to be applied when pipelines run in this environment.</td><td><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FNbylNCYD4thQ6MtdYLoE%2Fcreate%20enviroment%204.png?alt=media&amp;token=f2d5898f-4f5e-437d-823a-d0678624efa4" alt=""></td><td><a href="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FEi9PPSrBZedaFubkGNmq%2F4.png?alt=media&amp;token=59c50032-3164-4044-8a18-d8797159d872">4.png</a></td></tr><tr><td>Click <code>save</code> to confirm your settings. The environment is added to the left panel - for example:</td><td><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FmGTqVP5jFtVqpZtUtHUP%2Fcreate%20enviroment%204a.png?alt=media&amp;token=9c29a49e-c526-4e1d-950d-7e5eb1a4f7c8" alt=""></td><td><a href="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FEEzblBoaYGRl6hAbkFw9%2F5.png?alt=media&amp;token=a22d7ff8-286f-44b9-b919-9fa80bb8ac2a">5.png</a></td></tr><tr><td>This environment is now ready for use. When <a href="/documentation/brigge-for-transformers/pipelines/pipeline-versions-and-deployments.md">pipelines are deployed</a> to it, the defined system credentials and variables will be swapped in at runtime.</td><td><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2Fcqwr7O6jwnaABDgrhiK1%2Fcreate%20enviroment%206.png?alt=media&amp;token=8425518f-cdbf-4e70-bfae-fff7002d3b85" alt=""></td><td><a href="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FT6QyRUznGlKhOzb8wjUJ%2F6.png?alt=media&amp;token=8c6a1397-fdd1-464d-b428-ff0f4d63debf">6.png</a></td></tr></tbody></table>

</details>

<details>

<summary>Editing an environment</summary>

To edit environment settings, select the environment name in the left panel and update settings as needed. You can change:

* System credentials to be applied.
* Variable values.

{% hint style="info" %}
The environment name can't be changed. If you need a different name, you should [create a new environment](#creating-an-environment).
{% endhint %}

</details>

<details>

<summary>Deleting an environment</summary>

{% hint style="danger" %}
Deleted environments cannot be restored. This is a permanent action.
{% endhint %}

If an environment is no longer used or was created in error, you can delete it using the delete button at the bottom of the page:

<div align="left"><figure><img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FGbWiZDAQ7cbmdcprLOLr%2Fdelete%20env%201.png?alt=media&amp;token=a60f3d3a-c02c-4090-b147-fab13a5a8248" alt="" width="364"><figcaption></figcaption></figure></div>

{% hint style="info" %}
At least one environment must exist for pipeline deployments. You cannot delete the last remaining environment.
{% endhint %}

</details>

[^1]: **How do I get there?**\
    Select *environments* from the main navigation menu:<br>

    <img src="https://2172380191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8IqdqwZowcxtFpZfLa6k%2Fuploads%2FJD10Diy6wDGL6GbiOPmx%2Faccess%20environments%202.png?alt=media&amp;token=a1d10b1b-5135-4a3a-9dfe-38f615e61e2e" alt="" data-size="original">
