Creating extensions for Zoho Projects using a CLI | Community | Zoho Projects

Creating extensions for Zoho Projects using a CLI | Community | Zoho Projects

In our previous post, we noted the two ways to create extensions for Zoho Projects— using the cloud editor and using the command line interface (CLI). We also shared how to create an extension using the Sigma cloud editor. In this post, we'll take a closer look at creating an extension using the CLI.

You'll learn how to create an extension project template with the CLI, test it, upload the zipped project while creating an extension, and then edit or change it. Let's go over each of these steps in detail.

Building an extension project using the CLI
  • To create an extension project, we must first set up the development environment, which involves:
➤ Downloading Node.js: Node.js acts as the base platform as well as the JavaScript environment in which the JavaScript code is executed.
➤ Installing ZET CLI: Zoho offers a command line interface called Zoho Extension Toolkit (ZET) which enables you to build, test, and pack your extension project.
Please follow the steps in this link to download Node.js and install ZET CLI.
  • Once the development environment is ready, use the basic ZET commands to create, validate, pack, and test your extension project.
zet init: Create a new project and add the necessary folder structure and resources
zet validate: Validate the entire project
zet pack: Pack the project to get a zipped file that will later be associated as the connected app
zet run: Run the internal Zoho server to test the project locally
Now, let's use these commands to create and manage an extension project.
  • First, use the zet init command. Select Zoho Projects as the Zoho service from the dropdown list.

  • Enter a name for the extension. An extension with the directory structure required for a sample Zoho Projects extension is created automatically.

  • This directory structure contains an app folder and a plugin-manifest.json file, both of which are similar to those created by the Sigma cloud editor detailed in the last post.

  • The app folder can be used to manage all the important resources required for your extension. By default, itincludes an index.html file, which serves as the UI for a sample widget.
  • The plugin-manifest.json file helps with extension configuration. It includes a widgets key configured with a default sample widget named, "Projects Extension" in the default location as the task details tab, along with the URL as the location of the index.html file.
Now that the extension project has been created, lets go ahead and test it in the Zoho Projects portal.
Testing an extension project using the CLI
  • To test a sample Zoho Projects extension created with the ZET CLI, use the Change Directory command to navigate to the project folder. Then, run the zet run command.

  • This command starts a local server and enables you to test your extension locally.
  • Now, navigate to your Zoho Projects portal. Click the Setup icon.
  • Select Developer Space from the left panel. Click Enable Developer Mode.

  • Developer Mode will be enabled and the page will automatically refresh.
  • You may now test your extension functionalities in the Zoho Projects portal.
  • Since the sample extension had a default widget called, "Projects Extension" configured on the Task Details page, choose and enter a project task in your portal.

  • Click on the Projects Extension tab on the Task Details page, and you will see that the widget has loaded.

  • Once you have finished testing your extension's functionality, use the zet pack command. This command adds a dist folder to the directory structure, zips the extension project, and places the zipped file inside the newly created dist folder.
Uploading the zipped file to your Sigma extension

Now that we have created the extension project and tested its functionalities locally, lets go ahead and create an extension in Sigma.
  • Once you enter your Sigma workspace, click the New Extension button to build a new extension.
  • Enter a name and description for the extension. Choose Zoho Projects for the service.
  • Toggle Upload Existing File to Yes.

  • Click Browse to locate and upload the extension project's zipped file, accept the terms and conditions, and click Create.

  • You will be redirected to the cloud editor. The directory structure of your CLI extension project will be automatically populated with the project's contents.
Editing an extension created with the CLI
  • You can make edits or changes to your extension code directly from the cloud editor.
  • If you wish to make changes to a file or its contents in the directory structure of your CLI extension project, please be sure to pack the extension project again using the zet pack CLI command.
  • Go to Sigma. Click the Extension Details icon of the extension you wish to edit.

  • Click the Edit icon under the extension name.

  • Browse for and upload the new zipped file, accept the terms and conditions, and click Update.

  • The extension will be updated to reflect the changes you have made.
