Fundamental features of a Zoho Projects extension | Community | Zoho Projects

Fundamental features of a Zoho Projects extension | Community | Zoho Projects

Hello everyone!

Thank you for visiting our Building Extensions series. As part of this series, we've already covered how to use the Sigma cloud editor and the ZET CLI to create, test, and publish extensions for Zoho Projects. You can refer to our earlier posts for more details. We will now explore the core functionalities available to customize Zoho Projects extensions using the Sigma cloud editor approach.

Extension development: Broad objective

The comprehensive goal of extension development is generally to build tight integrations that can provide additional capabilities and make end users' work simpler and more productive. By integrating functional and technical provisions at the development end, extensions can subsequently be installed as part of the end user's Zoho Projects portal, allowing them to carry out additional functionalities while ensuring a seamless user experience.
So far, we've learned how to develop, test, and publish an extension. Now, let's look at the fundamental features of a Zoho Projects extension developed using the Sigma cloud editor.

Core features for customizing a Zoho Projects extension

In general, apps require data to function properly and carry out organizational tasks. This data must be acquired from reliable sources, analyzed, modified using logic functionalities when needed, and finally saved in order to be retrieved for future operations or business reports.

Some of the fundamental elements for customizing Zoho Projects extensions to carry out the tasks outlined above are:
  1. Tightly coupled integration
  2. Customized user interface
  3. Logical functionalities
  4. Event-based executions
  5. Data storage management
  6. Handling dialog box/pop window
Tightly coupled integration: A tightly coupled integration allows applications to be dependent on each other while ensuring a seamless and optimal exchange of information.

How it can be achieved: Connections
  • The Connections feature is essential when looking to develop an integration between Zoho Projects and another application through an extension.
  • You can connect with third-party applications or other Zoho products to perform activities that use data from other applications.
  • You can also establish connections for many applications and utilize them as part of a single extension. This creates a safe connection between Zoho Projects and other applications, allowing for seamless data functionality.
Customized user interface: A customized user interface with personalized features and components allows for a more simplified and direct approach to the end user.

How it can be achieved: Widgets
  • Widgets are graphical user interface components that help users easily access a product and perform functionalities.
  • You can create custom widgets and have them embedded in different locations in your extension. View the multiple locations where you can embed a widget here.
  • Zoho Projects also offers JS SDK for your javascript widget code to communicate with your extension.


Logical functionalities: Implementing an ideal concept requires the execution of a few to several fundamental blocks of logical functions.

How it can be achieved: Functions

  • Functions are blocks of code that help you perform a functionality.
  • You could write functions, leverage connections as part of functions to perform third-party operations, or utilize Deluge integration tasks to fulfill your functionality.
  • Finally, the function must be associated with the extension in order to be used in the extension.
Event-based executions: Executing logical functionalities based on an event enables the execution of triggers, the automation of work, and the avoidance of manual supervision.

How it can be achieved: Triggers
  • Triggers help execute functions in the occurrence of an event.
  • You can create triggers, associate it with an event, and then associate a function to the trigger to have it executed on occurrence of that event.
  • Check out the list of available trigger events here.
Data storage management: Managing and storing data plays a vital role in carrying out any operation smoothly and efficiently.

How it can be achieved: Data storage
  • Data storage allows you to save data or properties of an extension or entity.
  • The extension property can be used to store app/extension-level data, and the entity property can be used to store entity-level data.
  • Data storage is accomplished through the use of key-value pairs. The keys must be unique, and the values must be in JSON format.
Handling dialog box/pop window: Modal boxes are useful in instances where you need to prompt a dialog box that communicates data from the main application while holding control until the user completes an operation.

How it can be achieved: Modal box
  • Using the modal box, you can create a new iframe instance of the extension.
  • You can use modal boxes to send and receive data from one widget to another, allowing for inter-widget communication.
  • To create a new instance for the widget, send data to a widget, and receive or listen to data from a widget, Zoho Projects provides many methods such as instance, emit, and so on.
In this post, we looked at the major features that may be achieved using a Zoho Projects extension. We hope you found this information useful. In our upcoming posts, we will explain each feature in detail with example use cases. Continue to monitor this space for updates!

Sign up for a Zoho Developer account and start developing extensions for Zoho products using Sigma.

