The Manifest File
Your manifest.json file is an indispensable part of your Showpad App. It's the control center for your app, containing
essential information about the files, resources, and components needed to build and run your Showpad App, such as:
- the schema and version to use,
- public information about the app, such as author and version,
- information for the definitions of the Extension Types to be created from your app.
Once you've completed development, your app is packaged into a
.showpad bundle. The manifest is the file that brings all of
the elements of your app together. In the following illustration, the Showpad App makes use of four extensions: two
Experience types (A & B), one
User Settings and one Admin Settings.

What you'll learn:
- The required and optional properties in
manifest.json - How to declare extension types and link them to your app's resources
- How to configure optional AppsDB shared stores
TL;DR
- Always required:
$schema,schema,appKey,name,version,description,developer, and at least one extension - Extension properties:
experienceTypes,adminSettings,userSettings,sharedSpaceExtensions,assetViewerExtensions,addContentExtensions - Data stores:
sharedStores(optional)
Structure
Your manifest.json file should follow this structure:
Example
This manifest.json example describes three extensions that can interact with Showpad's Slack integration.
{
"$schema": "https://schema.showpad.com/app/manifest.v2.json",
"schema": {
"type": "app-manifest",
"version": 2
},
"appKey": "com.showpad.app.slack",
"name": "Slack integration",
"version": "1.0.0",
"description": {
"short": "Slack Notifications",
"full": "Allows notifications to be sent to Slack"
},
"icon": "images/slack.svg",
"images": ["images/slack.jpeg"],
"developer": {
"name": "Acme Corp",
"websiteUrl": "https://example.com"
},
"userSettings": [
{
"extensionKey": "slack-settings",
"name": "Slack",
"description": "Settings for the Slack integration",
"resources": {
"folder": "slack"
}
}
],
"adminSettings": [
{
"extensionKey": "slack-admin-settings",
"name": "Slack Admin",
"description": "Admin settings for the Slack integration",
"resources": {
"folder": "slack-admin"
}
}
],
"experienceTypes": [
{
"extensionKey": "my-experience",
"name": "My Experience",
"description": "Some description",
"resources": {
"folder": "exp-files"
}
}
],
"sharedStores": [{ "id": "my-store" }]
}
Was this page helpful?