Manifest

Introduction

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

Schema

Property

Mandatory

Description

Type

Example

version

The plugin’s version (following the standard semver syntax)

string

"1.0.0"

categories

An array of categories. Categories must be one of Torii’s official categories.

string[]

Introduction

The manifest is

See the complete list of categories below.

callbackUrl

Required if the plugin is public

A URL to receive API requests related to the plugin (Visit the Operating a Plugin page for more information)

string

https://callbackurl.com

config

object

config.consent

An 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.description

Use 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.fields

At least one field is required if config.consent exists

A list of fields the user will need to fill in when they install the plugin. (Visit the Fields page for more information)

field[]

config.app

object

config.app.fields

At least one field is required if config.app exists

A list of application fields to be created upon the installation of the plugin (See this help article for more information)

config.widgets

A 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.