Skip to main content
Export an app to keep a copy, hand it to someone, or move it to another Dify instance or workspace. You get an app package, an .ifpkg file. Import an app package to create a new app from it, or to update one you already have, for example with a tested version that’s ready for production. To copy an app within the same workspace, choose Duplicate from the app’s menu instead.
Exporting and importing apps requires the Editor role or above.

Export an App

From the menu on an app or Agent’s card, or the top-left menu inside it, click Export App or Export Agent. For a Workflow, Chatflow, or new Agent, you export the current draft, including changes you haven’t published. To export a published version instead, open version history and choose Export App or Export Agent from that version’s menu. Other app types export their latest published configuration.

What the Export Leaves Behind

Everything that makes up the app comes along, except:
  • Used integrations (missing ones can all be installed in one click on import)
  • Linked knowledge bases
  • Workflow, Swagger API, and MCP tools
  • Persistent files in an Agent’s file system, such as programs it installed in Build mode
  • Service API keys
  • Model and tool credentials
  • Logs and annotations
  • Past versions
  • Subscriptions for integration triggers

Choose Whether to Export Secret Values

When you export a Workflow or Chatflow that has Secret-type environment variables, you can choose whether to include their values.
Exports from version history never include secret values.
To include the values, turn on Export secret values. They’re written into the app package as plain text, so anyone who has it can read them. Do this only for an app package you’ll guard as closely as the secrets themselves. If you leave the values out, those variables arrive empty, and whoever imports the app fills them in.

Create a New App via Import

In Studio or Agents, click Create > Import App. This always creates a new app, with its own web app URL, and leaves your existing apps as they are. To import into a Workflow or Chatflow you already have and keep its web app URL and API keys, update it instead. After importing, set up anything the new app needs that the export leaves behind.

Update an Existing App via Import

Inside the Workflow or Chatflow, click Import App from the app’s top-left menu or the canvas right-click menu. The app package must be a Workflow or Chatflow export with nodes your app can use: a Workflow can’t take Answer nodes, and a Chatflow can’t take Output or trigger nodes. The import replaces your draft, and the app’s name, description, and icon. It’s still the same app, with the same logs, annotations, API keys, and web app and MCP server URLs. Your users keep getting the published version until you publish the updated draft. If the app package came without secret values, fill them in again before you publish.
Web app settings of the imported app, such as title, icon, and theme colors, reach your live web app as soon as you import, without publishing.Before importing, make sure the web app settings of the imported app are set to what your users should see.
On Dify Enterprise, you can run an app in separate environments, such as staging and production, to test a new version in one while your users stay on a stable version in another. Contact sales to learn more.

Import into an Earlier Dify Version

App packages (.ifpkg) import only into Dify 1.18.0 and later. To bring the app into an earlier Dify version, extract the package (it’s a ZIP file) and import the app.yaml DSL file inside on its own. Some configurations like web app settings and uploaded icons don’t carry over, so check and set them again after importing.
A workflow that uses the new Agent node imports only into Dify 1.18.0 or later.
Last modified on October 23, 2026