ovidens
Analytical Apps

Export and import an app

An analytical app can be downloaded as a single bundle file and imported into another workspace. Use it to move an app between workspaces, to hand a working setup to a colleague, or to keep an offline copy of a configuration you are happy with.

The bundle carries the app's configuration, not its data. That distinction is the thing worth understanding before you use it, so it is spelled out below.

Exporting

Open the app and choose Export app ("Download this app as a portable bundle"). A dialog asks what to call the file before it is written, filled in with the app's technical id and today's date. The name is yours to change; the .app-bundle.json ending is fixed, so a renamed bundle still imports.

Export always takes a published version. If the app has never been published there is nothing to export yet - publish it first. Any edits sitting in an open draft are not included; what you get is the last published state, so a bundle is always a coherent, complete configuration rather than a half-finished edit.

Exporting requires the App builder or Admin role on the app.

What travels in the bundle

  • The app itself - name, description, icon, and technical id.
  • The whole pipeline - every node with its full configuration: dataset nodes and their column definitions, SQL transforms with their queries, indicator-data bridges, and analytic-data imports.
  • The Visualisation canvas - the pages and every widget on them.
  • The knowledge base - the folder tree and the content of every page.
  • The app's skills - each skill's name, description, declared inputs, whether it is offered over MCP, and its full instruction text.

What does not

  • Your data. No dataset rows, no uploaded files, no indicator values. The imported app arrives with its structure in place and its inputs empty, ready for you to upload or connect the data on the new side.
  • History. Versions, pipeline runs and the audit trail stay with the original app. The imported app starts a fresh history of its own.
  • Anything workspace-specific. Members, permissions and AI privileges belong to the workspace, not the app.

Importing

On the Apps page, choose the import button (Import an app file) at the top right, or the one on the header of the space the app should go into (or Import app on the welcome screen of a workspace with no apps yet), and pick a bundle file; from the top right, Ovidens asks which space the app goes into when you may import into more than one. The app is created in that space with the configuration from the bundle, and you land on it ready to add data.

A few things to expect:

  • The app keeps the technical id from the bundle. If an app with that id already exists in this workspace the import is refused rather than overwriting anything - rename or remove the existing app first, or export from a differently-named one.
  • The import counts against your workspace's app limit, exactly like creating an app by hand.
  • A file that is not a valid bundle is rejected with a clear message and nothing is created.
  • Every import node in the file (analytic-app-data or indicator-data) must name an app of this workspace whose data you can read, and not one in a personal space. If one does not, the import is refused, naming those nodes, and nothing is created: remove them from the file, or ask for access to the apps they read from first. See who can change an app that imports another app.

Importing requires the App builder or Admin role on the workspace, or on the team space new apps are filed into.

What cannot be exported

The Audit Analytics app is not exportable. It is system-managed, its sources are reserved for the workspace's own audit archive, and every workspace already has one - there is nothing portable about it. See Audits.

A note on moving between workspaces

Because data does not travel, moving an app is a two-step job: import the bundle to get the structure, then load the data on the new side the same way you would for a new app - upload files into the dataset nodes, or point the indicator-data and analytic-data nodes at the apps they should read from in this workspace. Those connections refer to other apps by their technical id, so if the app you are importing reads from another app, that one needs to exist here, and be readable by you, before the import is accepted: import it first, under the same technical id.

Was this page helpful?

On this page