How to Add an Extension to the OroPlatform Marketplace

OroPlatform Marketplace is the place where developers can publish their extensions for the OroPlatform application and the customers can download them.

There are two types of extensions in the OroCRM Marketplace: free and paid. Free extensions are distributed directly from the Marketplace, whereas paid extensions must be purchased from the publisher’s website.

Package Preparation

Before you add an extension to the Marketplace, you have to prepare the package and upload it to a repository.

Paid extensions can be published anywhere. Their publishers are fully responsible for proper packaging, distribution and payment processing.

All free extensions can be published on any publicly available git repository (GitHub, BitBucket, etc.).

We strongly recommend to publish all releases with tags – this will allow our packagist application to pick up release notes, version history and contents of the file.

Every package must contain a composer.json file in the root catalogue. This file in turn must contain information about the application, its author and distribution license, as shown in the example below:

    "name": "oro/crm-application",
    "description": "The OroCRM distribution",
    "homepage": "",
    "license": "OSL-3.0"

We only accept extensions under OSL-3 or MIT licenses.

Adding an Extension

To be able to add an extension you have to be logged in to tho OroCRM Marketplace website. The Add Extension page can be reached via the user menu in the top right corner of the page or via link on the My Marketplace page.

The first thing you have to do is choose the extension type: paid or free.

Free extensions also require the repository URL. Click Next to proceed to the second step of adding an extension.

Free Extensions

If an extension package has been properly created according to our specification, most of extension information attributes will be automatically processed by our Packagist application and taken from GitHub, although you will still be able to edit them, if necessary.

Here is the list of fields and their sources:

  • Extension Key – taken from name in the composer.json file
  • Short Description – taken from description
  • Description – taken from the contents of on GitHub
  • Release Notes – taken from GitHub Release Notes (if tags are used)
  • Previous Versions – taken from version history on GitHub (if tags are used)

This means that you will only have to specify the Extension Name, choose the default image, and specify marketplaces and categories.

Once you publish the application, it will appear on My Marketplace page in Pending status.

The status will change once our administrator reviews the extension and approves it for the Marketplace.


Note that admin review is necessary only for the first publication. All subsequent changes will not require admin approval and will be published immediately.

You will be redirected to [title]. Would you like to continue?

Yes No