> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ingestly.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflow environments

> Build and test in Development, then copy a saved graph to a separate Production workflow.

Every workflow belongs to either the **Development** or **Production** environment. The environments let you build and test safely without changing the live workflow that processes production documents.

## Environments

| Environment     | Purpose                                                      |
| --------------- | ------------------------------------------------------------ |
| **Development** | Build, iterate on, and test workflows                        |
| **Production**  | Process live documents with reviewed workflow configurations |

Workflows that represent the same process in different environments are linked as siblings. Each sibling keeps its own documents, runs, activation state, and version history. Editing one sibling never changes the other until you copy the saved graph between them.

<Note>The environment also sets the default run mode in the editor: a Development workflow defaults to a [Dry run](/guides/test-mode), and a Production workflow defaults to a Live run. You can still choose the mode for each run.</Note>

## Copy to another environment

Open the workflow editor toolbar's **More actions** menu and select **Copy to Production** or **Copy to Development**. The action names the environment that will receive the graph.

A copy:

1. Copies the **last saved** graph onto the linked workflow in the target environment. Ingestly creates that sibling if it does not exist yet.
2. Writes a new version on the target workflow. When the target already has a graph, Ingestly also snapshots it before replacing it so you can restore it later.
3. Leaves a newly created sibling **paused**, so you can review and activate it deliberately before it processes documents.
4. Keeps you in your current environment on the workflow you copied from. The confirmation offers **Open**, which switches the environment selector to the target environment and opens the copied workflow.

You can copy in either direction. Copy from Development to Production to release a reviewed graph. Copy from Production to Development when you want to restore Development to a known-good production graph.

<Warning>Copying uses the **last saved version**, not your current draft. If you have unsaved changes, save first to include them. The copy replaces the target environment's current graph with a new version.</Warning>

### Environment badge

The editor toolbar shows an environment badge: a neutral badge for **Development** and an amber badge for **Production**, so edits to the live copy are visually flagged.

## Connector readiness

A copy is blocked when the graph references a [connector](/admin/connectors) that has no **Connected** profile in the target environment. Each connector keeps separate Development and Production credentials, so every referenced connector must be ready where the copied graph will run.

When a copy is blocked, the dialog stays open and names the connectors that are not ready. Click the connector settings link, connect each target-environment profile, then retry the copy. Nothing is created or changed while the copy is blocked.

## Forward targets

A Forward node points to another workflow. During a cross-environment copy, Ingestly rewrites that reference to the target workflow's sibling in the destination environment.

The copy is blocked when a Forward target has no sibling in the destination environment. Copy each named Forward target into that environment first, then retry the original copy.

## Switch environments

Use the environment switcher in the app header to select **Development** or **Production**. Workflow lists, documents, runs, and other environment-scoped views show resources from the selected environment.

New workflows are created in the environment currently selected in the header. Switch to the intended environment before you create one.

## Related

<CardGroup cols={2}>
  <Card title="Managing workflows" icon="browser" href="/workflows/managing">
    Create, organize, and configure workflows
  </Card>

  <Card title="Workflow editor" icon="diagram-project" href="/workflows/editor">
    Copy a saved graph from the editor toolbar
  </Card>

  <Card title="Connectors" icon="plug" href="/admin/connectors">
    Configure Development and Production credential profiles
  </Card>

  <Card title="Dry runs" icon="flask" href="/guides/test-mode">
    Choose Dry run or Live run for each run
  </Card>
</CardGroup>
