Links
Comment on page

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. 1.
    Create the manifest file that your application requires.
  2. 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.
bundle.json - Developer Mode
{
"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.
bundle.json via UI
bundle.json via API
{
"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-----"
}
{
"applicationInfo": {
"appId": "my-test-app",
"name": "my-test-app-update",
"appUrl": "https://joe.mydomain.com",
"domain": "mydomain.com",
"publisher": "Updated Joe Smith"
},
"description": "updating an app",
"allowOrigins": "mydomain.com",
"iconUrl": "https://symphony.myapplication.com/icon.png",
"permissions": [
"ACT_AS_USER",
"SEND_MESSAGES"
],
"cert": "certificate",
"authenticationKeys": {
"current": {
"key":"-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0....YOUR_NEW_KEY...cCAwEAAQ==\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 modified 2mo ago