Extension Configuration

Summary

The Extension Configuration guide explains how to configure extensions using the plugin-manifest.json file. This file stores all required configuration information including service details, modules (widgets), and connector settings for third-party service integrations.

Overview

The plugin-manifest.json file is the central configuration file for your extension. It contains three main sections:

  1. Service
  2. Modules
  3. Connectors

Service Configuration

The service key defines the Zoho product for which the extension is created.

  • Default entry:"service": "WRITER"
  • This configuration is set automatically when creating a Writer extension
  • Identifies the target Zoho application and ensures compatibility with Writer-specific widgets and functions

Modules Configuration

Overview

Modules define the components and extensions available within your extension. The extension currently supports Widgets — embeddable UI elements for extending Writer functionality.

Widget Properties

PropertyTypeDescription
titleStringDisplay name of the widget (can be duplicated)
nameStringUnique identifier for the widget (must be unique)
iconURLIcon URL — store image in img folder
logoURLLogo image URL — store image in img folder
locationStringWidget placement location in Writer interface
urlURLPath to widget HTML file (relative or absolute)

Image File Requirements

  • Store all extension images in the img folder under app/
  • Include logo and icon images in this directory
  • Use relative paths in configuration

Multiple Widgets

  • An extension can contain multiple widgets
  • Each widget requires a unique name property
  • Multiple widgets can share the same location

Connectors Configuration

How Connectors Work

  • Connectors enable seamless integration between extensions and third-party services
  • Zoho Writer handles all third-party service authorization
  • Developers focus on extension functionality; Zoho manages OAuth and authentication flows

Types of Services

TypeDescription
Default ServicesPre-configured frequently-used services with quick setup and minimal configuration
Custom ServicesCreate your own third-party service connections with custom authentication methods

Connector Configuration Process

  1. Create connections in Sigma
  2. Copy the connection JSON from Sigma
  3. Paste JSON in plugin-manifest under the "connectors" attribute.

Best Practices

  1. Widget Naming: Use descriptive unique names for widgets
  2. Image Organization: Keep all images in the img folder
  3. Path Configuration: Use relative paths for consistency
  4. Documentation: Document custom services and their purposes
  5. Testing: Validate configuration before publishing

Related Pages

Notes

  • Note: Configuration files are validated during extension upload.
  • Warning: Invalid configuration will prevent the extension from running.
  • Note: Review Zoho Sigma documentation for the detailed JSON schema.

Widget Configuration Example

Copied{
  "modules": {
    "widgets": [
      {
        "title": "Widget Name",
        "name": "unique_widget_name",
        "icon": "img/widget-icon.png",
        "logo": "img/widget-logo.png",
        "location": "writer.extensions",
        "url": "writer-widget.html"
      }
    ]
  }
}

Sample plugin manifest JSON

Copied{
  "service": "WRITER",
  "modules": {
    "widgets": [
      {
        "title": "My Widget",
        "name": "my_widget",
        "icon": "img/icon.png",
        "logo": "img/logo.png",
        "location": "writer.extensions",
        "url": "writer-widget.html"
      }
    ]
  },
  "connectors": [
    {
      "connectionLinkName": "wcconnection",
      "connectionName": "wcconnection",
      "serviceName": "woocommerce",
      "userAccess": true,
      "isUserDefinedService": false,
      "sharedBy": "1234567"
    }
  ]