Application Manifest Bundle

Each application's metadata is represented by a manifest file called bundle.json. You must create a manifest file for your application and submit it to either your pod administrator for internal apps, or Symphony for apps meant for the public marketplace.

To create and upload a file:

  1. Create the manifest file that your application requires.

  2. Upload the manifest file to Symphony: drag and drop the file into the application creation window of the administrative portal.

Application Manifest Bundle File Sample

The following bundle file is only applied for Developer Mode. Note that it is an array of apps, allowing you to load multiple apps at once.

{
  "applications": [
    {
      "type": "sandbox",
      "id": "hello",
      "name": "Hello World",
      "blurb": "This is a hello world app with a few example extension API invocations!",
      "publisher": "Symphony",
      "url": "https://localhost:4000/controller.html",
      "domain": "localhost",
      "icon": "https://localhost:4000/icon.png"
    }
  ]
}

AC Portal x Developer Mode

In the following examples, the bundle files are applied for the AC Portal. Note that they are different than the one applied for Developer Mode.

{
      "appGroupId": "testapplication",
      "name": "Application name",
      "description": "Enter the application description, as it will appear in the Symphony Market",
      "publisher": "Symphony",
      "loadUrl": "https://symphony.myapplication.com:4000/controller.html",
      "domain": ".myapplication.com",
      "iconUrl": "https://symphony.myapplication.com/icon.png",
      "notification": {
         "url": "https://symphony.myapplication.com:4000/podInfo",
         "apiKey": "super-secret-key" 
      },  
      "permissions": [
        "ACT_AS_USER",
        "GET_BASIC_CONTACT_INFO",
        "GET_PRESENCE"],
      "certificate": "-----BEGIN CERTIFICATE-----\nMIICpTCCAY2gAwIBAgIBATANBgkqhk...sCPV2jH\n0hFUK5JHPrGO\n-----END CERTIFICATE-----\n",
      "allowOrigins": "myapplication.com",
      "rsaKey": "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1QGTGazbI/\n-----END PUBLIC KEY-----"
    }

Fields details

The table describes the required and additional optional fields.

Field

Description

Required

Type

appGroupId

Applied for version 1.53 onwards. The unique identifier for your app. The ID must not match any existing app IDs or user names.

It consists of alphanumeric characters [0-9,A-Z, a-z], underscores (_), and dashes.

Note: Do not use a colon (:) in this field, or you will receive a 401 Unauthorized error.

Required

String

name

The name of your app, which will be displayed in the Symphony Market.

Required

String

description

The description of your app, which will be displayed in the Symphony Market.

Optional

String

publisher

The publisher of your app, which will be displayed in the Symphony Market.

Optional

String

loadUrl

The location of the app's controller, which will be displayed in a hidden iframe. Value must start with https://.

Note: Do not specify this value for On Behalf Of (OBO) applications.

Required, except for OBO applications

URI

domain

The domain for your app, which should match the controller file URL.

Required

URI

iconUrl

An icon for your app (32x32 px), which will be displayed in the Symphony Market.

Optional

URI

notification

Fields required in order to receive webhook callback containing pod information (ie. pod, authentication and Agent URLs).

Optional

Object

url

URL which the pod will call to send pod information to the application

Optional

String

apiKey

Secret key used to validate the pod when calling the notification URL.

Optional

String

permissions

List of permissions the application requires. See Permissions details for on-behalf-of applications.

Optional

List

certificate

Certificate for the application. See Application Authentication

Optional

String

rsaKey

Applied for version 1.54 onwards. RSA key for the application. See Application Authentication

Optional

String

allowOrigins

The origin or origins that this application is allowed to receive cross-domain requests from.

For more information, see the AllowedOrigin description in Cross-Origin Resource Sharing.

Optional

URI

type

Applied for 1.52 and prior versions.This field should be set to sandbox, which indicates that this is a standalone app, embedded within Symphony's client.

Required

String

id

Applied for 1.52 and prior versions. The unique identifier for your app. Note: Do not use a colon (:) in this field, or you will receive a 401 Unauthorized error.

Required

String

blurb

Applied for Developer Mode. Field for display in the Symphony Market and Admin Portal.

Optional

String

icon

Applied for Developer Mode. An icon for your app (32x32 px), which will be displayed in the Symphony Market.

Optional

String

Last updated