Configure app manifest

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.

  • 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,

    1. Install the latest FDK version.
    2. Run fdk validate to migrate the app to the latest FDK version. As part of this process, the FDK updates the engines attribute.
    3. Retest the app.
  • whitelisted-domainsarray of stringRequired

    Valid only for apps built with platform version 2.2 .

    To make secure HTTP calls to third-party domains, apps must use the Request method. For the method to work, in manifest.json, the third-party domains must be listed as the whitelisted-domains. For more information, see the section on how to Configure the Request method.

    • If the requisite domains are not whitelisted, the fdk run command displays an error message This domain has not been whitelisted.
    • To use iparams to construct the whitelisted-domains values, use the following format:
      "whitelisted-domains": ["<%= iparam.url %>"]
    • Ensure that the whitelisted-domains array values:
      • Do not contain an IP address or multiple subdomains.
      • Do not contain the path to the resource.
      • Use HTTPS, if iparams are not used to construct the whitelisted-domains values.
      • Are not URLs to a localhost.

    This attribute is not a default attribute. If you are using an FDK version prior to 9.0.0 (platform version 2.2) and if you expect your app to make third-party HTTP calls, in manifest.json include this whitelisted-domains attribute and whitelist all the third-party domains with which the app can interact.