1. Flowlu
  2. Flowlu Help Center
  3. Marketplace App Development Guide
  4. App Manifest Reference

App Manifest Reference


The manifest file (manifest.json) defines an app's properties and its integration points with Flowlu. It describes how the app is identified, which permissions it requests, and where it's embedded in the interface.

Below is a simplified example of a manifest structure. The fields are explained underneath.

{
  "appId": "com.example.weather",             // Unique application identifier
  "name": "Weather Forecast",                // Application name
  "version": "1.0.0",                        // Application version (Major.Minor.Patch)
  "description": "Shows the weather in the selected city.",
  "author": {
    "name": "Example Inc.", 
    "contact": "[email protected]"
  },
  "iconUrl": "https://example.com/icon.png",  // Application icon URL
  "categories": ["Utilities"],               // Marketplace categories/sections
  "tags": ["weather", "forecast"],
  "permissions": [                           // Requested access rights
    "crm.contacts.read", 
    "tasks.create"
  ],
  "integrationPoints": {                     // Application integration points:
    "menu": {                                // -> item in the main menu
      "section": "CRM", 
      "title": "Weather Forecast",
      "icon": "https://example.com/menu_icon.png"
    },
    "dashboard": {                           // -> widget on the desktop (dashboard)
      "widgetTitle": "Weather Today",
      "size": "small"
    },
    "cards": [                               // -> widget in object cards (e.g., client)
      {
        "entity": "client", 
        "widgetTitle": "Weather in Client's Region"
      }
    ]
  },
  "entrypointURL": "https://app.example.com/",   // URL of the application's main web interface
  "webhookURL": "https://app.example.com/webhook", // (optional) URL for callbacks
  "apiEndpoints": {                             // (opt.) additional application API methods
    "getForecast": {
      "url": "https://app.example.com/api/forecast",
      "method": "GET"
    }
  },
  "configuration": {                            // (opt.) application settings schema
    "configSchema": {
      "type": "object",
      "properties": {
        "apiKey": { "type": "string", "title": "Weather service API key" }
      },
      "required": ["apiKey"]
    },
    "defaultConfig": {
      "apiKey": ""
    }
  },
  "platformVersion": "1.0"                     // Compatible Flowlu platform version
}

Key manifest fields

App identification

The appId, name, and version fields identify the app.

  • appId is a unique identifier or namespace, used internally and in references such as the app's URL.
  • version follows semantic versioning (SemVer) and is used to track updates.

Description and metadata

  • description is a short summary of what the app does.
  • categories and tags classify the app in the Marketplace catalog.
  • author holds the developer or company name and contact details

Icon and visual assets

The iconUrl field points to the app icon (PNG or SVG), shown in the Marketplace and wherever the app is integrated in the interface. Additional visual assets, such as screenshots or previews, can be defined for the catalog.

Permissions

The permissions field lists the access rights the app requests, naming which Flowlu modules or data it needs, such as reading CRM contacts or creating tasks.

An administrator approves every requested permission during installation, and the app installs only if all of them are confirmed. At runtime, Flowlu enforces these permissions strictly: any API request outside the approved scope is rejected automatically.

Integration points

The integrationPoints section defines where the app appears in the Flowlu interface. Each point is configured as a separate section in the manifest. Common ones include:

  • header: the top navigation bar
  • menu: the main navigation menu
  • tabs: a tab on entity pages, such as a CRM deal or a task
  • cards: a widget inside an entity card, such as a client profile

Additional supported points include reports (custom report types), dashboard (dashboard widgets), mobile (mobile app integrations), and contactCenter (communications module integration). The full list is in Supported Integration Points.

External service URLs

For apps that rely on an external web service, the manifest may include:

  • entrypointURL: the main URL of the app interface, loaded in an embedded iframe or a separate tab.
  • webhookURL: an optional URL the platform sends events to, such as installation and uninstallation notifications and CRM events.
  • apiEndpoints: an optional set of additional API methods the app itself provides. Flowlu can call these when needed, for example to retrieve data from the app.

Configuration settings

The configuration section is used when an app needs user-defined settings at installation.

  • configSchema is a JSON Schema describing the expected parameters. Flowlu uses it to generate a configuration form automatically during installation.
  • defaultConfig sets default values for those parameters.

This lets an app request the data it needs (such as an API key for an external service) and store it securely.

Manifest validation

    Keep the manifest small and easy for the platform to parse. When an app is uploaded, Flowlu validates the manifest against the current JSON schema, and rejects installation or publication if a required field is missing or wrongly formatted. Follow the manifest schema in the documentation and validate as you develop.

    Previous App Development Workflow
    Next Supported Integration Points