Hello everyone,
Welcome back!
ZDK CLI uses commands to manipulate with Zoho CRM metadata from a terminal. While Zoho CRM Web UI remains the primary tool for manipulating Zoho CRM metadata like creating modules, configuring fields/layouts etc., using
ZDK CLI has its own advantages. In this post, we will explore scenarios where each option excels, empowering developers and administrators to make informed decisions as per their requirements. Let's dive in!
Smith, a consultant at TechSolutions Inc. (a Zoho CRM Partner), is enhancing the Deals module for Springfield University, to align it with their admissions workflow. Springfield University is using customized Zoho CRM for learning management system (LMS). The Deals module now tracks student enrollment stages ( "Application Received," "Scholarship Review," and "Admission Offer Sent") instead of the sales pipeline. To support this, Smith needs to add a custom field like “Financial Aid Status” to the Deals module.
Should he use Zoho CRM UI or ZDK CLI?
For simple changes like adding this field, Smith would use the Zoho CRM UI—it’s faster. But this raises the question-
When does a customization demand use of ZDK CLI?
The answer becomes clear with Smith’s next project: customizing Zoho CRM for Brookside University. He has to create customizations for Student Management, Course Management, Admissions, Finances, etc., which takes days or even weeks. If Smith were to use the Zoho CRM UI , he has to navigate through multiple tabs in the setup and creates them one by one. When his customization is done in the sandbox, he completes testing it and deploys it to the sandbox environment. Smith designs a Student Dashboard Widget that displays a student’s academic progress, attendance, extracurricular activities, and advisor notes in one place. For creating the widget, he uses the ZET CLI tool in terminal and after development he packages it separately and upload it to Zoho CRM.
If Smith opts for ZDK CLI to build the customizations, he can create modules, fields, layouts, roles, and profiles directly from the terminal. He can use ZET commands in ZDK CLI project directory for developing the widget and can add the widget to the Zoho CRM through ZDK CLI.
By leveraging ZDK CLI alongside Version Control Systems like Git or Mercurial, Smith along with his team mates ensures every customization is traceable. Git logs resolve disputes like “Who modified the Admissions pipeline?”. Using ZDK CLI with VCS facilitates team collaboration. One team member can build up on another team member's work.
Riding on the success wave of Brookside University’s LMS integration, Smith’s firm, TechSolutions Inc., now needs to replicate the same Zoho CRM customization for their next project. Without ZDK CLI, Smith would have to do it all over again: manually rebuilding every module, field, and widget through the UI.
With ZDK CLI, the effort required is minimal.
- Using zdk org:export command, Smith can export the metadata of Brookside University.
- He can use the exported files and "tweak" them to suit the needs of his new project.
- Using zdk org:push command, he can deploy the refined configuration to the new environment.
ZDK CLI transforms CRM customization from a manual process into a repeatable strategy—ensuring TechSolutions Inc.’s growth.
When to Use ZDK CLI
- Bulk Metadata Management: You can use ZDK CLI to pull the metadata from one organization which has metadata customizations for LMS, make minor changes, and deploy it for a different CRM organization which needs customizations for the same.
- Version Control of metadata changes: With ZDK CLI you can use Version Control Systems like Git/Mercurial to track and manage metadata changes made by different team members, clearly showing who made updates and when, enabling transparency. This also makes it easy to revert changes if issues arise.
- Collaboration - Reuse Components: Using ZDK CLI you can easily export your local metadata changes with zdk org:export, which creates a zip file of the the crm directory in your local ZDK CLI project. You can share this zip file with your fellow developers to collaborate seamlessly by building on each other’s work. You can also achieve the same using VCS. Checkout our previous Kaizen post on using ZDK CLI with git: Leveraging ZDK CLI with VCS to reuse components across different Zoho CRM org.
- Widget Development: You can create and update widgets via CLI commands.You can use ZET commands in ZDK CLI project directory and widgets can be added to your organization from the terminal itself without the need of packaging the widget.
- Automate commands: You can automate ZDK CLI commands using scripts, reducing manual intervention. Take a look at this Kaizen post where we discuss a shell script designed to automate the process of pushing locally modified metadata along with conflict management.
- Conflict Resolution: Conflict resolution in ZDK CLI guarantees that changes done does not get accidentally overwritten. Resolve merge conflicts with zdk org:pull:resolve, which opens a browser-based diff editor to reconcile code differences.
Best Practices
- Use ZDK CLI for development in sandbox environments and the Web UI for minor fixes and to deploy it to Production environment.
- Pull configurations via CLI (zdk org:pull) before major edits to maintain a backup.
- For developing widgets zet commands along with ZDK CLI commands in the terminal.
- Refrain from making simultaneous changes via Web UI and ZDK CLI to prevent conflicts.
- If you are unfamiliar with a command, use zdk help command for to check the description of the command.
- Though ZDK CLI lacks the visual simplicity of the Web UI, pairing it with IDEs like VSCode improves its usability.

