Building Extensions #12: Creating widgets with the JS SDK bundle in Zoho Desk - Config Params

Building Extensions #12: Creating widgets with the JS SDK bundle in Zoho Desk - Config Params

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.

In our previous post, we used Event APIs, along with the Data API and Request API, to create an extension that demonstrated how Event APIs can be used. In this post, we'll explain config params, and how we can put them to good use.

Config

The Config key is a part of the plugin-manifest file of an extension with configurable values. This key contains the installation parameters, commonly known as config parameters, which need to be configured when installing the extension. There are two types of config parameters:
  • userdefined (type1) - The value for the parameter should be provided by the user during installation
  • non-userdefined (type2) - The value for the parameter should be set dynamically from the extension, via the Set value for extension config variables API 
Below is the structure of the plugin-manifest file in which the config params are to be included as highlighted.

 
In the Config key of the plugin-manifest file, the below fields should be filled in as described here, as per your needs:
  • name: It is a unique name used to fetch the field values. In extension code, it is used to replace the values. This name should be given in lowercase, and no space is allowed.  
  • displayName: This name will be displayed as label of the field in UI.
    Note: If displayName is not given, then the value of the name will be considered as display name in UI.
  • description: It provides additional information about the field. Also, you can provide hyperlinks, as given in the above sample code structure.  
  • secure: True - values will be secured on the server side of the product and these values are hidden from the user; false - values will be available on the client side
  • type: Only "text" type is supported currently. Going forward, we support different types such as pick list, radio button, URL, Email, etc.
  • mandatory: Validate if the user enters values during installation
  • userdefined: True - input value is given by user
  • authType: It allows to get the params based on the user profile. Allowed values are org or personal.
    • org - If authType is given as org, then the fields of config params can be viewed only by the admin.
    • personal - If authType is given as personal, then the fields of config params can be viewed by all desk users
Note: Generally, the auth type is addressed globally with the key 'type' in plugin-manifest file. However, if you have a requirement to restrict the visibility of config params to specific users based on their role, this auth type is used by defining the values (org/personal) for each field in config params. While using this key, we should remove the 'type' in the plugin-manifest file.

Scenario

Now let's jump into the use case we're trying to implement. When an event change is triggered in Zoho Desk, we want a task to be created in Zoho Projects in a specific project mentioned by the user. While invoking the Zoho Projects Create task API, the ProjectID and PortalID of the user are required. In our example, we configure a config param in the plugin-manifest file to obtain the ProjectID from the user, and we use a request API to get the user's PortalID.

Obtaining ProjectID

By configuring the config param as given in the below code snippet, we make it mandatory for the user to provide the required project ID in the Configuration section while installing the extension:
 
          "config": [{"name":"ProjectID",
          "secure":false,
          "type":"text",
          "mandatory":true,
           "userdefined":true}]
 


