Building Extensions #5: Configuration setup while building extensions - Part 1

Building Extensions #5: Configuration setup while building extensions - Part 1

This series aims to equip developers with all they need to build extensions for Zoho Desk in Zoho Sigma and publish them in Zoho Marketplace.
 
With our series of posts so far, we have introduced you to our development environment setup (Sigma) to build extensions and the steps needed to upload them in Zoho Marketplace. This post will brief you on the configuration settings that are necessary while building extensions for Zoho Desk.
 
Extensions can either add a new custom feature to Zoho Desk that suits your business needs or integrate a third-party application with Zoho Desk. You may also use the advanced features provided within Zoho Desk to weave and craft sophisticated apps for Zoho Desk.
 
Regardless of the type of extension you may build, configuration details play an important role in them. The information needed to set up the extension should be added as a part of the configuration while building an extension. The location to load the extension widget within Zoho Desk, the authorized communication between Zoho Desk and third-party applications, and all the other required information are configured in the plugin-manifest.json file that is stored in the extension project directory.

Plugin-manifest 

The plugin-manifest file is included in the extension project directory by default. It has various keys included in it, each serving a unique function for configuring the extension. Let's explore the purpose of the keys that are included in the plugin-manifest file.

{

  "locale": [

    "en"

  ],

  "service": "DESK",

  "storage": false,

  "type": "personal",

  "whiteListedDomains": [],

  "modules": {

    "widgets": [

      {

        "location": "desk.ticket.detail.rightpanel",

        "url": "/app/widget.html",

        "name": "Desk Extension",

        "logo": "/app/img/logo.png",

        "icon": "/app/img/icon.png"

      }

    ]

  },

  "zohoAuthorisation": {},

  "connectors": [],

  "config": [],

  "moduleSupport": false

      }

locale

The details regarding the languages supported by the extension have to be specified here. All translation files need to be stored in .json format inside the "translations" folder of the extension's project folder.

service

This key stores the name of the Zoho product for which the extension is created.

storage 

At times, there may be a need for you to store data and use it whenever needed in your extension. This can be accomplished by enabling data storage for your extension. Set the value to "true" to enable the feature. It is disabled by default.

whiteListedDomains 

When you build an extension that integrates Zoho Desk with a third-party application, you will be invoking APIs. The domain names of these APIs have to be authorized by Zoho Desk and whitelisted to ensure a secure data transfer between the two applications.
 
Only whitelisted domains can be used to make an API call. Requests for domains that are not included in this key will be blocked. If your extension does not include third-party service requests, this key is declared as an empty array.

widgets

The details regarding widgets created for the extension are added to this key. An extension can have multiple widgets and the details can be added here as an array of objects. The following are the parameters that construct a widget object:
 
  • location: The information about where to load a widget needs to be added here. All locations where the widget could be loaded are predefined.  
  • url: The path of the widget's html file can be added here, either as a relative path (for internally hosted extensions) or an absolute path (for externally hosted extensions).
  • name: Name of the extension (displayed in the extension header)
  • logo: Path of the extension's logo (displayed in the extension header)
  • icon: Path of the extension's icon (displayed only on the widget chat bar and subtab)
Our next post will continue with the authorization part of configuration.
 
Stay tuned!


