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

      Zoho Campaigns Resources


        • Desk Community Learning Series


        • Digest


        • Functions


        • Meetups


        • Kbase


        • Resources


        • Glossary


        • Desk Marketplace


        • MVP Corner


        • Word of the Day


        • Ask the Experts


          Zoho CRM Plus Resources

            Zoho Books Resources


              Zoho Subscriptions Resources

                Zoho Projects Resources


                  Zoho Sprints Resources


                    Zoho Orchestly Resources


                      Zoho Creator Resources


                        Zoho WorkDrive Resources



                          Zoho CRM Resources

                          • CRM Community Learning Series

                            CRM Community Learning Series


                          • Tips

                            Tips

                          • Functions

                            Functions

                          • Meetups

                            Meetups

                          • Kbase

                            Kbase

                          • Resources

                            Resources

                          • Digest

                            Digest

                          • CRM Marketplace

                            CRM Marketplace

                          • MVP Corner

                            MVP Corner




                            Zoho Writer Writer

                            Get Started. Write Away!

                            Writer is a powerful online word processor, designed for collaborative work.

                              Zoho CRM コンテンツ




                                ご検討中の方

                                  • Recent Topics

                                  • Links not functioning in Zoho mail

                                    Links that are included in emails I receive are not activating. Nothing at all happens when I click on them. I have researched FAQs and this forum to no avail. Any suggestions?
                                  • Zoho Mail iOS app update: Manage folders and tags

                                    Hello everyone! In the most recent version of the Zoho Mail iOS app, we have brought in support to manage(create, edit and delete) the folders and tags. Create folders Create Tags Edit/ Delete folder In addition to this, we have also brought in support
                                  • [Important announcement] Zoho Writer will mandate DKIM configuration for automation users

                                    Hi all, Effective Dec. 31, 2024, configuring DKIM for From addresses will be mandatory to send emails via Zoho Writer. DKIM configuration allows recipient email servers to identify your emails as valid and not spam. Emails sent from domains without DKIM
                                  • Showing the map along with mileage expense

                                    When you use the GPS to track mileage, it shows you the map of the actual path travelled. It would be very useful and practical to save that map with the mileage expense, so that when the report is created, it provides a map of each mileage expense associated
                                  • Link Purchase Order to Deal

                                    Zoho Books directly syncs with contacts, vendors and products in Zoho CRM including field mapping. Is there any way to associate vendor purchase orders with deals, so that we can calculate our profit margin for each deal with connected sales invoices
                                  • Extend the Image Choice Field

                                    Hi, The New Yes/No field is great for what it does, and the Image Choice Field is good but could be better with some functions from the Yes/No field. Take an example, rather than just Yes/No you want Yes/No/Maybe (Or more than 3 choices), but unlike the
                                  • Zoho Desk: Macro to assign Ticket to self

                                    Hello, We are using macros in Zoho Desk to set some fields and send a response. I would also like to assign the ticket to myself (or whoever applies the macro). I can only set a fixed agent in the macro, so I would have to create one for every agent.
                                  • Turn off Knowlege Base Follow options and Follower lists

                                    Is there a way to hide or turn off the option in the Knowledge Base for users to follow specific departments/categories/sections/articles? If not, is there a way to turn off the public list of followers for each of those things? Otherwise, customer names
                                  • New Feature: Audit Log in Zoho Bookings

                                    Greetings from the Zoho Bookings team! We’re excited to introduce Audit Log, a new feature designed to help you track all key actions related to your appointments. With Audit Log, you can maintain transparency, strengthen security, and ensure accountability.
                                  • Automated Task reminder

                                    First question: If a task does not have a reminder set, will it still send an email notification that the task is due today? If not, how can I set up an automated reminder to send the task owner an email that it is due on a certain date?
                                  • Zoho Support - contract notifications

                                    Hi, I have a few questions about using Zoho support. Is there a way to add custom contract notifications like (90 days before expiry send notification e-mail to agent and customer, then another 60 days before expiry and another 30 days.). And is it possible
                                  • Kaizen #230 - Smart Discount-Based Quote Approvals Using CRM Functions and Approval Process

                                    Hello everyone! Welcome back to the Kaizen series! Discount approvals are a standard part of sales governance. Most organizations need something like this: Discount % Required Action < 10% Auto-approve 10–19.99% Sales Manager approval ≥ 20% VP Sales approval
                                  • How to create a new Batch and update Stock via Inventory?

                                    Hi everyone, We are building an automation where a user enters batch details (Batch Number, Mfg Date, Expiry, and Quantity) into a Custom Module. I need this to trigger an API call to Zoho Inventory to: Create the new batch for the item. Increase the
                                  • OAuth2 Scope Error - Incorrectly defaulting to CRM instead of Analytics.

                                    Hello Zoho Team, I am trying to connect n8n to Zoho Analytics API V2 for a simple automation project. Despite using the correct Analytics-specific scopes, my OAuth handshake is failing with a CRM-related error. The Problem: The authorization screen shows:
                                  • Archive Option in Conversation View

                                    Hello, I have a suggestion\request to add an "Archive Thread" button in conversation view of Zoho Mail. The best suggestion I have is to put an "Archive Thread" button next to the "Label Entire Thread" button in conversation view. Most users don't just
                                  • Is it possible to create a meeting in Zoho Crm which automatically creates a Google Meet link?

                                    We are using Google's own "Zoho CRM for Google" integration and also Zoho's "Google Apps Sync" tools, but none of them provide us with the ability to create a meeting in Zoho CRM that then adds a Google Meet link into the meeting. Is this something that
                                  • Trigger a Workflow Function if an Attachment (Related List) has been added

                                    Hello, I have a Case Module with a related list which is Attachment. I want to trigger a workflow if I added an attachment. I've seen some topics about this in zoho community that was posted few months ago and based on the answers, there is no trigger
                                  • How can I link Products in a Deal Subform to the Products Module

                                    Hello, I have a pricing subform on our Deals page and use a lookup field to associate a product with each line. I want to be able to look at a product page within the Products module and see a list of the deals connected to that product. I have this working
                                  • Email Field Validation Incorrectly Rejects RFC-Compliant Addresses (Forward Slashes)

                                    I've encountered a validation issue with Zoho Creator's Email field that rejects RFC-compliant email addresses containing forward slashes, and I'm hoping the Zoho team can address this in a future update. The Issue When entering an email address containing
                                  • Call result pop up on call when call ends

                                    I’d like to be able to create a pop up that appears after a call has finished that allows me to select the Call Result. I'm using RingCentral. I have seen from a previous, now locked, thread on Zoho Cares that this capability has been implemented, but
                                  • ZOHO.CRM.UI.Record.open not working properly

                                    I have a Zoho CRM Widget and in it I have a block where it will open the blocks Meeting like below block.addEventListener("click", () => { ZOHO.CRM.UI.Record.open({ Entity: "Events", RecordID: meeting.id }).catch(err => { console.error("Open record failed:",
                                  • Payment system for donations management

                                    I manage an organization where we receive donations from payers. Hence, there is no need to first create invoices and then create payments received against the invoices. What are the recommended best practices to do this in ZohoBooks?
                                  • Recording the deducted TDS on advance received from Customer (Zoho Books India)

                                    Hi, How can we record the tds that has been deducted by my customer for the advance that he has paid to me. 1) My customer has paid Rs 10000 to me as advance (Rs 9800 as cash and deducted Rs 200 as TDS). I am not able to record the tds that has been deducted
                                  • Changing Account Type in Chart of Accounts

                                    Does anyone know how to change/edit the account type for an Account name in Chart of Accounts. Zoho will not let me do this for some reason
                                  • Bulk bank rule creatioin

                                    Hi team, I am exploring Option to create a multiple bank rule. Could please suggest the option to implement this?
                                  • Zoho books aide

                                    Bonjour, je rencontre un problème avec Zoho Books. J’ai effectué une demande de support via l’interface prévue à cet effet, mais je n’ai jamais de retour. Je ne reçois ni email de confirmation, ni information concernant la prise en charge de ma demande,
                                  • Smart Data, Smarter Contracts — Ensuring Consistency Between Metadata and Documents

                                    In contract management, data accuracy is not just a nice-to-have—it is essential. A single mismatch between what your system shows and what is written in the contract can ripple into approval delays, compliance risks, and broken trust in your data. Imagine
                                  • Join Zoho Meeting only via Web browser and not with Zoho Meeting App

                                    Dear Zoho team, according to the documentation [1], Zoho Meeting only offers web view for Chrome and Firefox on a desktop. For other browsers and devices, participants can only join a Zoho Meaning with the Zoho Meeting App installed. This is a big hurdle
                                  • CRM gets location smart with the all new Map View: visualize records, locate records within any radius, and more

                                    Hello all, We've introduced a new way to work with location data in Zoho CRM: the Map View. Instead of scrolling through endless lists, your records now appear as pins on a map. Built on top of the all-new address field and powered by Mappls (MapMyIndia),
                                  • Manage control over Microsoft Office 365 integrations with profile-based sync permissions

                                    Greetings all, Previously, all users in Zoho CRM had access to enable Microsoft integrations (Calendar, Contacts, and Tasks) in their accounts, regardless of their profile type. Users with administrator profiles can now manage profile-based permissions
                                  • inability to use different primary address on invoice per location

                                    my company operates in two different locations with different email address. The problems then is the inability to edit the primary to suite the invoice for the second location.
                                  • Analytics & Reporting Improvements + Export Bug

                                    Hello, I would like to raise several important product suggestions and issues regarding Zoho Expense: 1. Filter in Admin View → Analytics → Expense Details → Receipt Is it possible to add a filter that allows us to prioritize or sort reports that have
                                  • AI Search and Record Retrieval Inside Zoho Creator – Is This Possible?

                                    Is it possible to integrate an AI assistant into Zoho Creator that can intelligently search, retrieve, and analyze records within the application’s forms and reports? Can AI access and query existing Creator data securely using Deluge or APIs to provide
                                  • I have a requirement to integrate Zoho Books with Zoho Projects at both project and task levels.

                                    Currently, when i create transactions in Zoho Books (Expenses, Invoices, Bills), we can only map them at the project level. However, our requirement is to: Map records at both project and task levels Sync these transactions back to Zoho Projects under
                                  • Scheduled AU Data Center Database Version Upgrade for Zoho Forms

                                    Dear Zoho Forms' users, We would like to update you on a scheduled AU Data Center database version upgrade for Zoho Forms. Find the schedule below: Migration window: Sunday, 22nd February 2026 12.00 AM to 12.30 AM AEDT This migration is a part of our
                                  • Cannot get code to work with v2.mergeAndStore!

                                    Please can someone help me pass subform items into a repeating mail merge table row using v2.mergeAndStore? I have a mail merge template created in Writer and stored in Workdrive. This template is referenced by a custom CRM function which merges all of
                                  • Hotmail is blocking the zoho mail IP

                                    Greetings, Since last Tuesday (5 days ago today) I wrote to Zoho support and I still haven't received a single response (Ticket ID: 2056917). Is this how you treat people who pay for your email service? I am making this public so that those who want to
                                  • Zoho Bookings and Survey Integration through Flow

                                    I am trying to set up flows where once an appointment is marked as completed in Zoho Bookings, the applicable survey form would be sent to the customer. Problem is, I cannot customise flows wherein if Consultation A is completed, Survey Form A would be
                                  • Zoho CRM Community Digest - December 2025 | Part 2

                                    Hello Everyone! During the final weeks of December, Zoho CRM introduced updates that not only enhanced product capabilities but also offered deeper guidance through Kaizen posts. This section highlights what was released and shared in the last two weeks
                                  • CRUD actions for Resources via API

                                    Hello, is it possible to perform CRUD actions through the API for Resources? We want to create a sync from Zoho CRM Car record to Bookings resources to create availabilities for Car bookings. For Test drives, not only the sales person needs to be available,
                                  • Next Page