Creating a manifest.json file

All custom integrations must have a manifest.json file. This is a JSON file that configures some of the integration's key attributes, such as its ID, name, and features.

This topic explains how to create a manifest.json file.

Step 1: Create a JSON file

To begin, create a JSON file:

touch manifest.json > {}

Then open this file in a text editor:

{}

Step 2: Generate a GUID

FL0 uses Global Unique Identifiers (GUIDs) to distinguish between integrations. You need to generate a GUID yourself and include it in the manifest.json file.

To generate a GUID, use guidgenerator.com (or any similar tool).

Then, in the manifest.json file, create an id property that contains the GUID:

{
  "id": "14b250df-0e66-4943-be31-23b7800b55a7"
}

Step 3: Add the required properties

At a minimum, a manifest.json file must have the following properties:

  • id
  • name
  • description
  • version
  • iconFile
  • bannerFiles
  • features

This is an example of a (very simple) manifest:

{
  "id": "14b250df-0e66-4943-be31-23b7800b55a7",
  "name": "Hello World",
  "description": "A simple example of a custom integration.",
  "version": "0.1",
  "iconFile": "icon.png",
  "bannerFiles": [],
  "features": {}
}

Step 4: Add features to the integration

An integration can support one or more features. It's these features that define the behavior of the integration.

You can configure an integration to support the following features:

To learn more about each feature, see the linked documentation.

To enable a feature, add it to the features object:

{
  "id": "14b250df-0e66-4943-be31-23b7800b55a7",
  "name": "Hello World",
  "description": "A simple example of a custom integration.",
  "version": "0.1",
  "iconFile": "icon.png",
  "bannerFiles": [],
  "features": {
    "installationValidation": {},
    "scaffolding": {},
    "flowActions": {}
  }
}

Integrations can support any combination of features. Once the features are configured, the actual logic is implemented via TypeScript files.