Kaizen 179: Choosing between ZDK CLI and Web UI : When to Use Each

Kaizen 179: Choosing between ZDK CLI and Web UI : When to Use Each


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.

Notes
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

        • How to Download a File from Zoho WorkDrive Using a Public Link

          How to Download a File from Zoho WorkDrive Using a Public Link If you're working with Zoho WorkDrive and want to download a file using a public link, here's a simple method to do so using API or a basic script. This approach helps developers or teams
        • Facturation électronique 2026 - obligation dès le 1er septembre 2026

          Bonjour, Je me permets de réagir à divers posts publiés ici et là concernant le projet de E-Invoicing, dans le cadre de la facturation électronique prévue très prochainement. Dans le cadre du passage à la facturation électronique pour les entreprises,
        • Introducing AI Modeler—a no-code approach to adding AI to your business applications

          Forward-thinking businesses today are embracing AI to make life easier for themselves, their employees, and their customers. But if you haven't started yet, you might be concerned that your business will be left behind. Or maybe you're worried because
        • Tip #20 - Three things you probably didn't know you can do with picklists

          Hello Zoho Sheet users! We’re back with another quick tip to help you make your spreadsheets smarter. Picklists are a great tool to maintain consistency in your spreadsheet. Manually entering data is time-consuming and often leaves typos and irregular
        • Zoho People how do i view the history of leave taken

          Hi All What is the report that i am unable to view the history of the leave taken for an individual and team?
        • UK Registration for VAT with existing stock/inventory

          We have an existing inventory of stock and are investigating how to handle the conversion from a UK VAT unregistered company to a UK VAT registered company. Enabling VAT registered status looks extremely easy, but we cannot find any way within Books to
        • Trigger action after workflow

          I would like to trigger a deluge function after the approval workflow is complete. Is this possible? The objective is to take the approved document and move it over to Zoho Contracts to send out to our customer for review and signature. The reason we
        • Is it possible to create a meeting in Zoho Crm which automatically creates a Google Meet link?

          We are using Google's own "Zoho CRM for Google" integration and also Zoho's "Google Apps Sync" tools, but none of them provide us with the ability to create a meeting in Zoho CRM that then adds a Google Meet link into the meeting. Is this something that
        • Unable To Enable Google Calendar Sync

          Hi Folks, I am unable to enable google calendar sync. I get Internal Error, Problem Occurred Internally. Screenshot attached. How do I solve this?
        • Export to Zoho CRM Not Triggering Workflow Rules

          Hello, I have set up an automated export from DataPrep to Leads in CRM but none of my Workflow Rules are triggering once the leads are created. The Timeline history is completely empty in every lead. How can I fix this issue? Do I need to set up a Schedule
        • 【Zoho Projects】サンドボックス機能(テスト環境)リリースのお知らせ

          本投稿は、本社のZoho コミュニティに投稿された以下の記事を参照し作成したものです。 Sandbox - Your Secure Testing Space in Zoho Projects ユーザーの皆さま、こんにちは。コミュニティチームの中野です。 本投稿では、Zoho Projects のサンドボックス機能リリースについてご紹介します。 サンドボックス(テスト環境)とは? Zoho Projects の「サンドボックス」は、新たな設定を作成、検証、そして既存の処理を妨げることなく本番環境に適用することができるテスト環境です。
        • Sending from domain alias

          In the Control Panel/Domains, I have set up some domains as aliases for my main domain. Only my main domain has mail hosting. The other domains are verified as aliases for the main domain, and emails sent to <user>@<alias domain> arrive successfully at
        • Difficult to Purchase More users

          It's surprisingly difficult and un-intuitive to purchase more user licenses in Zoho One under the new UI. It's not actually possible to do it anywhere from the admin interface. You have to leave the admin/directory section, then click your profile icon,
        • How to link web sales payments through Stripe to invoices?

          I have just set up an online shop website which accepts payments through Stripe.  The payment appears in Zoho Books through the Stripe feed as 'Sales without invoices'.  In order to keep Zoho Inventory in step, I manually (for now) create a Sales Invoice
        • Announcing New Features in Trident for macOS (v.1.22.0)

          Hello everyone! Trident for macOS (v.1.22.0) is here with thoughtful updates to improve your daily workflow. Here's a quick look at what's new. Switch email response type easily. You can now switch between Reply, Reply All, and Forward directly in the
        • Layout Rules / Quick create

          Hello, is there a way to create a layout rule for quick create option? Regards, Katarzyna
        • Zoho Notebook Will Not Open After App Install

          I am a new user of Notebook. I was able to successfully import my data from Evernote and the product is working well on a Windows 11 computer and Pixel device. I have also installed Notebook on a Samsung S6 lite tablet however the software freezes on
        • Leads, contacts, deals table view is not sorting

          i am unable to sort the table view of leads, contacts and deals
        • Conditional Layouts On Multi Select Field

          How we can use Conditional Layouts On Multi Select Field field? Please help.
        • Zoho CRM Multi-select values not translated

          Hello! I have some issue with translate custom multi-select fields in zoho CRM in other language. I download export file, but it has all my custom fields and picklist values exept multi-select fields picklist values.  Please, help me to undestand, is
        • Unable to Download Invoices via API – Code 57 Authorization Error

          I’m integrating the Zoho Billing API with the scopes ZohoInvoice.invoices.CREATE,ZohoInvoice.invoices.READ. I’ve completed the OAuth2 flow successfully, including generating the auth code, access token, and refresh token. All tokens are valid and fresh.
        • Weekly Tips : Stay in loop with Conversation View

          You receive a series of emails back and forth with a client regarding a project update. Instead of searching through your inbox for each separate email, you would want to see the entire email conversation in one place to understand the context quickly
        • Introducing Zoho PDF Editor: Your free online PDF editing tool

          Edit your PDFs effortlessly with Zoho PDF Editor, Zoho's new free online PDF editing tool. Add text, insert images, include shapes, embed hyperlinks, and even transform your PDFs into fillable forms to collect data and e-signatures. You can edit PDFs
        • RSC Connectivity Linkedin Recruiter RPS

          It seems there's a bit of a push from Linkedin Talent Solutions to keep integrations moving. My Account Manager confirmed that Zoho Recruit is a Certified Linkedin Linkedin Partner but does not have RSC as of yet., (we knew that :-) She encouraged me
        • Water-Scrum-Fall approach for finance institutions with Zoho Projects Plus

          Finance is a highly regulated sector with strict rules and compliance requirements. Handling sensitive client data and complex transactions like multi-currency deals requires elaborate workflows and precise management. Implementing project management
        • Get instant summaries of your notes with the help of Zia

          Hello all, We've added a simple yet powerful feature to Zoho CRM that we're excited for you to try: Zia Notes Summary. It's designed to make the daily lives of a CRM user a bit easier by giving you quick summaries of your CRM notes. Whether it's a glance
        • Zoho one web page are not available

          Why I am not able to enter to zoho one web page?
        • Zoho People > Onboarding > Candidate do not view all the data field on the Employee Onboarding

          Hello In my onboarding portal I do not see all the fields that i want the candidate to fill in In my Employee Onboarding Form These details i can see In the work information, i have enable the Company View but in the Employee Portal i do not see I have
        • Has anyone implemented a ""switch"" to redirect emails in production for testing?

          Hi everyone, In our production Zoho CRM we have a fairly complex setup with multiple Blueprints and Deluge functions that send emails automatically — to managers and internal staff — triggered by workflows. We’re looking for a way to *test changes safely*,
        • Restrict Access/Shared Access

          Sometimes access to documents that go out from Zoho Sign need to be restricted or shared. For example: 1) HR department send out employment contracts. Any Zoho Sign admin can view them. Access should be restricted to those that HR would allow to view
        • Tip#44: Integrate with Xero to manage your financial operations

          Managing your project finances becomes more efficient with Xero integration in Zoho Sprints. With this integration, you can sync your Zoho Sprints data with Xero. Once you sync them to Xero, you can easily create invoices in Xero. This feature significantly
        • Zoho People Onboarding Unable to Convert to User

          Hello All I need help in this onboarding of candidate Currently at this stage the candidate is just being offered and we are filling in his details however not all information are fill up. The candidate is still using his/her personal email When i try
        • Integration with SharePoint Online

          Is there an integration where we can add a Zoho Sign link to the context menu of a document in the SharePoint document library. Then, we could directly initiate a workflow of sending a document for signature from a document library in SharePoint onl
        • White screen when connecting Zoho Cliq and Zoho People for birthday notifications

          Hi everyone, I'm new to Zoho and I'm trying to set up the employee birthday notifications, following this guide: Automating Employee Birthday Notifications in Zoho Cliq But when I try to connect Zoho Cliq with Zoho People, I just get a white screen and
        • Word file is messed up when i upload it to zoho sign

          Hi. I am trying to upload a word file to zoho sign and when i do that it ruins the file, It adds spaces and images are on top of each other. What can i do? Thanks.
        • Annotate widget?

          Is there something in creator or any zoho app that allows me to have an image markup field item in the form? I need to be able to complete a form that also allows the user to mark up a preloaded image. Other compay's call this an image markup field or
        • Dashboards / Home Page - Logged In User

          Lots of the dashboards that we use reference the Logged In User.  We also set up Home Pages for specific roles, where the Logged In User is referenced within the custom view.  As an admin, that means that these views are often blank when customizing and
        • I'm pissed as fuck

          What the hell Zoho! Always the same goddam problem. It takes time because the simplest things just don't fucking work. Today it just took me 3 hours to complete and send a 1page privacy letter to a client. And you know what 99% of the document was already
        • Configure Notifications for API Limit

          Hello developers, APIs are essential for businesses today as they enable seamless integration between different software systems, automate workflows, and ensure real-time data sync. To ensure that admins are notified well in advance before APIs reach
        • Introducing Blueprints for Custom Modules!

          Hello developers, We've added a new feature called Blueprints in Custom Modules. Blueprints are the online representation of a business process. In Zoho Books, you can use Blueprints to design a process flow using states and transitions. Developers can
        • Next Page