# Package the Canvas App

Packaging is the first step in making your canvas app available for installation in another org.

To package the canvas app, follow one of these methods.

- If you used an external client app for your canvas app, [package the app using a second-generation managed package](/docs/platform/canvas-framework/guide/quick-start-package-canvas-app-eca.md). This is the recommended approach.

- If you used a connected app for your canvas app, [package the app using a first-generation managed package](/docs/platform/canvas-framework/guide/quick-start-package-canvas-app.md).

- **[Package the External Client App for Canvas](/docs/platform/canvas-framework/guide/quick-start-package-canvas-app-eca.md)**

  After you created the canvas app, tested it in the Canvas App Previewer, and deployed it to Heroku, you’re ready to package and distribute it.

- **[Package the Connected App for Canvas](/docs/platform/canvas-framework/guide/quick-start-package-canvas-app.md)**

  After you created the canvas app, tested it in the Canvas App Previewer, and deployed it to Heroku, you’re ready to package and distribute it.

- **[Upload the Canvas Connected App Package](/docs/platform/canvas-framework/guide/quick-start-publish-canvas-app.md)**

  Now that you packaged the canvas app, you’re ready to upload the package.

- **[Install the Canvas App](/docs/platform/canvas-framework/guide/quick-start-install-canvas-app.md)**

  Uploading the packaged canvas app creates the installation link. You can then use this link to install the canvas app in another org.
