Working with multi-product apps

What is a multi-product app?

A multi-product app is an app that:

  • is designed to work in multiple Zendesk products but is packaged and submitted as one zip.
  • has a unique app id.
  • is installed separately into each product from the Apps Marketplace.
  • has separate app detail pages on the Apps Marketplace for each product.

What should I be aware of when building multi-product apps?

  • The customer needs to pay for each installation of the app in each product.
  • Don't assume that the app will be installed into all available products.
  • There is currently no link between app installations across products.

How do I specify separate Marketplace content and assets per product?

Structure your app in the following way:

Marketplace assets

In the assets folder, create a sub-folder for each product and then include your separate marketplace assets into these folders.

Before

- app
  |- assets
    |- logo.png
    |- logo-small.png
    |- screenshot-0.png
    |- screenshot-1.png
    |- screenshot-2.png
    |- main.js
    |- index.html
  |- translations
    |- en.json
  |- manifest.json

After

- app
  |- assets
    |- support
      |- logo.png
      |- logo-small.png
      |- screenshot-0.png
      |- screenshot-1.png
      |- screenshot-2.png
    |- chat
      |- logo.png
      |- logo-small.png
      |- screenshot-0.png
      |- screenshot-1.png
      |- screenshot-2.png
    |- main.js
    |- index.html
  |- translations
    |- en.json
  |- manifest.json
Marketplace content

Your en.json file also needs to be split into individual products, for example:

Before

{
  "app": {
    "name": "Zen tunes",
    "short_description": "Play the famous zen tunes in your Zendesk Support account.",
    "long_description": "Play the famous zen tunes in your Zendesk Support account and \n listen to the beats it has to offer.",
    "installation_instructions": "Simply click install."
  }
}

After

{
  "app": {
      "support": {
        "name": "Zen tunes for Zendesk Support",
        "short_description": "Play the famous zen tunes in your Zendesk Support account.",
        "long_description": "Play the famous zen tunes in your Zendesk Support account and \n listen to the beats it has to offer.",
        "installation_instructions": "Simply click install."
    },
      "chat": {
        "name": "Zen tunes for Zendesk Chat",
        "short_description": "Play the famous zen tunes in your Zendesk Chat account.",
        "long_description": "Play the famous zen tunes in your Zendesk Chat account and \n listen to the beats it has to offer.",
        "installation_instructions": "Simply click install."
    }
  }
}