Introduction

The manifest is where you define your plugin’s configuration per version.

Schema

PropertyMandatoryDescriptionTypeExample
versionThe plugin’s version (following the standard semver syntax)string"1.0.0"
categoriesAn array of categories. Categories must be one of Torii’s official categories.string[][”IT & Security”, “Productivity”]

See the complete list of categories below.
callbackUrlRequired if the plugin is publicA URL to receive API requests related to the plugin (Visit the Operating a Plugin page for more information)stringhttps://callbackurl.com
configobject
config.consentAn object describing how to install this plugin, as well as what information the user needs to input. This information is displayed within the plugin’s installation window.object
config.consent.descriptionUse this to give the user any valuable information on how to install your plugin, e.g. how to obtain the API key they need to insert, explain what each field is used for, etc.string
Supports markdown syntax
"Insert your API key, username and password"
config.consent.fieldsAt least one field is required if config.consent existsA list of fields the user will need to fill in when they install the plugin. (Visit the Fields page for more information)field[]
config.appobject
config.app.fieldsAt least one field is required if config.app existsA list of application fields to be created upon the installation of the plugin (See this help article for more information)
config.widgetsA list of widgets associated with the plugin. (Visit the Widgets page for more information)widget[]

Example

{
  "version": "1.0.0",
  "categories": ["Productivity"],
  "callbackUrl": "A_VALID_CALLBACK_URL",
  "config": {
    "consent": {
      "description": "Insert your username and password, and select one of the available app user statuses. The plugin will only fetch users who match the status you selected.",
      "fields": [
				{
					"name": "username",
					"type": "singleLine",
					"label": "Username",
					"placeholder": "YOUR USERNAME"
				},
				{
					"name": "password",
					"type": "singleLine",
					"label": "Password"
				},
        {
          "name": "status",
          "type": "dropdown",
          "label": "User Status",
          "options": [
            {
              "label": "Active",
              "value": "active"
            },
            {
              "label": "Deleted",
              "value": "deleted"
            }
          ]
        }
      ]
    },
    "app": {
      "fields": [
        {
          "key": "username",
          "type": "singleLine",
          "label": "Random application user"
        }
      ]
    },
    "widgets": [
      {
        "type": "KeyValue",
        "fields": [
          {
            "key": "app.username"
          }
        ]
      }
    ]
  }
}

Categories

  • Operations
  • Sales & Marketing
  • Developer Tools
  • Design
  • Project Management
  • Customer Success
  • Human Resource
  • IT & Security
  • Finance
  • Productivity
  • Analytics & BI
  • Other

What’s Next

Once you're done defining your plugin, it is time to learn how to operate it and interact with Torii.