<<Previous                                                                                                                                   Next>>

    Nederlandse Hulpbronnen


      • Recent Topics

      • Zoho API v2.0 - get ALL users from ALL projects

        Hello,        I've been trying to work on an automatization project lately and I find it difficult to work with this strict structure. To be more explicit, if i would like to get all users participating in a project i would need to get all projects first.       Same thing with projects. If i want to get all projects, I would need to get all portals first.        The problem with this aproach is that it consumes a lot of time and resources.             I want to ask if there is another way of getting
      • الموقع لا يقوم بالسداد

        السلام عليكم ورحمة الله وبركاته وبعد من أمس وانا احاول السداد للدومين YELLOWLIGHT ولا اتمكن من السداد اقوم بتعبئة جميع البيانات ولكن دون جدوى يطلع لى حدث خطأ ما
      • New in Office Integrator: Enhanced document navigation with captions and cross references

        Hi users, We're pleased to introduce captions, table of tables and figures, and cross-references in the document editor within Zoho Office Integrator. These features allow you to structure documents efficiently and simplify document navigation for your
      • Where Do I set 24h time format in Cliq?

        Where Do I set 24h time format? Thanks
      • 🎉 ¡Seguimos trayendo novedades a Español Zoho Community! 🎉 Confirmada la agenda y ubicación para los Workshops Certificados

        Si todavía no te has hecho con tu entrada para nuestros Workshops Certificados del próximo 26 y 27 de marzo o, por el contrario, estabas esperando que confirmáramos dónde los celebraremos, ¡este post es para ti! 📍¿Dónde nos vemos?📍 Nuestros Workshops
      • User is already present in another account error in assigning users to marketing automation

        Hello everyone Greeting, I had a problem in assigning user in marketing automation, when I try to add it I see this error: (User is already present in another account error) what should I do?
      • How do I get complete email addresses to show?

        I opened a free personal Zoho email account and am concerned that when I enter an email address in the "To", "CC", fields, it changes to a simple first name. This might work well for most people however I do need to see the actual email addresses showing
      • What's New in Zoho POS - January 2026

        Hello everyone, Welcome to Zoho POS’s monthly updates, where we share our latest feature updates, enhancements, events, and more. Let’s take a look at how January went. Sort and resolve conflicts Conflicts are issues that may arise when registers and
      • Outlook is blocking incoming mail

        Outlook is blocking all emails sent from the Zoho server. ERROR CODE :550 - 5.7.1 Unfortunately, messages from [136.143.169.51] weren't sent. Please contact your Internet service provider since part of their network is on our block list (S3150). It looks
      • Not receiving email from customers and suppliers

        I am getting error . most of the customers tell me not able to send me email please check i have attached screenshot
      • Create user

        Hello I want to create user, but i get this error Unusual activity detected from this IP. Please try again after some time.
      • File emails in Shared email folder

        Hi, I am unable to allow users to collaborate in Shared email folders: User 1 shares a folder let's say "SharedTopic" with full permissions Users 2 and 3 can see this folder but are unable to add emails to this folder or search in this folder. For example,
      • Consolidated report for multi-organisation

        I'm hoping to see this feature to be available but couldn't locate in anywhere in the trial version. Is this supported? The main aim to go to ERP is to have visibility of the multi-organisation in once place. I'm hopeful for this.
      • How to Switch from Outlook for Mac to Outlook for Windows

        The most often used file formats for users to manage crucial data are OLM and PST files. PST files keep a copy of data on the configured system from Outlook, while the OLM file contains the Mac Outlook data items, which are only accessible with Outlook
      • Name autocomplete

        Hi, During searching emails the web tool does not always propose the auto-completion of the saved emails. As a result I either have to go to contacts and look up the exact email, or the exact full name including the middle name and any dots, which is
      • Are custom portals accessible on the Zoho learn smartphone app?

        In other words, can users external to my organisation, once signed up, use the app in the same way as internal users? Thanks
      • How to increase my Zoho sign limit.

        I cannot send a document/contract for signature. Zoho sign says I reached my monthly limit. May I know how to fix this please? Thanks! 
      • Can not add m365 outlook account to zohomail.

        I am attempting to use zoho mail as an imap client to add my outlook.com m365 account. In the m365 exchange admin center i have made sure the imap is enabled. In zoho mail i go to settings, mail accounts, add account, add imap account, i select "outlook",
      • Unable to attach Work Order / Service Appointment PDF to Email Notifications (Zoho FSM)

        I’m trying to include the Work Order PDF or Service Appointment PDF as an attachment in Email Notifications (automation/notification templates), but I don’t see any option to attach these generated PDFs. Is this currently supported in Zoho FSM? If not,
      • local file csv import problem

        The issue occurs when I upload a CSV file via Databridge. In the preview, everything looks correct — the values are in the proper columns. However, after clicking Import, the first column becomes empty, and the values from that column appear in a new
      • Función Deshacer y Rehacer

        Hola. Soy un reciente usuario de Zoho Notebook que he migrado desde Evernote. He encontrado en falta una función que considero muy importante: un botón para "deshacer". Es frustrante cuando se borra un parte del texto o un archivo de una nota, generalmente
      • Tip #59- Technician Console: Exploring View option- 'Insider Insights'

        Hello Zoho Assist Community! Ever wondered how technicians adapt quickly during a live support session? Imagine a customer reaching out with an issue that’s disrupting their work. The technician starts a remote session and begins troubleshooting right
      • MRP or Manufacturing Module for Zoho

        We have been searching for options for a production planning or MRP that will integrate with Zoho.   Zoho Creator is pushed as a platform that can have an MRP built from scratch but we would like to find more of an out of the box solution and modify it to fit our needs.  Are there any recommendations? Would Zoho consider creating a custom solution in Creator to support this need?
      • encountering an error when attempting to associate an email with a Deal using the Zoho CRM extension in Zoho Mail.

        When I click "Yes, associate," the system displays an "Oops!! Something went wrong" error message. I have attached a screenshot of the issue for reference.
      • Can 1 Zoho CRM instance sync with 2 Zoho Marketing Automation instances?

        Can 1 Zoho CRM instance sync with 2 Zoho Marketing Automation instances?
      • Can I add Conditional merge tags on my Templates?

        Hi I was wondering if I can use Conditional Mail Merge tags inside my Email templates/Quotes etc within the CRM? In spanish and in our business we use gender and academic degree salutations , ie: Dr., Dra., Sr., Srta., so the beginning of an email / letter
      • Zoho mail account ownership transfer

        We recently took over another company and have assumed responsibility for its Zoho account, including Zoho Mail and all related services. We would like to formally transfer ownership of this account to our organization. Could you please outline the complete
      • Email Authentication is Failing

        I'm trying to setup gitlab with email authentication. I used the following configs picked up from: https://docs.gitlab.com/omnibus/settings/smtp/ gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.zoho.com" gitlab_rails['smtp_port']
      • DMARC reports for mail I didn't send: how to deal with?

        I know the enthusiastic amateur's bare minimum about e-mail; am able to set up a Thunderbird account and know the basic acronyms. I have a Zoho Mail account connected to my domain, and have set up SPF, DMARC and DKIM successfully according to Zoho's instruction
      • ms

        Email set up for communication
      • Fix the speed

        It takes ages to load on every step even though my dataset is quite small.
      • Capture Bank Charges for Invoice Payments

        We've added the Bank Charges field in the "Add Payments" page both in Zoho Invoice & Zoho Books. So all you need to do is to enter the bank charges when you record a payment for the invoices. This bank charge will be included to the amount paid for that invoice. Steps to add the bank charges while you record the payment:       1. Click the "Invoices" sub-tab under the "Money-In" tab.       2. Click the 'add payment' link for the invoice that you wish to record the payment for.       3. On the add
      • Image field in custom module

        Hi guy, Is there any hope of adding a custom image field in the custom module? We created a custom module to keep track of assets, and it would be helpful if we could attach an image to the record. Thanks Rudy
      • Deluge Function to Update Custom Field

        I'm trying to get a Deluge function (which will run as part of a Schedule in Desk) that retrieves all tickets with the status "Recurring" and updates the custom field checkbox "cf_recurring" to "true". Here's what I have, which doesn't work: searchValue
      • "View ticket" link is broken

        The "View ticket" link in our Zoho ticketing system confirmation emails is broken (please see attached). Impacts ability to update/review details, and, refresh recollection at a later date. Any help would be much appreciated.
      • import data from Apollo.ai into zoho crm via zoho flow

        I might be asking this question in the wrong forum. We use Apollo.ai to find potential new leads for our business, there are around 10000 leads that we have initially found. We have an Apollo.ai account but just to do searches, we dont use it as a crm.
      • Woocommerce Line Item Information

        I'd like to add each line item from a Woocommerce order to a zoho creator form record. The line items are found within the line items array, but I'm not sure how to get each item out of the array? Any help would be much appreciated.
      • Synching changes to Stripe when changes are made in Zoho Billing

        We have a situation where we have merged customers in Zoho BIlling and then found out later that the payment in Stripe was not updated and still associated with the old customer record. The card gets updated and billed, but that payment is still associated
      • How do I fix this? Unable to send message; Reason:554 5.1.8 Email Outgoing Blocked.

        How do I fix this? Unable to send message; Reason:554 5.1.8 Email Outgoing Blocked.
      • Disable Smart Filters By Default

        The smart filters "feature" is causing confusion for Zoho Mail users. New emails should be delivered to the inbox unless they have specifically opted to redirect them somewhere else. People don't understand that new emails might be waiting in a random
      • Next Page