In this post, we have covered the process of creating an extension for Zoho Projects through ZET CLI. We hope you found this information useful. Keep following this space for more information!

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

SEE ALSO






    Access your files securely from anywhere


            Zoho Developer Community




                                      Zoho Desk Resources

                                      • Desk Community Learning Series


                                      • Digest


                                      • Functions


                                      • Meetups


                                      • Kbase


                                      • Resources


                                      • Glossary


                                      • Desk Marketplace


                                      • MVP Corner


                                      • Word of the Day



                                          Zoho Marketing Automation


                                                  Manage your brands on social media



                                                        Zoho TeamInbox Resources

                                                          Zoho DataPrep 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 Writer

                                                                                    Get Started. Write Away!

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

                                                                                      Zoho CRM コンテンツ






                                                                                        Nederlandse Hulpbronnen


                                                                                            ご検討中の方





                                                                                                  • Recent Topics

                                                                                                  • Custom Extension, create a trigger button in custom module to launch the app, or any workaround

                                                                                                    Hello Have created a custom extension , publish as private, all working But I'm facing an issue For my test I create a button in accounts or Contacts module to launch the app. But how I can handle to create same button in a custom module (not created
                                                                                                  • How do I filter contacts by account parameters?

                                                                                                    Need to filter a contact view according to account parameter, eg account type. Without this filter users are overwhelmed with irrelevant contacts. Workaround is to create a custom 'Contact Type' field but this unbearable duplicity as the information already
                                                                                                  • Getter error message Number of statement execution limit exceed Line:(216)

                                                                                                    Hi, this script is giving me error message "Number of statement execution limit exceed Line:(216)". Please advise htmlpage Pay_Period_Details(PayPeriodID,AgentID,ShowPrint,start_range,end_range) displayname = "Pay Period Details" content <%{ /* Get The current Pay Period Record */ Int_Pay_Period_ID = PayPeriodID.toLong(); Current_Pay_Period_Record = Pay_Period[ID == Int_Pay_Period_ID]; Previous_Pay_Period_ID = thisapp.Application.GetPreviousPayPeriodID(Current_Pay_Period_Record.ID); /* Checking Agent
                                                                                                  • API Casing needs consistency in names

                                                                                                    The JSON for an account record looks like this: {"Name": "Name of the Account", "id": "id of the account", "Address": "address of the account" "Owner":{ "name": "Name of Owner", "id": "id of owner", } } It makes no sense that "name" is capitalized in
                                                                                                  • Useful enhancements to Mail Merge in Zoho CRM

                                                                                                    Dear Customers, We hope you're well! We're here with a set of highly anticipated enhancements to the Mail Merge feature in Zoho CRM. Let's go! Mail Merge in Zoho CRM integrates with Zoho Writer to simplify the process of customizing and sharing documents
                                                                                                  • How can I create individual records from a subform

                                                                                                    Hi, I am collecting subform data into a Lead record and I need to create individual records for each row associated to the account when it is converted. How can I do this?
                                                                                                  • How Can I Easily Access and Manage My GEPCO Online Bill Using Zoho Sheets?

                                                                                                    Hello everyone, I'm looking for an efficient way to access and manage my GEPCO online bills. I've heard that Zoho Sheets can be a powerful tool for organizing and tracking bills, but I'm not sure how to set it up for this specific purpose. Does anyone
                                                                                                  • Prevent carriage returns / line breaks in multi line fields

                                                                                                    I'm trying to connect Zoho Sheets with Zoho Creator however because some people are using carriage returns in multi-line fields the rows are not being created correctly : The values in A4 and A6 are part of a multi line field that looks to have been split
                                                                                                  • How do you handle existing customers/contacts?

                                                                                                    Hi, We just integrated MA 2.0 with our CRM and we chose to only import our existing customers contacts. In MA they are all "Raw leads" by default and we would like to mass update these to a stage called "already customers" but the last default stage "Sales
                                                                                                  • Newspaper template

                                                                                                    Is there a template that looks like a newspaper or magazine?
                                                                                                  • New in Writer: Enhanced Content Generation and Formatting features

                                                                                                    We are excited to unveil these features that can enhance your content creation and formatting experience. These additions are carefully tailored to boost your productivity and unlock your full content creation potential. Get the scoop on all the fresh
                                                                                                  • Webhook when estimate is refused is not firing

                                                                                                    Hello, I use a workflow through make that sends estimate with zoho books (I paid books and sign). -Those estimates when accepted are firing the webhook that I create in zoho sign (photo 1) -However when refused they are not firing the webhook that I created
                                                                                                  • Transfer contact to a lead.

                                                                                                    Is there a way to transfer a contact from CRM to a lead without having to re enter everything.
                                                                                                  • Internal recruiting

                                                                                                    Does Zoho Recruit offer any solutions or features for internal recruiting?
                                                                                                  • Report to see committed stock vs quantities on order with suppliers

                                                                                                    Hello Zoho Community, I am looking for a report in Zoho Books / Inventory that will show the committed stock from sales orders, and show what quantities of the same part are on order from purchase orders. I have found the committed stock details report,
                                                                                                  • Form to update a CRM contact field

                                                                                                    Hello I need an help as I am going crazy. I need to create a form where there is a dropdown field with the contacts of Zoho crm (if possible filtered on the base of a field) and where other fields will be be automatically fetched with zoho crm data as
                                                                                                  • Add and Remove Agents from Departments and Groups in Zoho One

                                                                                                    Hi Zoho Flow Team, We hope you're doing well. Currently, Zoho Flow provides an action to add an agent to a group in zoho one, but there is no action to remove an agent from a group or a department. Another action that we find missing is the option to
                                                                                                  • Zoho Recruit - Blueprint and ZIA

                                                                                                    If I activate the Blueprint for Jobs in Zoho Recruit, Zia disappears for matching canddiates, why is that?
                                                                                                  • Where is the customization and extendibility of zoho inventory?

                                                                                                    After delving into zoho one subscription to test out systems we need for our business, I'm really disappointed after working in Zoho Inventory. Its features and customizability are extremely lacking compared to the other tools like CRM. In our case we
                                                                                                  • Moving contacts from one folder to different folder

                                                                                                    I set up two folders. Uploaded CSVs and build my fields according to what I needed. My boss wanted more fields and changed the categories wants different fields added and contacts in one folder moved to the other due to reclassification. How can I do
                                                                                                  • Announcing new features in Trident for Windows (v.1.20.4.0)

                                                                                                    Hello Community, Trident for Windows is here with some new features to elevate your work experience. Let's take a quick look at what's new. Export emails. You can now export emails in the .eml file format as compressed zipped files to create a secure
                                                                                                  • In focus: Customizing agent details in Radar

                                                                                                    Managing agent performance just got smarter! Imagine having all the key details about your agents right at your fingertips. That's exactly what the Agent Details feature in Radar offers. Whether it's their pictures, names, statuses, or ticket metrics
                                                                                                  • Bounced Emails

                                                                                                    Hello, Is there any chance we could have an alert for bounced emails in Recruit. This functionality is available in Zoho CRM. It would be really useful to be able to see at a glance who's messages have bounced back.
                                                                                                  • Requiring Proxy

                                                                                                    We are trying to get support from a company that uses Zoho assist. When we download the helper it is questing that we put in a proxy. What info do we need for the proxy / or to not need a proxy? I have tried a hot spot and allowing the program through
                                                                                                  • Creating a code for Task to event creation

                                                                                                    I am looking to automate an event creation to do the following: When a task is created for a user, create an event at 530PM simply called TASKS. This will serve as a reminder that we have at least one task that needs to be addressed. We miss the task
                                                                                                  • Kiosk Studio wrap-up | How our community used kiosks in 2024

                                                                                                    Hello, everyone! Happy new year! The end of 2024 has been busy, and 2025 promises to be bigger and better. As we ring in the new year, let's rewind and look at Kiosk Studio, our no-code customization tool. The past 300 days have seen the CRM community
                                                                                                  • Automate pushing Zoho CRM backups into Zoho WorkDrive

                                                                                                    Through our Zoho One subscription we have both Zoho CRM and Zoho WorkDrive. We have regular backups setup in Zoho CRM. Once the backup is created, we are notified. Since we want to keep these backups for more than 7 days, we manually download them. They
                                                                                                  • Books does not allow 19% tax rate for invoice - Please help!

                                                                                                    Hi there, I need to do an import of invoices into Zoho Books. The process worked smoothly before we migrated to the Books Germany Edition in December 2024. It does import 13 out of 14 invoices from my csv-file. For the one it does not import I get the
                                                                                                  • Restriction in assigning signer fields for the "Approver" role in APIs and internal integrations

                                                                                                    Hi, Zoho Sign's intended design is offering two actions to the recipient - Needs to sign (if you wish your recipient to add information to the document; signature, for instance) or Approver (someone who has to approve the content of the document and must
                                                                                                  • Create deal from estimate

                                                                                                    Hello, I have integrated CRM and books. I created an estimate on CRM but I would like to allocate that estimate to a deal with the contact. How can I do this please?
                                                                                                  • Want to upload images to custom image fields using zoho crm api v2.

                                                                                                    Hi i want to upload image to my custom image field from third party application using zoho crm api v2 . Please tell me how i can do this? Thanks
                                                                                                  • This domain is not allowed to add. Please contact support-as@zohocorp.com for further details

                                                                                                    I am trying to setup the free version of Zoho Mail. When I tried to add my domain, theselfreunion.com I got the error message that is the subject of this Topic. I've read your other community forum topics, and this is NOT a free domain. So what is the
                                                                                                  • Its 2022, can our customers log into CRM on their mobiles? Zoho Response: Maybe Later

                                                                                                    I am a long time Zoho CRM user. I have just started using the client portal feature. On the plus side I have found it very fast and very easy (for someone used to the CRM config) to set up a subset of module views that make a potentially extremely useful
                                                                                                  • Change Invoice Prices for an Effective Date

                                                                                                    Hi, It would be a really good feature to be able to change the prices on invoices/recurring invoices from an effective date in the event of price increases. For instance, I am in the process of increasing prices that will be effective from a specific
                                                                                                  • Related list Mobile Device

                                                                                                    Hello, We use an the Zoho creator application to make reports linked to Accounts. On the computer: it's easy to go the Account and see all the created reports in the related list below On iPad/Phone ZOHO CRM APP: we cannot see the reports on those accounts
                                                                                                  • How can I visualize the events of a pipeline records?

                                                                                                    Hi I need a list of events, including the date and address of the event related to the pipeline record. Can I do that? I know that for every pipeline record I can create events associated (Tasks, events, calls). But what I need it is an easy way to get
                                                                                                  • Unlocking New Horizons: A Year in Review

                                                                                                    As we bid farewell to 2024, let's celebrate and revisit the key highlights of the year. From adding a new edition to cross-platform enhancements, here’s a roundup of all the feature updates designed to simplify accounting, optimize financial management,
                                                                                                  • Creating smart filters manually

                                                                                                    Hi Team, One of my colleagues accidentally deleted the Notification folder in Zoho Mail. Now all the emails are directing to spam instead of inbox. Is there any way to create the smart filter manually?. With Regards, Logeswar V
                                                                                                  • How to send binary data in invokeurl task?

                                                                                                    Hello, I am using Adobe's Protect PDF API. Source: https://developer.adobe.com/document-services/docs/overview/pdf-services-api/ Everything works fine in Postman. But for some reason after encrypting the file, it is empty after password protecting the
                                                                                                  • When Email is sent, automatically have information be stored inside.

                                                                                                    Hi there, I just wanted to know if it was feasible to make it so that when i receive an email to a specific email, all of the information or contents would be filled up inside of leads. This will help me with another side of the process that im working
                                                                                                  • Next Page