Marketplace Platform v2.3 deprecation:We’re continuing to improve the Marketplace Platform to deliver stronger security, better performance, and new capabilities. As part of this evolution, Marketplace Platform v2.3 will be deprecated. To learn the dates and next steps, see Migration guide.
You can use the manifest.json file (also called the app manifest) to specify,
- App start-up parameters - such as the platform version used to build the app, the node version used, and so on.
- App property parameters - such as the locations where the app is deployed, and so on.
When you use the fdk create command and generate the front-end app files, the app manifest generated contains default attributes. To configure the app manifest for your app, you can modify the attribute values, delete (non-mandatory) attributes that your app does not require, or add appropriate attributes.
After creating the front-end app files, to configure the app manifest, do one of the following:
- From the app’s root directory, navigate to manifest.json and manually configure the attributes. Or
- Use the fdk generate command to edit the default manifest.json.
App manifest attributes - description and how to configure them
- platform-versionstringRequired
Platform version you use to build the app. This value is auto-generated when you create the default app files by using the fdk create command.
When you build a new app, ensure that you are on the latest version of the platform . If you update your existing app that was built with an earlier platform version, ensure to move to the latest version of the platform. For migration steps, see Migration guide. - productobjectRequired
Associates a Freshworks product with the information that is necessary to render the app on the specified product.
- <product-name>objectRequired
Name of the product for which you are building the app. This value is auto-generated when you create the default app files by using the fdk create command.
- locationobjectRequired
Details of the location(s) on the product’s UI, where the app is rendered.
When you create the front-end app files by using the fdk create command, default values are populated in this attribute. When you build the app, replace the default values of this attribute with the location(s) pertaining to your app. An app can be rendered in multiple locations and inside this object, you can specify multiple placeholder locations.
For information on all available placeholder locations where your front-end app can be deployed, see Include placeholders for app deployment.- <placeholder-name>objectRequired
Name of the placeholder where the app is rendered.
When you build an app, replace the default placeholder name with the placeholder name pertaining to your app and enter the appropriate placeholder information in the child attributes.
For information on all available placeholder location names, see Include placeholders for app deployment.- urlstringRequired
Relative path from the app project directory to the template.html file based on which the UI component of the app is rendered. The contents of the template.html file are used to render the app in an IFrame at the specified placeholder location.
Default value: template.html (file in the app directory). When you build an app, you can modify the default url value and the name of the template.html file.
Caution:If you modify the template.html filename, ensure to specify the correct path and filename as the url value. - iconstringRequired
Relative path from the app project directory to an image file (in SVG format). The image is used as the app’s icon when the app is rendered on the UI. Ensure that the resolution of the image is 64 x 64 pixels.
Default value: icon.svg (file in the app directory). When you build an app, you can modify the default icon value.
Caution:If you store your app icon with a name other than icon.svg, ensure to specify the correct path and filename as the icon value.
- requestsobject
All configured request templates that the app code uses, for a product, in the following format.
Notes:"requests": { "<requestTemplateName>":{ "<option-name>": "<option-value>", "<option-name1>": "<option-value1>" … }, "<requestTemplateName1>": {} … }- <requestTemplateName> must be the same as that configured in config/requests.json.
- Possible values of <option-name> are maxAttempts, retryDelay, and isOAuth. If an option is specified in both manifest.json and config/requests.json, the option value specified in manifest.json takes precedence.
This attribute is not a default attribute. If you are using FDK version 9.0.0 or later, and if you expect your app to make third-party HTTP calls, in request.json, configure the necessary request templates and in manifest.json include this request attribute and list all the configured template names.
- scriptsobject
Contains the unit testing framework details.
- fdk-unit-teststring
Specifies the unit testing framework to be used when running tests for the app.
- enginesobject
Node.js and FDK versions that are used to build the app. When you create the front-end app files by using the fdk create command, this attribute value is auto-populated.
Creating an app: If you use FDK 7.0.0 or later versions to create an app, the engines attribute is available by default as part of the manifest.json file.
Migrating an app: If you have an existing app that is built using FDK 6.x.x or an earlier version, ensure to,- Install the latest FDK version.
- Run fdk validate to migrate the app to the latest FDK version. As part of this process, the FDK updates the engines attribute.
- Retest the app.
- nodestring
Node.js version on which the app is built (in case of new apps) or successfully validated (in case of apps built using FDK 6.x.x or earlier versions and migrated to the latest FDK).
- fdkstring
FDK version that is used to build, test, validate, and pack the app.
- appobject
Information pertaining to the app metrics, auto-generated when the app is created.
Note:Currently, this object is auto-generated only when the app uses any Freddy Copilot features.
- trackingIdstring
Identifier for the app.
- startTimestring
Timestamp of when the app was created, specified in the UTC format.