tenant-adminUpdated 2026-04-27

Export and Import a Project

What this covers

Project-level export captures an entire project as a single JSON file: every model, connection, LLM configuration, agent setup, cross-model recipe, and project setting. You can import this bundle to create a brand-new project in the same tenant (or a different one), or to replace an existing project wholesale. This is the recommended way to promote a project between environments (dev, UAT, prod) and to snapshot before destructive testing.

This article covers export options, the import workflow, how connections and credentials are handled, and what happens to materialized objects after import.

When to use project export vs model export

ScenarioUse
Move one model between projectsModel export
Promote an entire project (all models, config, connections) to another environmentProject export
Snapshot a project before running destructive automated testsProject export
Back up a single model before editingModel export
Clone a project within the same tenant under a different slugProject export in create mode

Before you start

Exporting a project

  1. In the Explorer sidebar, locate the project you want to export.
  2. Click the three-dot menu (kebab) next to the project name.
  3. Select Export Project.
  4. In the dialog, choose which sections to include:
SectionDefaultWhat it contains
ConnectionsOnConnection configs (host, port, database, etc.)
LLM ConfigurationsOnAI provider endpoints, model names, parameters
Agent ConfigurationOnAgent persona, judge rubrics, model contexts, webhook URL
Cross-Model RecipesOnMulti-model calculation recipes
Project SettingsOnAll key-value project settings
Access BindingsOffUser-role assignments for the project and its models
  1. Optionally check Include credentials (connections, API keys). When enabled, two passphrase fields appear. Enter and confirm a passphrase (minimum 8 characters). Credentials are encrypted with this passphrase using PBKDF2 key derivation and Fernet symmetric encryption. Without the passphrase, the encrypted data is unreadable.
  2. Click Export. The browser downloads a file named {slug}-export-{date}.json.

Models are always included regardless of section selection.

What is and is not in a project export

In the exportNot in the export
Project metadata (slug, display name, active flag)Source data, target data, query results
All models with full snapshots and version historyQuery logs, miss logs, alert history
Connection configurationsSystem-level and tenant-level settings
LLM provider configurationsMaterialized aggregate data
Agent configuration, rubrics, model contextsAgent conversation history
Cross-model recipesScheduler run history
Project settingsPocket table data
Access bindings (optional)
Credentials (optional, encrypted)

Importing a project

  1. In the Explorer, click Import Project in the header toolbar.
  2. Click Choose project export file (.json) and select the bundle.
  3. The dialog shows a summary: project name, model count, included sections, and whether credentials are present.
  4. If the bundle includes credentials, enter the passphrase used during export.
  5. Choose an import mode:

Create new project

Creates a fresh project. The slug defaults to the exported slug but can be overridden. If the slug already exists in the tenant, the import fails with an error asking you to choose a different slug or use replace mode.

Replace existing project

Deletes all existing content in the target project (models, connections, LLM configs, agent config, recipes, settings, access bindings) and restores everything from the bundle. The project slug must match an existing project. A confirmation dialog warns that this action cannot be undone.

  1. Optionally override slugs:
  1. Connection mapping: if the bundle includes connections, the dialog shows each exported connection with its type. Connections are resolved in this order:
  1. Optionally check Override existing connections with exported credentials to update credentials on mapped connections.
  1. Click Import.

After import

After a successful import, the dialog shows a summary with any warnings and required actions.

What resets on import

Why materialized objects reset

Aggregates and pockets are physical tables in the target database. The exported bundle contains their definitions (which measures, which dimensions, which refresh schedule) but not the data. Resetting their status tells the scheduler to rebuild them from scratch against the target's actual data connections.

Post-import checklist

  1. Review any warnings shown in the import result.
  2. For each model: open the Model Builder, verify the data source connections are correct, then Save and Deploy.
  3. If the project uses the conversational agent, verify the LLM configuration and re-test the agent.
  4. Run a manual refresh to trigger aggregate and pocket rebuilds.

Tips

Related articles