For the current beta release, ZDK CLI will exclusively be available for Sandbox environment and will not be operational in Production environments.
We hope you found this post useful. We will meet you next week with another interesting topic!
If you have any questions, let us know in the comment section.
Happy Customizing!
Recent Topics
Zoho Bigin - should be able to link a "contact" to multiple "companies"
Hello Support, I called into telephone support and was told that a contact can only be linked to one company. We have situations were director are contacts of and directors of multiple companies so that seems a basic weakness in Bigin. When go to add
CRM: hosting a single html file in Zoho and displaying it as a widget
I have seen that CRM offers the option of uploading a web project to Zoho itself and displaying it as a widget in CRM. The instructions then talk about setting a development environment with Node and developing an application to upload to Zoho. But I
Global lists for Multi select
It would be great if I could select a global list to use for a multi select dropdown filed.
Hotmail is blocking the zoho mail IP
Greetings, Since last Tuesday (5 days ago today) I wrote to Zoho support and I still haven't received a single response (Ticket ID: 2056917). Is this how you treat people who pay for your email service? I am making this public so that those who want to
Yahoo is rejecting e-mails sent from a Zoho server
Diagnostic-Code: 4.7.0 [TSS04] Messages from 136.143.169.51 temporarily deferred due to unexpected volume or user complaints - 4.16.55.1; see https://postmaster.yahooinc.com/error-codes Remote-MTA: dns; mta5.am0.yahoodns.net
Yahoo blocks e-mail sent from Zoho servers
Getting this for a bunch of Yahoo addresses. Do you know if some of your servers got blacklisted? Diagnostic-Code: 4.7.0 [TSS04] Messages from 136.143.169.51 temporarily deferred due to unexpected volume or user complaints - 4.16.55.1; see https://postmaster.yahooinc.com/error-codes
Working with dates and Function Field
Hello friends! I'm trying to add days to a date, however the field function will always shows 00:00:00 after the resultant date. How can I display only the date, whithout the time? toDate(input.request_date.addDay(input.Prazo_acordado),"MM,d,yyyy") The code above will result something like "11-Feb-2020 00:00:00", but I want to display only "11-Feb-2020"
What's New in Zoho Analytics - November 2025
We're thrilled to announce a significant update focused on expanding your data connectivity, enhancing visualization capabilities, and delivering a more powerful, intuitive, and performant analytics experience. Here’s a look at what’s new. Explore What's
Unable to send message;Reason:550 5.4.6 Unusual sending activity detected. Please try after sometime.
Please help my account got blocked automatically, can you help me how to avoid it? Thanks so much
Accessing shared mailboxes through Trident (Windows)
Hi, I have a created a couple of shared mailboxes. The mailboxes are showing up on the browser based Zoho workplace, but I cannot seem to figure out how to access my shared inboxes through Trident (Windows). Am I missing something or is this feature not
Unusual activity detected from this IP. Please try again after some time
When i try to create new addresses on my account i am getting this error, it has been 24 hours now and i am still getting this error can anyone help
temporary system errorlouis
J'essaye d'envoyer des mails avec mes 2 adresses mail qe nous avons sur le compte arthur@lepunch.fr et louis@lepunch.fr mais j'ai toujours le message temporaire system error, je reçois les mails mais impossible d'en envoyer a qui que ce soit
How to Cancel/Delete Queued Mail Merge?
Hi. I just tried to do a mail merge before realizing there's a limit on number of sends. I accidentally sent one of my lists twice, and all of those emails are currently queued. Is there any way to cancel or delete a queued mail merge? Would love to be
Need to add a new admin for my domain
Hello Zoho Support, I am the owner of the domain localeistanbul.com. The current super admin account (admin@localeistanbul.com) is not accessible. I do not want to reset or delete the existing account because I need to keep all existing emails. Please
Possible Fraud Site.
Hello. I received a text with the sender's name as zoho, claiming that my account was at risk and that I should sign in at https://verify.zohomails.ru/signin to verify my account. I signed in on the web address above, and a few days later someone hacked
Zoho mail to Teaminbox
Hello, We're searching for new mail program. Now I'm testing a bit with zoho mail and team inbox. My findings in the research: Pop mail throught zoho mail is almost instant. Any pop or imap via external provider takes a couple minutes to 15 minutes before
Crear tarea CRM con recordatorio desde Zoho Flow
Hola, estoy intentando crear desde Zoho Flow una tarea en CRM. Lo he logrado hacer pero sin recordatorio, ya que no se como se debe escribir el string adecuado. He probado varias alternativas, pero ninguna me funcionó hasta ahora. - FREQ=NONE;ACTION=EMAIL;TRIGGER=DATE-TIME:${FechaVto}
Tip of the week #16 - Search and filter threads based on criteria
Zoho TeamInbox lets you search and filter threads with any information that you have about the thread. You just have to input the criteria and Zoho TeamInbox will list all the threads that match the condition. Firstly, there is a global search you can
Inquiry Regarding Automated Assignment of Zoho TeamInbox Messages using Zoho Flow and Deluge
Hello, Our company is currently using Zoho TeamInbox, and we are interested in automating the assignment of responsible parties using tools such as ZOHO Flow and Deluge. Is it possible to achieve this? Allow me to provide more details. Currently, when
Customizing Global Search Settings for All Users
Hi Our team use the brilliant global search functionality within CRM many many times daily. But, we struggle with the out-of-the box columns that CRM gives you. We are always telling users to customize this look to more suit our business, to show the
Qwen to be the default open source Generative AI model in Zoho Desk
Hello everyone, At Zoho Desk, we will make the latest Qwen (30B parameters) the default LLM for our Generative AI features, including Answer Bot, Reply Assistant, and others. As a subsequent step, we will discontinue support for Llama (8B parameters).
Condition based aggregate fields in subforms
Hello everyone, We're excited to inform you about the latest enhancements made to our aggregate field capabilities in subforms; create aggregate fields based on conditions! An aggregate field is a column on which a mathematical function has been applied.
Upgrade Zoho Desk Agent-Side Answer Bot to GenAI
Hello Zoho Desk Team, We hope you're doing well. Following the recent announcements and rollout of the GenAI-based Answer Bot in Zoho SalesIQ (Nova '25), we’d like to formally request a similar upgrade for the Answer Bot used by agents inside Zoho Desk.
Marketers' Space: The importance of warming up your sender domain
Hello Marketers, Welcome back to yet another post! Today, we'll talk about why warming up your sender domain matters. Imagine you've recently started a business and want to share the news with your customers. You've designed a great email campaign using
An Exclusive Session for Zoho Desk Users: AI in Zoho Desk
A Zoho Community Learning Initiative Hello everyone! This is an announcement for Zoho Desk users and anyone exploring Zoho Desk. With every nook and corner buzzing, "AI's here, AI's there," it's the right time for us to take a closer look at how the AI
Search Just Got Smarter in Notebook
Hello there! Introducing Our New & Improved Search Experience! We heard your feedback! Many of you shared that our previous search had some challenges like • Inconsistent results across different clients • Limited accuracy in finding the right content
Zoho Desk app update - AI Integration for IM Chats
Hello everyone! We have now introduced AI integration for IM Chats within the Zoho Desk mobile app. To access the feature, please enable the 'Generative AI' settings on the desktop site(desk.zoho.com). Please refer to the help link attached below: Zoho
Open A.I assistant Connect with Zoho Desk instant Message Conversations
I would like to know how do I connect my instant messenger in Zoho desk with my Open A.I Gpt Assistant. this is very easy to setup using the Salesiq Zobot but when it comes to Zoho Desk i cannot figure how to make the connection. Ideal workflow Customers
Cannot upgrade subscription plan due to payment error message
Hi Zoho team, This is to request support on an issue I am facing during an upgrade I am trying to make to our company's yearly Zoho subscription. I am trying to add 3 more license to my plan and during the payment phase I get the below error as in the
Enhancing Zia's service with better contextual responses and article generation
Hello everyone, We are enhancing Zia's Generative AI service to make your support experience smarter. Here's how: Increased accuracy with Qwen One of the key challenges in AI is delivering responses that are both contextually accurate and empathetic while
Zoho Desk app update: AI powered features
Hello everyone! We’ve introduced various AI-powered services on the Zoho Desk app. Let's take a look at what's new. Generate Content: Generate Content uses AI to formulate responses based on the your query and provides a ready-to-use reply which can be
Passing the CRM
Hi, I am hoping someone can help. I have a zoho form that has a CRM lookup field. I was hoping to send this to my publicly to clients via a text message and the form then attaches the signed form back to the custom module. This work absolutely fine when
Bulk update Archived Ticket
Dear All We would like to update the "Category" values to the new filed. We found the archived Ticket seems to be don't support the bulk action. Do we have any way to update it. Finally, we would to generate a report for our ticket system. Regards I
SalesInbox
Sorry for saying this but SalesInbox is a really mess. BIG FAIL. Bad UX and VERY bad IMAP sync. I don't know how can someone use this to be more productive. It's just the oposite. I'm trying to use SalesInbox for a while but sales people do not have just sales activities so we still have to came back to the mail app anyway. Folders of SalesInbox are not in sync with folders of mail server (wich syncs Ok to mobile) and vice-versa wich leads to double work as now you have to cleanup 3 inboxes (Mail
Channel Configuration and Default Channels
There are some of the default fields that cannot be removed or changed. Examples are the social media ones, such as Facebook. It would be nice to be able to remove these fields as it would be confusing if someone selected this but it's not configure
Automating Employee Birthday Notifications in Zoho Cliq
Have you ever missed a birthday and felt like the office Grinch? Fear not, the Cliq Developer Platform has got your back! With Zoho Cliq's Schedulers, you can be the office party-cipant who never forgets a single cake, balloon, or awkward rendition of
Delay function execute
I've got a workflow which uses a webhook to send information to Flow, which in return updates a record in Creator. Problem is, by the time this has executed, the rest of my script has run and can't find the (yet to be) updated info in the record. Is there
Kiosk Button Actions
I need to add an action to a Kiosk Button to loop me back to start the kiosk again and I am not sure what that looks like (function, etc.).
Support www.camcard.com
Hi, Is it possible CRM Zoho have integrations with https://camcard.com/? Thanks Br, Andy
Option to Customize Career Site URL Without “/jobs/Careers”
Dear Zoho Recruit Team, I hope you are doing well. We would like to request an enhancement to the Career Site URL structure in Zoho Recruit. In the old version of the career site, our URL was simply: 👉 https://jobs.domain.com However, after moving to
Next Page