Try this API
Call this method on live data to see the API request and response. Need help with the API Explorer?
Request parameters
You have invalid or missing required parameter values above.
Execute
Orchestly Developers

Configuration

Extensions need to be configured before they are hosted on Zoho Marketplace. Here is a brief introduction on the entities that require your attention.

  • The plugin-manifest.json file: This JSON file is a part of project template directory, created while building the extension. The JSON parameters have to be configured with the extension details before they are hosted. Learn more...
  • Connectors: Widgets can establish an external third-party connection using connectors. Developers can configure this parameter to interact with third-party services. Learn more...
  • Locations: These are the different product locations where your widgets can be placed. Developers can pick a relevant location from a list. We currently support 7 locations. Learn more...

Once all the details are configured, the extension is ready to be hosted on Zoho Marketplace.

plugin-manifest.json

This file holds the configuration details of extensions. Let's see how to define the keys:

locale

The language the extension supports.

Currently, we support only English ("en").

Key Type Value
locale* JSONArray en

service

The product for which the extension is created.

Here, the product will be "ORCHESTLY".

Key Type Value
service* String ORCHESTLY

storage

Enable or disable data storage for the extension.

By default, the value will be false.

Key Type Value
Storage* Boolean
  • true
  • false

whiteListedDomains

If your extension requires third-party services, mention the specific domain addresses here. The domains listed here can be accessed from the extension while making API calls. Other domains will not be supported.

The array can be left empty if the extension does not require a third-party access.

Key Type
whiteListedDomains* Array

modules

Modules of the extension. Currently, we support widgets.

Key Type Value
modules* JSONObject Example:

"widgets": [ 
{ 
"location": "job.detail.rightpanel", 
"url": "/app/orchestly-app.html", 
"name": "ORCHESTLY Extension", 
"logo": "/app/images/orchestly_icon.svg",
"icon": "/app/images/orchestly_icon.svg" 
} 
]

widgets

Details about widgets used in the extension are captured here. It holds an array of objects.

More than one widget can be created for an extension.

Key Type Object Details
widgets JSONArray Key Type Description Value
name String Name of the widget.
location String Location in the product where the extension's widget has to be rendered.
Note:
The location must be unique.
  • job.detail.rightpanel
  • job.detail.attachment.popup
  • job.detail.bottompanel
  • job.detail.during.popup
  • extension.settings
  • job.detail.comment.popup
  • blueprint.detail.duringtab
url URL Path of the file that loads the widget.
  • For internally hosted extensions, mention a relative URL of the extension.
  • For externally hosted extensions, mention the absolute URL of the extension.
name String Name of the widget.
logo URL Logo of the widget.
icon URL Icon depecting the widget.

connectors

Third-party authentication and integration can prove to be challenging. Connecting with an external OAuth provider, managing tokens and handling the right API calls will consume a lot of your time.

To make integrations simple and authorizations easy, we support connectors. Connectors is a built-in Zoho service used for authenticating third-party services using OAuth 2.0 protocol. Authorization of this third-party service is handled by the product.

You can readily establish a connection with a third-party service, if the service has already been configured.
Click here to know the list of available services.
Learn how to add a new service.

Note: Only one third-party service can be connected to an extension.

Key Type Object Details
connectors JSONArray Key Type Description Value
connectionLinkName String Link name generated for the third-party service connection Enter the value of connectionLinkName generated as JSON while establishing the connection.
connectionName String Name of the connection Enter the value of connectionName generated as JSON while establishing the connection.
serviceName String Name of the third-party service Enter the value of serviceName generated as JSON while establishing the connection.
UserDefinedService Boolean Is the connection established with a custom service?
scope JSONArray Access privilege of the user/admin.
userAccess Boolean Authorization can be performed,
  • as a one time setup by the organization's administrator.
  • as an individual setup by each user of the organization.
  • Mention 'False' if authorization has to be performed by administrator.
  • Mention 'True' if authorization has to be performed by every user in the org.

config

Config allows the developers to build customized fields to get inputs from the user while installing an extension. Any additional inputs required to operate the extension, like web address or third-party domain, can be obtained using the parameter.

Here is a sample snippet to configure this parameter,


"config": [{
          
          "name" : "Text Box",
          "type" : "text",
          "userdefined" : true,
          "secure" : false,
          "mandatory" : true,
  "placeholder" : "Enter text here"
            },

 {
          "name" : "Email",
          "type" : "email",
          "userdefined" : true,
          "secure" : false,
          "mandatory" : true,
        "default" : "helenc@zylker.com"
            },


	{
          "name" : "Password",
          "type" : "password",
          "userdefined" : true,
          "secure" : false,
          "mandatory" : true
            },
 {
          "name" : "Checkbox",
          "type" : "checkbox",
          "userdefined" : true,
          "secure" : false,
          "mandatory" : true,
          "default" : true
            },

 {
          "name" : "Radio Button",
          "type" : "radio",
          "userdefined" : true,
          "secure" : false,
          "mandatory" : true,
          "values" : [{
          "label" : "Option 1",
          "value" : "valueRadio1" 
		},{
      "label" : "Option 2",
      "value" : "valueRadio2"
		}]
            },
	
	{"name" : "Dropdown",
          "type" : "select",
          "userdefined" : true,
          "secure" : false,
          "mandatory" : true,
          "values" : [{
                        "label" : "Option 1",
                        "value" : "valueselect1"
                },{
                        "label" : "Option 2",
                        "value" : "valueselect2"
                }]      
            },

	{
          "name" : "Number",
          "type" : "number",
          "userdefined" : true,
          "secure" : false,
          "mandatory" : true,
          "default" : "1"
            },
{
          "name" : "Multi Line text box",
          "type" : "multiline",
          "userdefined" : true,
          "secure" : false,
          "mandatory" : true,
          "default" : "You can enter multi line text in this field." 
            }  

		]

The above configuration will be displayed in the Application Configuration tab while installing the extension.

Key Type Object Details
config(optional) JSONArray Key Type Description Value
name* String Name of the parameter The name should be unique.
type* String Data type of the parameter
  • 'text'
  • 'email'
  • password'
  • 'checkbox'
  • 'radio button'
  • 'number'
  • 'multiline'
  • 'dropdown'
userdefined Boolean
Type 'true' if the field has to be filled in by the user.
Type 'false' to hide the field from the user.
Note: If the field is hidden, it cannot be mandatory.
  • true
  • false
secure* Boolean Setting this to "true" prevents the developer from accessing this configuration from the extension.
  • true
  • false
mandatory* Boolean Is the configuration mandatory?
  • true
  • false
default String Mention the default value of the field, if any.
placeholder String Enter a placeholder text for field.
value Array This parameter is used to mention the values to be listed in Radio button and Dropdown fields.
description Boolean A brief description of the configuration
Note:
This parameter is optional.