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!





    • Sticky Posts

    • Kaizen #198: Using Client Script for Custom Validation in Blueprint

      Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
    • Kaizen #226: Using ZRC in Client Script

      Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
    • Kaizen #222 - Client Script Support for Notes Related List

      Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
    • Kaizen #217 - Actions APIs : Tasks

      Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
    • Kaizen #216 - Actions APIs : Email Notifications

      Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are
    • Recent Topics

    • Different languages for users

      Hello, Do you plan to enable individual users to select their languages for interface? Currently language can be changed for everyone - it looks like a settings for a whole portal, which is not good when you are working internationally. Best regards,
    • Kaizen #222 - Client Script Support for Notes Related List

      Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
    • 2025年 Zoho コミュニティ 活動の振り返り 🎉

      ユーザーの皆さん、こんにちは!コミュニティチームの中野です。 2025年も多くの学びと出会いがあったZoho コミュニティ。 本記事では今年の活動を振り返りながら、フォーラムの投稿・参加者の皆さん・イベントのハイライトをご紹介していきます。 目次 フォーラム:注目の投稿 フォーラム:多くの貢献をしてくださった方々 ユーザー交流会振り返り ワークアウト振り返り その他のトピックス 1. フォーラム:注目の投稿 本フォーラムでは様々な議論と知識の共有が行われました。 ユーザーの皆さんが日々の業務で直面する課題を投稿し、経験豊富なユーザーさん達が実践的な解決策を提供してくださいました。
    • Customer Management: #3 Giving Customers Control & Privilege

      Rio, the founder of RenoTech Solutions, a fast-growing digital service company, found itself juggling a dozen different services for its clients. They handled one-time setup fees, recurring monthly invoices, and custom milestone-based billing for projects.
    • Can I use a Standalone CRM Function as the Callback URL For Async Export Data API?

      I am creating an export job using this API https://www.zoho.com/analytics/api/v2/bulk-api/export-data-async/create-export/view-id.html There is a "callbackUrl" key in the CONFIG object. I tried copying the URL for a standalone function in CRM which can
    • Add RTL (Right-to-Left) Text Direction Support Across All Zoho Learn Editing Interfaces

      Hi Zoho Learn Team, Hope you're doing well. We would like to request an important enhancement to Zoho Learn regarding support for right-to-left (RTL) languages such as Hebrew and Arabic. 🔹 Current Issue While the Knowledge Base Article editor provides
    • Add Hebrew Support for Meeting Transcripts Provided by ZIA in Zoho Cliq

      Hi Zoho Cliq Team, Hope you're doing well. We would like to request the addition of Hebrew language support for the Meeting Transcript and Summary feature in Zoho Cliq. Currently the transcript and summary feature is available for recorded meetings and
    • Remote Control Functionality During Screen Sharing in Zoho Cliq

      Hello Zoho Cliq Team, We would like to request the addition of remote control functionality during screen sharing sessions in Zoho Cliq. Currently, while screen sharing in Cliq is very useful, it lacks the ability for another participant to take control
    • Centralized Organization Information Management in Zoho One

      Dear Zoho One Support, I'm writing to propose a feature that would significantly improve the user experience and streamline data management within Zoho One. Current Challenge: Currently, managing organization information across various Zoho One apps requires
    • Enhance Zoho One Conditional Assignment to Fully Reassign App Settings When Changing Departments

      Hi Zoho Team, We’d like to submit a feature request regarding the current behavior of Zoho One’s conditional assignment logic when moving a user between departments. 🔧 Current Limitation As it stands, Zoho One’s conditional assignment does not remove
    • Ability to Filter Alias Mailboxes in Zoho Recruit

      Dear Zoho Recruit Team, I hope you are doing well. We would like to request a feature enhancement regarding the handling of alias mailboxes in Zoho Recruit. Currently, when we connect an alias mailbox (e.g., jobs@domain.com) from our Zoho One account
    • Automatic Department and Employee Sync Between Zoho One and Zoho People

      Dear Zoho Support, I'm writing to propose a valuable feature request that would streamline data management and improve user experience within the Zoho ecosystem: automatic synchronization between departments and employees in Zoho One and Zoho People.
    • Prefered Bin Missing in android APP

      Andoroid app dosent show preferred bin in the picklist. The workaround support reccomend is to use the computre to create the picklist. it shuld be information to be shown aas basic for the pciker.
    • Open Sans Font in Zoho Books is not Open Sans.

      Font choice in customising PDF Templates is very limited, we cannot upload custom fonts, and to make things worse, the font names are not accurate. I selected Open Sans, and thought the system was bugging, but no, Open Sans is not Open Sans. The real
    • Function #1: Convert an accepted Estimate to Sales Order automatically in Zoho Books

      As you’re aware, Zoho Books provides a default option to have the estimates automatically converted to invoices once your customer accepts them. Many of you wanted a similar option for sales orders, so here’s a workflow that converts accepted estimates
    • Reusable Jira Connection for Multiple Zoho Projects Imports

      Hello Zoho Projects Team, We would like to raise a concern and submit a feature request regarding the Jira → Zoho Projects migration process, specifically around how Jira connections are handled. Current Behavior: When setting up a Jira connection for
    • Zoho invoice doesn't support Arabic language

      I added a clause in the terms & conditions section in Arabic but it doesn't appear when I sent or print it.
    • Recurring Invoice Placeholder Not Updating Billing Period

      Hi, I’m using Zoho Invoice Free and want the billing period to update automatically in recurring invoices. In Item Description I tried: Billing Period: %(m-6)% %(y)% to %(m-1)% %(y)% but even if the invoice date is in 2026, it still shows the period based
    • 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
    • Can't update the company address in zoho invoice

      Dear Sir/Madam, I want to update the company address in Zoho Invoice but failed. It popped out a sentence "Invalid value passed for Website". Please advice how to solve this problem. Thank you.
    • Is there a plan to allow for the hierarchical organization of Customers / Companies in Zoho Billing?

      We have a few customers who have organizational structures that we haven't quite found a way to deal with in Zoho Billing. In CRM, these sub-companies (or subsidiaries or whatever you want to call them) all have another CRM account as the parent account.
    • 【Zoho CRM】作業リスト機能リリースのお知らせ

      ユーザーの皆さま、こんにちは。コミュニティチームの藤澤です。 今回は「Zoho CRM アップデート情報」の中から、作業リスト機能リリースのお知らせ情報をご紹介します。 目次 作業リスト機能 概要 機能① 自分の未完了の活動 機能② 処理待ち 機能③ 自分の作業リスト 作業リスト機能 概要 営業チームでは、CRM内に業務やデータが分散しているため、管理が煩雑になりがちです。この断片化は、機会の見逃しや生産性の低下につながります。 作業リスト機能は、タブを横断する業務項目をひとつのカスタマイズ可能なダッシュボードに集約し、業務を効率的に管理できるようにします。
    • SalesIQとPageSenseの利用について

      初めての投稿で場違いだったらすいません。 弊社ではSalesIQを運用しているのですが、追加でPageSenseの導入もしたいと現場からの声があります。 両サービスともクッキー同意バナーが必要なサービスなのですが 弊社では同意無しに情報はとりませんという方針なので 2つ入れると2つバナーを出す必要がでてきます・・・ 両サービスを運用されてる方があれば運用状況とか教えてほしいです。 PageSenseについては詳細まで機能を理解してないなかでの質問です。
    • Parent-Child Tickets using API or Deluge

      Hi Everyone, We are looking at the parent-child ticketing features in Zoho Desk. We want to be able to create a parent ticket at customer level and nest child tickets underneath. The issue we are facing is to be able to automate this. I'm checking the
    • Closing connected ticket after closing WA conversation

      Hi, At the moment, once someone sends a message to our WA number, a corresponding ticket is automatically created. After the question is answered, our support department closes the chat/conversation. However, after that, the connected ticket is still
    • Note sync turn off

      Hi, Is it possible to turn off notes sync between task notes and the parent module? (Account/Deal)
    • Basic Plan Active but Survey Creation Still Limited to 3 Surveys

      I have an active Basic (Monthly) subscription (valid period: Dec 24, 2025 – Jan 24, 2026), but the system still limits survey creation to only 3 surveys, which matches Free plan behavior. The subscription appears active in Portal Information, however
    • 2025 in Review: Powering Field Services Forward—One Feature at a Time

      As 2025 draws to a close, it’s time to pause and reflect on a year of meaningful progress at Zoho FSM. This year was all about listening closely to our customers and partners, building with purpose, and continuously improving the way field service teams
    • API Support for Creating Invoices with Batch-Tracked Items

      Hi Zoho Community, I am working on an integration where we create invoices in ERPNext and push them to Zoho Books. I need to send batch-tracked items (batch numbers) when creating invoices. I could not find any reference in the Zoho Books API documentation.
    • New to automation - please help

      Hi there! We are new to automations in Zoho. We built out one automation campaign and it seems to be firing off for some people but others not. Please advise what's the best practice or if anything we should tweak. Thank you so much!
    • Unable to Create Zoho Booking via the Book Appointment API

      Its giving the below error {     "response": {         "errormessage": "Error setting value for the variable:customer_details\n null",         "status": "Error"     } } Request: POST Url: https://www.zohoapis.in/bookings/v1/json/appointment attached Zoho-oauthtoken
    • Task Details on task template

      When creating a task template in settings that task details seem to be missing. Is it not possible to set the details of a task, such as the priority, type, reminder settings, and custom field values?
    • Building Toppings #3 -Testing and publishing Bigin toppings

      Hey Biginners! In previous forum posts, we discussed what a Bigin topping is and explored the Bigin Developer Console's features. In this post, we're going to create a topping from scratch and discuss how to test and publish it. Our topping will automate
    • markdown files?

      How can I import a markdown file into a note?
    • Mail to Zoho Notebook

      In the Instuctiosn I faound as email add@notebook.app In my account I see add@eu.notebook.app What is correct please
    • Auto-Invite Users to Portals in Zoho CRM based on Conditions

      Hello Everyone, You can now automate portal invitations in Zoho CRM with the new Auto-Invite users feature in Portal management. No more manually enabling portal access one by one. With this enhancement, you can automatically send invites for users to
    • Growth You can Count On: Zoho Billing's 2025 Journey

      As we wrap up 2025, we’re reflecting on a year rooted in steady progress and meaningful growth for Zoho Billing. Every enhancement we have introduced was built to support scalable and reliable billing growth for your business. From launching the Enterprise
    • Need help with creating workflow with Bigin and Clickup

      Can you please help me with this? I am trying to create a workflow in Zoho Flow wherein a bigin Pipeline deal moves to Decision Closing, it will create a task and subtasks in Clickup, under the condition/filter that the Deal name contains the word Social
    • [Webinar] Automate generation of wills, trusts, POAs, and other estate planning documents with Zoho Writer

      Managing the lifecycle of the estate planning documents such as wills, trusts, and POAs, from client intake to final storage, can be complex and time-consuming. Join our live webinar to learn how Zoho Writer transforms this process by automating document
    • Create / Update Rule in TeamInbox when record is updated in ZohoCRM using flow?

      I'm currently evaluating options and trying to work out if the possible scenario is possible; If a record in ZohoCRM is updated, take 2 of the fields from that - lets call them 'OrderRef' and 'OrderTo'. Using flow, if a record is added or updated, add
    • Next Page