The value provided by the user needs to be fetched and passed to the Zoho Projects Create task API. The extensions API then needs to be used to capture the config params value.
 
         ZOHODESK.get("extension.config").then(function(response){
            configData=response["extension.config"]; 
            for (let i = 0; i < configData.length; i++) { projectID=configData[i].value;
            //console.log(projectID);
         }

Obtaining PortalID

Now that we have the ProjectID, next we need to get the portal to which the project is associated. A request API can be used to get the PortalID.
 
(Note: In our example, we assume that the user has a single portal in Zoho Projects. If there are multiple portals it needs to be handled accordingly in your code.)


Creating task in Projects

Using the PortalID and ProjectID we've obtained, we invoke the Zoho Projects Create task API using the request API as given below:
 


In today's example, we've shown how to configure the config params in the plugin-manifest file, and how to get those param values and use them further in your extension using APIs. We hope you now have a clear picture on how to use config params in Zoho Desk.
 
Stay tuned for our next post, where we'll be discussing another SDK method!


      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

                                  • Why am I seeing deleted records in Zoho Analytics syncing with Zoho CRM?

                                    I have done a data sync between Zoho CRM and Zoho Analytics, and the recycle bin is empty. Why do I see deleted leads/deals/contacts in Zoho Analytics if it doesn't exist in Zoho CRM? How can I solve this problem? Thanks
                                  • Zoho Tables is now live in Australia & New Zealand!

                                    Hey everyone! We’ve got some great news to share — Zoho Tables is now officially available in the Australian Data Center serving users across Australia and New Zealand regions! Yes, it took us a bit longer to get here, but this version of Zoho Tables
                                  • Custom Fonts in Zoho CRM Template Builder

                                    Hi, I am currently creating a new template for our quotes using the Zoho CRM template builder. However, I noticed that there is no option to add custom fonts to the template builder. It would greatly enhance the flexibility and branding capabilities if
                                  • Introducing the Zoho Projects Learning Space

                                    Every product has its learning curve, and sometimes having a guided path makes the learning experience smoother. With that goal, we introduce a dedicated learning space for Zoho Projects, a platform where you can explore lessons, learn at your own pace,
                                  • All new Address Field in Zoho CRM: maintain structured and accurate address inputs

                                    The address field will be available exclusively for IN DC users. We'll keep you updated on the DC-specific rollout soon. It's currently available for all new sign-ups and for existing Zoho CRM orgs which are in the Professional edition. Latest update
                                  • Create PO from an invoice

                                    We are a hardware and software sales company which receives orders over the internet. We drop ship most of our products from a warehouse outside of our company. Our orders get sync'd into Zoho from our store via onesaas as invoices. It would be great
                                  • Import Function: ONLY update empty fields

                                    When setting up an import from a spreadsheet to CRM, there is a checkbox "Don't update empty values for existing contacts" (see screenshot below). While I see some limited benefit from this functionality, I think there should also be an "ONLY update empty
                                  • Collaboration with customers made easy with Zoom Meeting and Zoho Desk integration

                                    Hello everyone! We are happy to announce that you can now integrate your Zoho Desk account with Zoom Meeting. The integration bridges the gap between digital communication and human connection, empowering teams to deliver timely support when it matters
                                  • CRM Canvas - Upload Attachments

                                    I am in the process of changing my screens to Canvas.  On one screen, I have tabs with related lists, one of which is attachments.  There doesn't appear to be a way to upload documents though.  Am I missing something really obvious?  Does anyone have
                                  • TrueSync regularly filling up my local disk

                                    Seems that WorkDrive's TrueSync randomly starts filling up my local hard drive space. None of the folders have been set as "Make Offline" but still it seems to randomly start making file offline. The settings of the app is so minimal and is of no real
                                  • Kaizen #194 : Trigger Client Script via Custom buttons

                                    Hello everyone! Welcome back to another interesting and useful Kaizen post. We know that Client Scripts can be triggered with Canvas buttons and we discussed this with a use case in Kaizen#180. Today, let us discuss how to trigger Client Script when a
                                  • [Webinar] A recap of Zoho Writer in 2025

                                    Hi Zoho Writer users, We're excited to announce Zoho Writer's webinar for January 2026: A recap of Zoho Writer in 2025. This webinar will provide a recap of the features and enhancements we added in 2025 to enhance your productivity. Choose your preferred
                                  • Picklist field shows "none" as default

                                    Hello, Is there an option to avoid showing "none" as the default value in a picklist field? I also don't want to see any option displayed. My expectation is to have a blank bar, and then when I display the drop-down list, I can choose whichever I wa
                                  • Stage-probability mapping feature in custom module

                                    Hi, I'm building a custom module for manage projects. I would like to implement the stage-probability feature that Potentials has. Is this possible?
                                  • Create static subforms in Zoho CRM: streamline data entry with pre-defined values

                                    Last modified on (9 July, 2025): This feature was available in early access and is currently being rolled out to customers in phases. Currently available for users in the the AU, CA, and SA DCs. It will be enabled for the remaining DCs in the next couple
                                  • Field Description is very small

                                    Hello, The field Description in the activity is very small. Why don't try open a new window, or a bigger popup, or increase the width of the "popup". Example:
                                  • StatusIQ

                                    Please add StatusIQ to data sources. We using site24x7 and StatusIQ together and site24x7 integration is already there. Thanks and regards, Torsten
                                  • In Zoho People, the Operations buttons are frequently not visible or do not appear consistently.

                                    In Zoho People, the Operations buttons are frequently not visible or do not appear consistently. We request you to please investigate and address this issue, as it is affecting daily HR operations and user access.
                                  • Marketing Tip #14: Increase cart value with product bundles

                                    Bundling products is a great way to increase average order value while giving customers more convenience. Think “camera + tripod + memory card” or “soap + lotion + bath salts.” Bundles make shopping easier and feel like a better deal. It’s a win-win for
                                  • Problem with Workdrive folders

                                    I'm having a problem a problem accessing files in a Zoho work drive folder when using the Zoho writer app. The problem folder appears grayed out in the Zoho work drive window in both the online and writer application. However I can open the folder in
                                  • Sortie de Zoho TABLE ??

                                    Bonjour, Depuis bientôt 2 ans l'application zoho table est sortie en dehors de l'UE ? Depuis un an elle est annoncée en Europe Mais en vrai, c'est pour quand exactement ??
                                  • Add RTL and Hebrew Support for Candidate Portal (and Other Zoho Recruit Portals)

                                    Dear Zoho Recruit Team, I hope you're doing well. We would like to request the ability to set the Candidate Portal to be Right-to-Left (RTL) and in Hebrew, similar to the existing functionality for the Career Site. Currently, when we set the Career Site
                                  • Auto tracking URL generation based on Carrier

                                    Hi, While creating a shipment order for a package in Zoho Books, I have a requirement that for example, if the carrier is Delhivery and tracking number is 1234, then can automatically the tracking link/URL be generated as www.delhivery.com/1234. Similary,
                                  • Helper Functions and DRY principle

                                    Hello everyone, I believe Deluge should be able to use 'Helper functions' inside the main function. I know I can create different standalones, but this is not helpful and confusing. I don't want 10000 different standalones, and I dont want to have to
                                  • Pre-orders at Zoho Commerce

                                    We plan to have regular producs that are avaliable for purchase now and we plan to have products that will be avaliable in 2-4 weeks. How we can take the pre-orders for these products? We need to take the money for the product now, but the delivery will
                                  • Customer ticket creation via Microsoft Teams

                                    Hi all, I'm looking to see if someone could point me in the right direction. I'd love to make it so my customers/ end users can make tickets, see responses and respond within microsoft teams. As Admin and an Agent i've installed the zoho assist app within
                                  • Zoho Books' 2025 Wrapped

                                    Before we turn the page to a new year, it’s time to revisit the updates that made financial management simpler and more intuitive. This annual roundup brings together the most impactful features and enhancements we delivered in 2025, offering a clear
                                  • Add specific field value to URL

                                    Hi Everyone. I have the following code which is set to run from a subform when the user selects a value from a lookup field "Plant_Key" the URL opens a report but i want the report to be filtered on the matching field/value. so in the report there is
                                  • Can multiple agents be assigned to one ticket on purpose?

                                    Is it possible to assign one ticket to two or more agents at a time? I would like the option to have multiple people working on one ticket so that the same ticket is viewable for those agents on their list of pending tickets. Is something like this currently
                                  • Zoho removed ability to see all Scheduled Reports!

                                    If you are not the owner of a scheduled report, Zoho recently removed the capability to see each scheduled report. As an admin who relies on seeing all scheduled reports being sent, this is a terrible update. Now I cannot see ANY scheduled reports...even the ones I am being sent!!  This should be a setting for admins to control.  This is a bad update.
                                  • This user is not allowed to add in Zoho. Please contact support-as@zohocorp.com for further details

                                    Hi Team, when I,m trying to create a email account (imagixmidia.com.br) it's showing this error >>  This user is not allowed to add in Zoho. Please contact support-as@zohocorp.com for further details plz help me  thanks
                                  • Edit default "We are here to help you" text in chat SalesIQ widget

                                    Does anyone know how this text can be edited? I can't find it anywhere in settings. Thanks!
                                  • Feature Request: Sync Leave Tracker to Zoho Mail / Calendar or provide option to download information

                                    Zoho Leave Tracker offers the option to sync the leave Calendar to Microsoft 365 and Google Calendar. Adding an option to sync to Zoho-Mail Calendar would avoid duplication and add significant value for users. An alternative would be to allow users to
                                  • Compensation | Salary Packages - Hourly Wage Needed

                                    The US Bureau of Labor Statistics says 55.7% of all workers in the US are paid by the hour. I don't know how that compares to the rest of the world, but I would think that this alone would justify the need for having an hourly-based salary package option.
                                  • Multiple currencies - doesn’t seem to work for site visitors / customers

                                    I am trying to understand how the multiple currency feature works from the perspective of the website visitor who is shopping on my Zoho Commerce site. My site’s base currency is US Dollars (USD) but my store is for customers in Costa Rica and I would
                                  • Archiving Contacts

                                    How do I archive a list of contacts, or individual contacts?
                                  • How do people handle using Outlook and Zoho Project calendar at the same time?

                                    We have an ongoing problem in our organisation where we use Zoho Projects to plan all of our projects tasks and that also allows us to look forward using the workload report to see which of our consultants are overstretched etc and which are available.
                                  • 10GB Email Storage Limits in Zoho CRM

                                    We’ve had Zoho One for almost 5 years and have always synced our emails from Gmail via IMAP… As of late, we’ve run into issues with our emails not syncing, due to being over the 10GB storage cap… What’s very odd is that we haven’t changed a thing? I know
                                  • Performance is degrading

                                    We have used Mail and Cliq for about three years now. I used to use both on the browser. Both have, over the past 6 months, had a severe degradation in performance. I switched to desktop email, which appeared to improve things somewhat, although initial
                                  • How to set page defaults in zoho writer?

                                    hi, everytime i open the zoho writer i have to change the default page settings to - A4 from letter, margins to narrow and header and footer to 0. I cannot set this as default as that option is grayed out! so I am unable to click it. I saved the document
                                  • Next Page