SEE ALSO:




    • Recent Topics

    • Cannot edit email text in Zoho Form rules

      I have a number of rules set up on a form depending on a user's submission. For some reason, I am no longer able to edit the content of the emails sent out based on those rules. I am invited to "use the advanced editor", but the original text of the email
    • How to Replace an Assessment in a Job Opening on Zoho Recruit

      Hi everyone, I’m currently using Zoho Recruit and would like to replace the assessment linked to a specific job opening. I want to remove the existing assessment and add a new one. What is the best way to do this without losing any important data or affecting
    • Add "Lead Image" in Bulk?

      Each of our Leads is accompanied with a URL containing a photo of the lead when they come in. We currently have to manually download then upload the photo to the lead. This is a HUGE waste of time. Is there any way to AUTOMATICALLY add the photos to the
    • Client script: Can not choose a date field for an onChange field event

      Hi Zoho Team Why can't I choose one of my date fields to trigger an onChange event? Is this a client script limitation, or something wrong with my instance? If it is a limitation, is this mentioned in the documentation anywhere? Thanks. Marcus
    • Quickbooks conversion and Internet sales

      Hello, we are considering converting from Quickbooks enterprise to Zoho Books and using MonotorZ for our mrp needs. Today we import Internet sales under a single customer with multiple ship to addresses. We want to maintain the detail in CRM for marketing
    • 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
    • For security reasons your account has been blocked as you have exceeded the maximum number of requests per minute that can originate from one account.

      Hello Zoho Even if we open 10-15 windows in still we are getting our accounts locked with error " For security reasons your account has been blocked as you have exceeded the maximum number of requests per minute that can originate from one account. "
    • how can I hide this Module?

      Hi everyone, newbie question. how can I hide the "Sales Order" column? when I try I get this message: https://imghostr.com/86395c_p7j
    • UI Arabic

      can i change the member portal UI to arabic in zoho community?
    • Domain verification is in progress... (How long do I need to wait?)

      Trying to setup my first email domain by connecting with GoDaddy. Have been here for quite some time and the screen is not changing. How long should this take?Send DataSend Data
    • Custom Module missing SDK function fetchRelatedRecords(...) in a Client Script

      Good day, We have added a new module with a Multi-Lookup relation to Contacts.  When we tried to use the fetchRelatedRecords(id, related_list_api_name) function to get Related Records it is missing for our new custom module. https://js.zohocdn.com/crm/5124797/documentation/DotSDK/Modules.html
    • How to display profile picture for distribution list?

      I am Admin of a Zoho Mail server and we have distribution lists along with user accounts. I am able to set Profile picture for the users and it shows when the email is sent to another companies. The members of the groups can also send email from those
    • Change email template depending on answer from form

      Is it possible to set up the following in Zoho Desk: When a user submits a ticket via the Zoho Help Center's form, they can select an answer from a dropdown field. In this example, the dropdown options are 'Option A' and 'Option B.' If a user selects
    • Mail Search Not Working

      Hello, Mail search is not working at all. I've tried Chrome and Mozilla. I can try and search for an exact term, or even an email that is 1st in my email list. All search does is sit and spin, or it comes up with no results. I've also tried it on my android
    • Password should not contain sequential characters

      How can I avoid this? How do I even disable it. On my password policy page, it's all blank, so I don't know why I'm even getting this error now.
    • Same phone number for more than one account.

      Hi there, I am a webdeveloper specialising in providing websites, webhosting and email solutions for my customers. I have signed up a number of my customers to Zoho Mail in the past, and a couple of these have grown into a paid package for Zoho CRM. As
    • Remove 30-Day Client Reply Restriction on Supervisor Rules in Zoho Desk

      Dear Zoho Desk Team, I hope you're doing well. Currently, Supervisor Rules in Zoho Desk run once every hour but only apply to tickets that have received a customer response within the past 30 days. This restriction creates challenges for us, as we have
    • Is there a live chat for Zoho mail?

      I am having a problem in Zoho mail and would love to live chat with someone instead of email and wait for a response. Is there a function for this? I know there is in CRM but I can't seem to find it in mail... Thank you!
    • Integrating Zoho Desk Instances from two separate organizations

      Is it possible to integrate Zoho Desk with an instance from another organization? For example, creating a ticket in one organization can cause the creation of a ticket in the second organization? Or certain tickets from one organization be viewable by
    • Why does incoming mail inconsistently bounce back from Zoho mail

      On testing our user accounts, we are having problems where mail sent to zoho mail bounces back with errors message that 'relay access denied'. On testing from various accounts (including outlook, gmail and yahoo) mail seems to get through on some occasions
    • Zoho email setup in office365

      When i am trying to setup zoho mail setup using my domain in office365 and it is not working and it says that we couldn't log on to the incoming (IMAP) server and please check your email address and password and try again. I was able to login using my
    • JunkMail rejected

      Hello, we are facing problems sending mails. The IP has been blacklisted. Please, fix it as soon as possible. JunkMail rejected - sender4-op-o12.zoho.com [136.143.188.12]:17291 is in an RBL on rbl.websitewelcome.com, see Blocked - see http://www.spa
    • trying to access CRM Variables with JS SDK

      Hello i built a widget with Sigma, i create CRM VARIABLES in custom properties. I try to access them in function : ZOHO.embeddedApp.on("PageLoad",function(data) with : ZOHO.CRM.CONFIG.getVariable("mycrmvariable").then(function(data){ console.log("mycrmvariable
    • My emails going to spam folder for hotmail or outlook

      My emails (not spam mails) are going into the spam folder for my customers using hotmail. Gmail and Yahoo users are receiving the emails in their inbox. can you please solve this problem. I read few articles but coudnt find any solution to it. I am testing it by sending a simple text email no pictures nothing at all still it is filtering my emails as spam. Please help I am really loosing time and clients due to this. Thanks
    • Capture hotkeys inside the remote session and allow file exchange via clipboard

      Hi guys, assist is a really good app, and to become great it would be nice to have some features other vendors have in place and we take them for granted. For example, ScreenConnect, TeamViewer and others allow you to send hotkeys via the remote connection,
    • Chat function not working properly

      Ever since upgrading to plus, the chat is all messed up. it is coming up behind the web page so that I cannot see what I'm typing and cannot read replies. I can only see the bottom of the text box at the bottom of the page, and then it is blocked. I've
    • Self Client Authorization Issue

      Hi. Trying to test the api integration for Zoho Desk with the Self Client - Client Credintials flow method. I've created the self client, obtained the client id and secret, inputted "Desk.tickets.ALL" as my scope, and "ZohoDesk.[My Zoho Desk Org ID]"
    • Mass pdfs into OCR field

      I am working on a Creator app that my org will use internally. Is there any way to mass upload pfs through a form with an OCR file upload field? Is Creator capable of this, or would I need to use Catalyst?
    • Cannot fetch url with custom extension (sigma - javascript)

      Hello i try to make my first extension with API request, i have two cases 1) this a deluge code attach to a button --> this one works very well response = invokeurl [ url :"my_api_fetch_url" type :GET headers:{"api_key":"myapikey","accept":"application/json","content-type":"application/json"}
    • Wrong Time on Exported Records

      Hello, All records in my exported Notes .csv file have the incorrect time for Created Time. They are all 8 hours ahead. I've already verified that my time zone is correct in both Personal Settings and Company Settings. Is there any way to fix this?
    • how to upload the picture and document

      i want to upload the picture and document,would you please told how to upload them?could you told it for each step?
    • Zia Call Intelligence only up 10 License

      I have been trying to install Call Intelligence for two days now, but strangely, the button is missing at this point. The documentation could be better, but most importantly, someone should inform small businesses like us that they don’t even bother enabling
    • Forgot my email management account

      Hello, I am the administrator of ihomemix.com. I can’t remember which email address I used to register the account and then opened the email service for ihomemix. I can’t see the subscription period of my email function when I log in with this account.
    • Add customer to account based on domain name.

      I generate reports based on a the account field, i.e. companyX.  In GoToAssist, my last provider, there was an option to automatically assign new ticket creators to a company (or account) based on their domain name. So for example, if a new employee creates a ticket from @companyx.com, for them to be automatically added to the companyx account would be a huge advantage.  As it stands right now, I have to remember to add them to the account manually.  Often I forget and when generating a report for
    • Facilitate business processes by mandating Kiosks in your Blueprint's transition settings

      Hello everyone, We've made a few enhancements to Kiosk Studio. Blueprints provide a structured and systematic approach to executing business processes, and you can use Kiosks to build custom capabilities to retrieve, collect, and execute actions on CRM
    • Response Violation - Zoho Desk

      Hi Team, I just need an information regarding the zoho desk - Response Violation and how can we avoid the tickets from getting the tickets response violated.
    • I need help in setting up a script that works for my calling service

      Please i need your guidance and expertise in how to go about a particular scripting. You see, we are a call service that assists companies to receive calls for them, i need to create a system in my Zoho CRM whereby i will receive call from my already
    • "Select All" item in the context menu

      In the Client on Android, there is a “Select all” item in the note’s context menu. There is no such item in the PC client. Can it be added in future versions of the client?
    • Subir o Preço Unitário já acrescido de um valor

      To com um desafio grande, e se alguém conseguir me ajudar, seria ótimo! O que eu preciso é que o na hora de adicionar um item no subformulário dos itens cotados do módulo Orçamentos, o preço de lista do item venha acrescido de 20% automaticamente e de
    • Zoho CRM Customer Portal Pricing Question

      Hello, I am trying to find out about the pricing for a portal that will be used for the contacts and a custom module. My client needs to use a customer portal for 15k users that will display the contact details and some informations to a linked custom
    • Next Page