For an app to do something, it must have one or more extensions. An extension is what allows an app to hook into and extend the behavior of the Canva editor. For example, a publish extension adds a publish destination to the Publish menu.
You can think of an extension as a feature or a capability of your app.
Types of extensions
You can add the following types of extensions to an app:
Each type of extension — or extension points, as they’re also known — adds distinct behavior to your app and requires a different sequence of steps to get it up and running.
To learn more about each extension point, see the linked documentation.
You can add extensions to an app via the Developer Portal.
Developing the extension requires a combination of configuration, which is handled via the Developer Portal, and software engineering, which may require client-side development, server-side development, or a combination of the two.
The exact engineering requirements depend on the extension point and how it’s configured.
Supporting multiple extensions
Apps can have more than one extension. Typically, this feature is used to let users consume and publish content from a single app. For example, the Dropbox app has a content and a publish extension, which means the user can connect and authenticate with one app to get their content in or out of Canva.
There’s nothing stopping an app from offering other combinations of extensions, but apps can’t have more than one extension of the same type. For example, an app can’t have multiple content extensions. This is because each extension is surfaced in a certain part of the Canva editor and one app surfacing multiple extensions in the same place would be a confusing user experience.