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

# Import and Export

Membrane provides several ways to transfer workspace elements (integrations, actions, flows, field mappings, Data Tables, Data Syncs, data links, and custom connectors) between workspaces. This is commonly used to move configurations from development to production.

## What Gets Transferred

**Transferred:**

* Integration configurations (which connectors are used)
* Actions, flows, and field mappings
* Data Tables, Data Syncs, and data links
* Custom connector source code
* Element structure and relationships

**NOT transferred:**

* Integration parameters (clientId and secrets, OAuth configurations)
* Workspace settings
* Internal API definitions
* Connection credentials

## Console UI

The Console provides a visual interface for importing and exporting workspace elements:

1. Navigate to **Settings > Import/Export** in your workspace
2. **To Export**: Click the export button to download all workspace elements as a zip file
3. **To Import**: Upload the zip file to your target workspace using the import feature

This method is ideal for one-time transfers or manual migrations between workspaces.

## API

For programmatic or automated transfers, use the Membrane API:

**Export workspace elements:**

```bash theme={null}
curl -X GET "https://api.getmembrane.com/workspaces/export" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --output workspace-export.zip
```

See the [Export Workspace API Reference](/reference/management-api/workspace-migration/export-workspace) for details.

**Import workspace elements:**

```bash theme={null}
curl -X POST "https://api.getmembrane.com/workspaces/import" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@workspace-export.zip"
```

See the [Import Workspace API Reference](/reference/management-api/workspace-migration/import-workspace) for details.

This method is ideal for CI/CD pipelines, automated deployments, or custom tooling.

## CLI

[Membrane CLI](https://www.npmjs.com/package/@membranehq/cli) lets you pull and push workspace elements as YAML files, making it possible to version-control your integration configurations and use standard development workflows.

```shell theme={null}
npm install -g @membranehq/cli

# Pull workspace elements to local files
membrane pull

# Push local changes to workspace
membrane push
```

See the [Membrane CLI npm page](https://www.npmjs.com/package/@membranehq/cli) for full documentation on installation, configuration, and usage.

This method is ideal for local development, version control, and diff tracking.

## Comparison

| Method         | Best For                                | Pros                                                      | Cons                              |
| -------------- | --------------------------------------- | --------------------------------------------------------- | --------------------------------- |
| **Console UI** | One-time transfers, non-technical users | No setup required, visual interface                       | Manual process                    |
| **API**        | Automation, CI/CD pipelines             | Scriptable, integrates with existing tools                | Requires API authentication setup |
| **CLI**        | Local development, version control      | Full local workspace sync, diff tracking, IDE integration | Requires CLI installation         |
