Extensions 101: Build Extensions for Zoho Finance suite

Extensions 101: Build Extensions for Zoho Finance suite



Hello Developers!

We are thrilled to announce our 5-day webinar series on building extensions for Zoho Finance Suite products.

Our first session was a resounding success, introducing Extensions, Zoho Developer, Zoho Marketplace, and the Zoho Books Developer platform. The session was not only informative, but also highly interactive. We look forward to continuing this momentum in our upcoming sessions.

If you missed the first session, you can find the recording below. To participate in our upcoming sessions of this series, you can register here.



As part of our commitment to your learning, we have carefully curated the questions received during the session and provided answers. We understand your questions are crucial to your understanding, and we are here to support you.
  1. Could you help us with more information related to Zoho Platform in general, Zoho Flow, and Zoho Creator.
    You can find the details about the different platform capabilities in the following link. https://www.zoho.com/developer/apps.html. You can also refer to this video, which explains the Zoho Developer platform and the different sections available in it.

  2. How do we make connections work in the test environment?
    The base URL for testing APIs in the developer portal sandbox is
    https://extension-books.sandbox.zoho.com.
    The respective team is working on a fix to resolve this, so that "api_root_endpoint" from the Organization map can be used without any issues to test the APIs in the sandbox. We will keep you updated here in this post once the fix is rolled out live.

    [Updated on 02/Jul/2024]
    As mentioned earlier, the issue has been fixed and rolled out. Now, you can use the "api_root_endpoint" from the Organization map, which will automatically fetch the current environment's base URL. You can refer to the code snippet below for fetching Books information with your connection details:

    organizationID = organization.get("organization_id");
    apiEndpoint = organization.get("api_root_endpoint");
    respcontacts = invokeurl [
         url :apiEndpoint + "/contacts?organization_id=" + organizationID
         type :GET
         connection:"xxxxxxxxxx"
         ];

  3. What are the criteria to be considered while choosing to utilize a Private Extension or performing the customizations on a Zoho Books instance?
    A private extension would be helpful when you need to share a customized feature with multiple Zoho Books instances (orgs or users). Otherwise, you can go with product customization.

  4. Are global variables created in an extension accessible in other extensions/widgets?
    No, global fields can be accessible within the extension in which they were created. If necessary, visibility can be controlled within the extension.
    https://www.zoho.com/books/developer/extensions/configuration.html#global-fields

  5. Is it possible to connect WhatsApp business account with Zoho books along with its features?
    No. You cannot directly connect an application with Zoho Books. For any integration with Zoho Books, a secure and valid connection with the respective product must be established. Following that, you need to build the integration based on the use cases you plan to achieve. This implementation will depend upon the platform as well as the products' supported features.

  6. How do I construct data for items, materials, and prices without manually editing items as it consumes more time?
    With widgets and APIs, you can use your own user interface to create the respective module's records.

  7. Can we use global variables to store sensitive information needed for use by the extension/widget? What is the alternative to global variables?
    While reviewing the extension, we don't encourage storing users' sensitive information as per privacy policies. Other than that, if you need some data to be stored securely and used within an extension, global variables would be the best option. Otherwise, you can store it through a widget.

  8. Is the sandbox data retained between tests?
    Yes. The data will be retained.

  9. How do widget and extension share data?
    Similar to how you add various components to your extension, widgets are also added as a component. Unlike the other components, widgets must be embedded into Zoho Books at a specific, customizable location. Consequently, data or values defined within an extension will be accessible from a widget. The visibility and accessibility of the data can be controlled depending on how it is defined.

  10. Can I access the Zoho Developer from my Zoho Books?
    No. Zoho Developer is a free cloud platform that allows users to build different types of apps for Zoho products. You can only develop extensions for Zoho Books using this platform.

  11. Use case: When a contact is linked to a product in Zoho CRM, a new ticket needs to be created in Zoho Desk. To implement this, how can I connect to Zoho Desk to create a ticket?
    To implement your use case, you must create an extension for Zoho CRM with a connector for Zoho Desk. You can invoke the Desk API to create a ticket using that connector.

  12. Is approval from the Zoho Books team required for a private extension?
    Yes. A review of private extensions will be done for the initial phase. Since finance suite extensions involve financial data, the review is mandatory.

  13. Which Zoho Books plan is offered in the developer platform? Also, which plan of Zoho Books is required to test and install an extension?
    The Ultimate plan of the Indian edition is applied by default in the Zoho Books developer platform to build extensions. All the features available as part of the Ultimate plan will be available during your extension development on the developer platform.

    With regard to the plan required to test an extension, a 14-day trial plan should suffice. However, if you already have a paid org, it's recommended to have a Premium or above plan to test and install the extension. If you're using other paid plans, the suitability depends on the component's limits. Please refer to this link for more details: https://www.zoho.com/in/books/pricing/pricing-comparison.html?highlight=professional#:~:text=Customization%20and%20automation

  14. Should we post in the developer forum or write directly to the support email for suggestions and help.
    If your query is a support question related to a Zoho product, you can email the respective Zoho product's support email address. However, the developer forum is ideal if you want to validate your thoughts from other Zoho users. There are 100+ million users in the forum. The challenge you face could have already been shared and discussed by other users. Hence, the Zoho Cliq developer forum is an efficient mode of quick exchange of thoughts.

  15. When will the comments in threads be accessible to Cliq channel users in EU data center?
    We love for all customers across the world to come together, exchange knowledge, and grow together. Our Cliq team is working to address some bottlenecks, like checking the thread, regardless of your DC. We will be the first to update you once the feature is ready.

  16. How can I use the request method within a widget?
    We have SDKs for widgets to communicate with Zoho Books. The ZFAPPS.request() method will help you to make a network request. You can learn more here.

  17. Will there be support for SDK methods for package module in future?
    We have currently supported SDK methods for limited modules. We will add the missing modules in future updates.

  18. Does the get method work only when we are on a particular module?
    The get method helps you to get records' data only on specific locations. For example, consider that you are on the sales order page; you can get the 'salesorder' data only. If you require other details, you have to use the request method to initiate an API call.

  19. What is the difference between Integration and extension?
    The terms integration and extension are almost similar. Integrations include both API-built apps as well as platform-built apps.

    Extensions: We use this term to the apps that are built using the Sigma platform, wherein you can make enhancements to extend the existing functionality of a Zoho product by customising the product or connecting with other applications.

    API-built apps: These apps could be built in any development environment of your choice, and you would consume the respective Zoho product REST APIs to implement your use case. In these types of apps, you would be operating more on the data of the respective apps.

  20. What's an example of a web tab?
    Say you've created a Zoho Creator application to manage the manufacturing process, POS, or a specific aspect of your business. You can copy the embed URL and create a web tab for it. Now, you’ll be able to access this Zoho Creator application within Zoho Books instead of opening it in a separate browser tab.

  21. Can we have a Zoho Books web tab directly inside Zoho CRM? Finance is available, but it is limited in its functionality.
    No, the entire Zoho Books product cannot be constructed as a web tab inside Zoho CRM. In general, a web tab is used to embed a page inside the product. However, Zoho finance inside the Zoho CRM is an integration with additional functionalities.

  22. What happens if an extension is not approved after review? Can it not be published on the Marketplace, or can I not use it as well?
    An approved extension can only be deployed in the Zoho marketplace. If it is not approved, you can make the necessary changes and send it again for review. Until then, you can use the extension locally and share it privately with your customers.

  23. What is the size limit for data storage in the Zoho Books widget?
    Up to 10000 characters can be stored.

  24. For third-party integrations, can you host the API pull request on Sigma?
    Yes. To invoke third-party APIs, you can use the request SDK method. These topics will be covered in our upcoming sessions. Stay tuned :)

  25. Is there any charge for building and listing extensions?
    No, the Zoho Developer platform is free, and hence, there is no charge for building extensions or listing them in the Zoho Marketplace.

  26. Can we create extensions using trial account also? I am unable to create extensions for CRM in my trial account.
    In general, trial accounts can be used to test product functionalities. Since Zoho Developer is a free cloud platform, you can sign up for a Zoho Developer account and directly start with extension development. Also, the extensions for Zoho CRM can be developed using a Zoho Developer account in the U.S. DC only.

  27. In the Zoho Books widget, is there any method to retrieve records from another module without using the request method, perhaps through any SDK methods?
    Sorry, this is not possible right now.

  28. As an individual developer and not a company, is it possible for me to create extensions?
    Yes, you can go ahead and create extensions if you have a Zoho Developer account.

    • Sticky Posts

    • Zoho Developer Community Monthly Digest - December 2024

      Hello everyone! As we step into the new year, let’s reflect on the strides we’ve made together and gear up for the exciting opportunities 2025 holds. This month’s digest highlights key updates, engaging discussions, and upcoming events designed to keep
    • Zoho Developer Community Monthly Digest - November 2024

      Hello everyone! Welcome back to the November edition of the Developer Community Monthly Digest. Dive in to explore the upcoming events, hands-on training sessions, exciting product updates, insightful discussions, and more to keep you informed and inspired!
    • Zoho Developer Community Monthly Digest - October 2024

      Hello everyone, This edition highlights October's product updates, upcoming community events, engaging discussions that sparked inspiration, and celebrates the top contributors who drove progress. Grab your favorite beverage and dive in! Upcoming Events
    • Zoho Developer Community Monthly Digest - September 2024

      Hello everyone, This month's Developer Digest is packed with resources to help you build powerful applications. Learn how to leverage Zoho CRM's new features, explore the latest in Zoho Finance and Catalyst, and join exciting bootcamps, webinars, and
    • Zoho Developer Community Monthly Digest - August 2024

      Hello everyone, Get ready for another exciting month of Zoho development! Our August digest is packed with events, resources, and community discussions to empower you as a Zoho developer. Let's dive right in! Upcoming Events To stay on top of the upcoming
    • Recent Topics

    • [Product update] Instagram Profile Integration with Zoho Analytics

      Dear Customers, We want to inform you about an update affecting the Instagram Profile integration with Zoho Analytics. Meta will deprecate certain metrics from January 8, 2025 as per their announcement in this document. To ensure uninterrupted syncs in
    • Nimble enhancements to WhatsApp for Business integration in Zoho CRM: Enjoy context and clarity in business messaging

      Dear Customers, We hope you're well! WhatsApp for business is a renowned business messaging platform that takes your business closer to your customers; it gives your business the power of personalized outreach. Using the WhatsApp for Business integration
    • 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
    • Zoho CRM - how to change SuperAdmin

      Hi there - I'm looking for current guidance on how to change the Zoho superadmin for our company - I'm transitioning out of my role and need to delegate to another adminisstrator
    • Translation support expanded for Modules, Subforms and Related Lists

      Hello Everyone!   The translation feature enables organizations to translate certain values in their CRM interface into different languages. Previously, the only values that could be translated were picklist values and field names. However, we have extended
    • Automatic Portal invite

      We have numerous customers we move through a blueprint in deals, when they get to a certain point we need to give them portal access, how can this be done through deluge or a workflow?
    • Pass json to ZDK.Client.openMailer TO parameter

      Hello I try to make send emails to a list of emails with : ZDK.Client.openMailer({ from: 'example@zoho.com', to: details_output, subject: 'test Mailing List', body: 'Test Mailing List Body' }); where details_output is an array like : [{ "email": "testcarte18078@test.com",
    • Create a field in Leads that is displayed in Contacts and Accounts

      I am trying to set it up so that if I create a field "Deals" which I have set up in the Deals module, that any selection made in the Leads module when this is converted to Contact that the selection made under the Deals field in the Leads module will
    • Zoho Analytics in 2024: A look back

      Happy new year to everyone in the Zoho Analytics community! As we welcome 2025, here's a look back of important happenings in 2024.
    • Approval Processes Issue

      Hello, I have a significant issue that could potentially cause serious problems for our company. We have developed a new module that we use as a payment request module. In short, payment requests are made through this module and are approved by different
    • 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
    • Bulk create tasks - Zoho Projects API

      Hi Zoho/Community, I am trying to create multiple tasks in a single API call, is there a way we can combine multiple request bodies into one single payload? The issue I am facing is the rate limiting on the API, I wanted to create certain amount of tasks
    • Function Needed: Update Account or Contact Profile Image

      Hey there! Zoho doesn't have the ability to automatically populate company logo or contact images once a domain/email is added to a record. This can be done via Clearbit's Logo API: https://clearbit.com/logo  I would like to create a deluge script that
    • Whatsapp Limitation Questions

      Good day, I would like to find out about the functionality or possibility of all the below points within the Zoho/WhatsApp integration. Will WhatsApp buttons ever be possible in the future? Will WhatsApp Re-directs to different users be possible based
    • Mass Email and security

      When I send a mass email to multiple candidates, can they see each other's emails?
    • Context and convenience just got better with Zia's email intelligence

      Dear Customers, We hope you're well! We are in 2024, and email as a tool is only getting more powerful each day. While it enables seamless daily correspondences, we are here with a set of abilities that will enhance your user experience and save several
    • Add home page or dashboard in CRM customer portal

      is it possible to add home page or dashboard in CRM customer portal?
    • 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
    • Zoho mail stopped receiving emails

      My Zoho email addresses that are linked to a domain suddenly stopped receiving messages yesterday, even though I've been using Zoho mail without problems for 1,5 years. I receive this reply to test emails: "553 Relaying disallowed". Due to this, my SMTP
    • WebDAV / FTP / SFTP protocols for syncing

      I believe the Zoho for Desktop app is built using a proprietary protocol. For the growing number of people using services such as odrive to sync multiple accounts from various providers (Google, Dropbox, Box, OneDrive, etc.) it would be really helpful if you implemented standard protocols such as WebDAV / FTP / SFTP so that alternative inc clients can be used.
    • Download all the Attachment From Document Section Zoho Project

      Hello Team, I hope this message finds you well. I am currently facing an issue while trying to download all the documents associated with a Zoho project. Here’s the scenario: We have more than 150 tasks in a single project. Each task may have documents
    • Is there a way to automatically move a task from a different tasklist to another tasklist when certain criterias are met?

      Hi there, Im new to zoho projects and i was wondering if there was a way to automatically move a task from a tasklist to another tasklist based on criteria such as when the task status is updated to completed and have it move to the tasklist that is named
    • Checklist/ save to onedrive/ a group of items invoicing in Zoho FSM

      hi, is there a way to add a specific checklist to any WO without passing eachtime by the model customization? can we save file such picture directly in our sharepoint ak onedrive? is there any way to add a group of item pre defined to make invoicing easier
    • 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
    • Change Last Name to not required in Leads

      I would like to upload 500 target companies as leads but I don't yet have contact people for them. Can you enable the option for me to turn this requirement off to need a Second Name? Moderation update (10-Jun-23): As we explore potential solutions for
    • Auto-sync field of lookup value

      This feature has been requested many times in the discussion Field of Lookup Announcement and this post aims to track it separately. At the moment the value of a 'field of lookup' is a snapshot but once the parent lookup field is updated the values diverge.
    • Zoho Finance Limitations 2.0 #12: Can't sync Books System Fields (Item Category or Preferred Vendor) to CRM Products. Double entry required

      We add products to Books and sync them to CRM whenever updates are done. However I still have to do double entry because the Books "Item Category" and "Preferred Vendor" fields are not available as options to sync. Scenario Workflow I add a new product
    • Copy across spreadsheets in Zoho Sheet

      Now, you can copy your sheets to other spreadsheets or create a new spreadsheet with them. Not just sheets, copy a cell/range and paste it on any spreadsheet with formats and formulas unchanged. Copy cells/ranges Copy cells/ranges to same/different spreadsheets using Copy & Paste options, or Ctrl+C and Ctrl+V shortcuts. Copy sheet To the same spreadsheet The feature for creating a copy of a sheet in the same spreadsheet is now available as 'Duplicate'. Into a new spreadsheet Want to start a new spreadsheet
    • Rich-text fields in Zoho CRM

      Hello everyone, We're thrilled to announce an important enhancement that will significantly enhance the readability and formatting capabilities of your information: rich text options for multi-line fields. With this update, you can now enjoy a more versatile
    • 100 record view limitation

      I have just migrated from another CRM and am starting in ZOHOcrm with over 5000 contacts. It seems that my searches and sorts are limited to 100 live records....or am I missing something. This seems to be very limiting...in a lot of scenarios (mass email,
    • Used & Non used Inventories

      I have a list of used inventories with campaign names and creation dates. I want to show the count of used and non-used inventories in a dashboard with a date filter (like last 30 days, last 3 months). I’ve written a query for the count, but the date
    • How to search Locked Record?

      Hi, I have script like below, however seems this cannot search those locked record. what para I can add to search locked record? var invoice_info_list = ZDK.Apps.CRM.Invoices.searchByCriteria("(Sales_Order:equals:"+ so_record_id +")");
    • My Zoho Story #8 ネットワイズ フチーロさん:プロジェクト管理から顧客対応までをZoho One で実現

      こんにちは。Zoho コミュニティチームです。 「My Zoho Story」では、Zoho の活用により自社ビジネスを成長させてきた軌跡を、さまざまな業界のユーザーにお聞きします。その経験や知見を、Zoho 活用の幅を広げる参考にしていただきたいと考えています。 今回ご登場いただくジェフリー フチーロさんは、ウェブサイト制作・デザイン、ウェブマーケティングを得意とするデジタルマーケティング会社、株式会社ネットワイズ(netwise)でオペレーションディレクターおよびZoho 運用責任者として活動されています。フチーロさんと同社がどのようにZoho
    • 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
    • Limit excceding issue in zoho creator

      I am transferring data from Zoho Books to Zoho Creator using a Deluge script. However, I am frequently encountering a "limit exceeding error," which seems to be related to the Deluge statements limit. I reached out to Zoho Support, and they informed me
    • 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
    • How create deal with label added using api

      Hi, I am creating automations in n8n for Zoho CRM. I want to create a new deal with a label added at the same time. However, I keep getting an error. Using the API, I can create a deal successfully, but when I try to add a label during the deal creation,
    • Message as a bot to user now says: "The message recipient id sent in the API is your own user id. You cannot send messages to yourself."

      Hi   I used to be able to have a bot message myself in cliq when something happened . Now the connector Message as a bot to user gives me this error when testing: Zoho Cliq says "The message recipient id sent in the API is your own user id. You cannot
    • Can I Integrate ADP Payroll with Zoho Books?

      Hi, I am hoping that I can integrate ADP Payroll with Zoho Books so that I do not need to manually input the payroll journal entries. Is this possible? If so, how do I do that?
    • Lookup field - Can I avoid using advanced search?

      I have a lookup field in my app that has surpassed 500,000 records, now basic search is disabled and I'm forced to use advanced search. That adds multiple steps to what used to be very simple. Before: Select field > Type last digits of product code and
    • Next Page