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!

    Access your files securely from anywhere

        All-in-one knowledge management and training platform for your employees and customers.







                              Zoho Developer Community




                                                    • Desk Community Learning Series


                                                    • Digest


                                                    • Functions


                                                    • Meetups


                                                    • Kbase


                                                    • Resources


                                                    • Glossary


                                                    • Desk Marketplace


                                                    • MVP Corner


                                                    • Word of the Day


                                                    • Ask the Experts





                                                              Manage your brands on social media



                                                                    Zoho TeamInbox Resources



                                                                        Zoho CRM Plus Resources

                                                                          Zoho Books Resources


                                                                            Zoho Subscriptions Resources

                                                                              Zoho Projects Resources


                                                                                Zoho Sprints Resources


                                                                                  Qntrl Resources


                                                                                    Zoho Creator Resources



                                                                                        Zoho CRM Resources

                                                                                        • CRM Community Learning Series

                                                                                          CRM Community Learning Series


                                                                                        • Kaizen

                                                                                          Kaizen

                                                                                        • Functions

                                                                                          Functions

                                                                                        • Meetups

                                                                                          Meetups

                                                                                        • Kbase

                                                                                          Kbase

                                                                                        • Resources

                                                                                          Resources

                                                                                        • Digest

                                                                                          Digest

                                                                                        • CRM Marketplace

                                                                                          CRM Marketplace

                                                                                        • MVP Corner

                                                                                          MVP Corner









                                                                                            Design. Discuss. Deliver.

                                                                                            Create visually engaging stories with Zoho Show.

                                                                                            Get Started Now


                                                                                              Zoho Show Resources

                                                                                                Zoho Writer

                                                                                                Get Started. Write Away!

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

                                                                                                  Zoho CRM コンテンツ




                                                                                                    Nederlandse Hulpbronnen


                                                                                                        ご検討中の方




                                                                                                                • Recent Topics

                                                                                                                • ShipStation and Zoho Inventory

                                                                                                                  Hello, I am looking to sync zoho inventory with shipstation ZOHO INVENTORY           SHIP STATION Sales Order  ==>  create ORDERS INVOICE  <==    Shipments What exactly does BETA mean on the Shipstation connector?  This is required for me to sign-on in the next month. Thanks in advance for your efforts
                                                                                                                • E

                                                                                                                  We are trying to add our Zoho Form embed in our Elementor Page Builder. After adding Zoho Forms widget in elementor page builder it’s displaying in backend page builder but it’s giving 403 error while trying to save, as it’s not reflecting in front end.
                                                                                                                • Connecting Zoho Inventory to ShipStation

                                                                                                                  we are looking for someone to help connect via API shipStation with Zoho inventory. Any ideas? Thanks. Uri
                                                                                                                • custom module import.

                                                                                                                  Is there a way to import data into a custom module? Thanks Rudy
                                                                                                                • HEIC File Type Viewer

                                                                                                                  Hi, It would be nice to be able to click on the images in the All Entries/Reports Tables which are HEIC the same as JPG, PNG, etc. so they open in a viewer from Zoho or the Attachment Service, today HEIC requires you to download each image and open it
                                                                                                                • How to dynamically pass IDs from one API response to a second API call in Zoho DataPrep?

                                                                                                                  Hi Team, I am setting up a global consolidated reporting pipeline in Zoho Analytics (India) using Zoho DataPrep as the ETL engine. I am pulling data from multiple Zoho Books Data Centers (US, Singapore, India) thats why i used the URL Source (OAuth 2.0)
                                                                                                                • Building Toppings #4 - Setting up and using connections in Bigin toppings

                                                                                                                  When building a topping to extend Bigin's functionality and connect it with third-party applications, creating and handling connections is an important step. Connections provide a secure way for your topping to authenticate and communicate with other
                                                                                                                • Need code format to specify default values

                                                                                                                  Can someone please direct me to the code syntax or the proper translation per the instructions circled below. These instructions don't seem correct.
                                                                                                                • AI Interview Insights: Turn Recorded Interviews into Quick Transcripts & Summaries

                                                                                                                  Evaluating interviews shouldn’t require replaying long recordings or taking manual notes. With AI Interview Insights, you can now review complete transcripts and AI-generated summaries of your One-way (Recorded) interviews right inside Zoho Recruit. This
                                                                                                                • Record payment: Payment Mode vs. Deposit To and how to "connect" them!?

                                                                                                                  How do we set up that when we choose:  "Payment Mode"= Cash, then "Deposit to" is automatically set to Petty Cash, and if we choose  "Payment Mode"= Check, then "Deposit to" is automatically set to Undeposited Checks, and if we choose  "Payment Mode"=
                                                                                                                • Grouping Undeposited Funds to Move to other accounts

                                                                                                                  In the bank option it would be nice to check what transactions in undeposited funds I want to move to other accounts. Then while checking this it can accumulate totals and created whats essentially a deposit slip. Once the transaction is moved it should
                                                                                                                • Depositing funds to account

                                                                                                                  Hello, I have been using Quickbooks for many years but am considering moving to Zoho Books so I am currently running through various workflows and am working on the Invoicing aspect. In QB, the process is to create an invoice, receive payment and then
                                                                                                                • Facing email delivery issues? Verify your domain's DNS records

                                                                                                                  Have you ever wondered why your legitimate emails are landing in the recipient’s spam folder? Or been surprised to see emails sent from your registered domain getting rejected by recipient email servers? Why does this happen? In most cases, this happens
                                                                                                                • Order of Departments in Help Desk

                                                                                                                  In the end user portal, , the departments are sorted by the date of creation of the department (or perhaps their id). Is there a way to choose the display order of the departments or at least to be able to sort them alphabetically?
                                                                                                                • COGS - Account showing negetive

                                                                                                                  I have multiple COGS account and in these all there is one account is negetive so suggest why it is showing negetive value.?
                                                                                                                • Create CRM Deal from Books Quote and Auto Update Deal Stage

                                                                                                                  I want to set up an automation where, whenever a Quote is created in Zoho Books, a Deal is automatically created in Zoho CRM with the Quote amount, customer details, and some custom fields from Zoho Books. Additionally, when the Sales Order is converted
                                                                                                                • %PaymentLink%

                                                                                                                  Does not work. Software creates a BAD link. ....and yes payment options are turned on. Link on the invoice pdf once opened will work but this template is a joke.
                                                                                                                • Google Photos

                                                                                                                  I am hoping that my question already has a fix. I current have Google synced accounts that I want to get away from. One in particular on is Google photos. Is there any software, or 3rd parties that I can join to back my photos up straight to specifically designated file in the ZOHO cloud that's tied to Docs? Please advise... Mike 
                                                                                                                • Zoho Books Items Categorisation/Grouping/Folder

                                                                                                                  Is there a way to do items categorisation? a folder structure? Product Type A - Option 1/2/3 Product Type B - Option 1/2/3 Current problem : I have more than 50 items on the list, its hard for team to navigate.
                                                                                                                • Cash payments before invoice date

                                                                                                                  We have been using zoho books for our hospitality business for some time and have been very happy with the system. However in 2025 an update was pushed through and we are now not able to record payments for invoices before the invoice date. the case scenario
                                                                                                                • Copy / Duplicate Workflow

                                                                                                                  I have workflows setup that are very similar to each other. We have a monitoring system watching servers, and all notifications - no matter what client it is about - will come from a  noreply@ address which is not very helpful in having it auto assigned to the right account. I have setup a workflow that will change the contact name of the ticket (currently it would say noreply@) to the correct customer which is based on the subject line, as that mentions which server the alert it is about. I need
                                                                                                                • Transfer between two customers (Peters Rental account to Peters Private account)

                                                                                                                  we are a Property Management company. Our customers have to accounts (registered as two customers - Peter Rental and Peter Private On the rental account all income and costs fron rental activities are noted. On the private account all private are noted
                                                                                                                • Automation#18: Automatically Fetch Values from Contacts to the Tickets Module

                                                                                                                  Hello Everyone, Welcome to this week's edition, where you can seamlessly sync fields from the Contacts to the Tickets module. For efficient business operations, it's crucial to have details mapped across different modules. Zylker Secure offers antivirus
                                                                                                                • Charge multiple invoices

                                                                                                                  We use auto-charge/recurring invoicing for 100's of clients. If we create a single manual invoice we can charge it to the credit card for these clients with the CC added to their recurring invoices. If a client has multiple outstanding invoices, is there a way to make one charge for all of the invoices instead of a separate charge to the cc for each invoice?
                                                                                                                • Handling/tracking escalation management in Zoho

                                                                                                                  Hi all, I am working on finding a tool to register and track our escalation management process. Specifically, this is about client escalations, typically related to project delivery issues. The idea is that we could have some sort of form with core questions
                                                                                                                • Global Choice List share ownership

                                                                                                                  I have created several forms that use one or more Global Choice Lists. These lists have been published to Org. I would like to allow one or more admins to edit the choices in these lists. Any help appreciated. Geoff
                                                                                                                • Setting up property management in Zoho Books

                                                                                                                  Hi, I run a property management business that manages property complexes. There are multiple owners, some owning more than one property on the same complex. My role is to manage the fees they pay for maintenance of common areas, such as the swimming pool
                                                                                                                • How to prevent users from switching price lists in an order?

                                                                                                                  Hi, I have Zoho Finance integrated with Zoho CRM. My team will be placing orders through the CRM using the Finance module. When creating a new customer I will assign it a price list, I don't want the sales rep to switch to a different Price List, other
                                                                                                                • Unable to Change Display Name for my outlook mail ID

                                                                                                                  Hello, I recently added my personal outlook mail to Zohomail (in the web interface) using POP3 options. I tried to change the display name of the outlook account, but it changes for a brief moment and reverts back to the old name. Kindly help me with
                                                                                                                • Mollie Connect in Zoho Books

                                                                                                                  Have noticed that Zoho Books is missing the most popular payment provider in Europe: Mollie. Knowing that Mollie has a solid Java SDK, why is this not yet implemented in Zoho Books for European customers?  More info: https://docs.mollie.com/oauth/ov
                                                                                                                • Unable to change Lookup field from Multi Select to Single Select

                                                                                                                  I am trying to change a Lookup field in my Zoho Creator form from Multi Select to Single Select, but I am unable to find any option to do this.
                                                                                                                • Simple Callback Notifications Needed

                                                                                                                  My team are terrible at remembering their CRM callbacks, often due to how long in the future they are set for. Is there a way i can set an e-mail notification for when a callback is due? For example we set it for 9am one day and five minutes before they
                                                                                                                • Personal Data (RODO), Cookies / Trackers - ePrivacy

                                                                                                                  I have noticed several issues that should be addressed on the customer support page. Zoho Desk provides the support portal, but it currently lacks the following options: A GDPR and personal data processing consent checkbox before logging in, located in
                                                                                                                • How to set a multi-lookup field as mandatory?

                                                                                                                • Allow Multiple Scheduled Appointments with Zoho Support

                                                                                                                  Dear Zoho Team, I hope you're doing well. First, thank you for introducing the option to schedule support calls via the Zoho CRM booking link. This has been a fantastic enhancement, eliminating the need for back-and-forth coordination when scheduling
                                                                                                                • Audit Log for Zoho One Admin Panel

                                                                                                                  Dear Zoho One Team, We would like to request the addition of an Audit Log feature in the Zoho One Admin Panel. This log should provide visibility into any changes made within the Zoho One admin panel and directory, including but not limited to: Adding,
                                                                                                                • Bug: OAuth 2.0 State Parameter fails with Pipe Delimiters (RFC 6749 Non-Compliance)

                                                                                                                  I've discovered a bug in how Zoho's API Console handles the OAuth 2.0 authorization flow when the state parameter contains pipe characters (|), and I'm hoping the Zoho team can address this in a future update. The Issue Zoho's OAuth 2.0 implementation
                                                                                                                • Custom Function to increment a value by one

                                                                                                                  Hi, I'm trying to find a solution to set up a counter on CRM records that tracks how many times certain actions have taken place. As a specific example: We have a field on Deals called "Times Close Updated". This starts at 0 on record creation. I'd like
                                                                                                                • Access token generate from the refresh token not working for API

                                                                                                                  Dear Sir/Madam, When I use my refresh token to obtain new access_token, that token return INVALID_TOKEN when the same API is called. I made sure that my api site is correct and match the auth web site. However the original access_token work fine.
                                                                                                                • why does my campaign move back to draft?

                                                                                                                  Every time I try to send my email campaign, it reverts back to Draft status.. this has happened three times in a row..how do i find out what the problem is? Thanks
                                                                                                                • Next Page