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 - 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
    • 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
    • Recent Topics

    • Duplicate Contacts - how to get merge or delete

      I have noticed that our list of contacts in Zoho Desk duplicates contacts periodically.  I have yet to identify when or why.  How do I merge or delete them?  I see there is a "Deduplicate" but I am unable to find anything that explains this feature.
    • Admin Access to Direct Messages in Zoho Cliq

      Hi Zoho Cliq Team, We would like to request a feature enhancement to enable admin access to one-on-one conversations (direct messages) conducted through Zoho Cliq. Use Case: As administrators, there are situations where it becomes essential to access
    • "Mark as Spam" not working as expected

      Dear support, in the below scenario, clicking on "Mark as spam" identifies only the first of the checked emails as spam, removes that email from the visible list and leaves the rest of the list still visible & unchecked. I've tried check-marking them
    • Massive price increase for user licenses of Zoho Portal

      This actually a complaint about this announcement: https://help.zoho.com/portal/en/community/topic/free-user-licenses-across-all-portal-user-types You present this as an enhancement. And, yes, while reading the main part, I'd agree that (for smaller companies),
    • Elevating Email Security on Zoho Desk: DKIM Now Mandatory

      Hello Zoho Desk Users! It has been a wonderful journey with you on Zoho Desk. As we welcome 2025, we are strengthening our efforts to ensure a secure and seamless experience for you. To enhance email security, DKIM configuration will be mandatory for
    • Free user licenses across all Portal user types

      Greetings everyone, We're here with some exciting and extensive changes to the availability of free user licenses in CRM Portals. This update provides users with access to all Portal user types for free to help them diversify their user licenses and explore
    • Calendar - "super compact" week view

      every time i go to my calendar i have to re-engage the "super-compact view" for the week view...is there a way to make "super-compact" a default view so I dont have to keep on setting it manually?
    • Link project tasks to tasks in CRM and/or other modules.

      Hello, I have created and configured a project in Zoho Projects with a set of tasks. I would now like to link these tasks (I imagine according to the ID of each one) to actions in the CRM: meetings, tasks, analytics). The aim is to link project tasks
    • Calendar - "pop up" locations

      One of the attractive features of google calendar and outlook calendar is that locations for events will start to automatically populate the location drop down menu as you type. Adding this feature to zoho calendar would be the final feature i need.
    • [Free Webinar] Learning Table Series - Creator for the Education Industry

      Hello Everyone! We're thrilled to invite you to the Learning Table Series—a year-long initiative to demonstrate how Zoho Creator can transform industries with innovative and automated solutions. Each month focuses on a specific industry, and this time,
    • How to map a global picklist from one module to another

      Hi there, i currently have a new field that is called sales office which we use for permission settings between our different offices located in different countries. It is a global set picklist with three different options: MY, SG and VN. I want to be
    • Remove the [## XXXX ###] from subject replies

      For our organisation we would like to have the [## XXXX ###] removed from subject replies. Cheers, Jurgen 365VitaalWerken
    • Self Client Authorization Issue

      Hi. Trying to test the api integration for Zoho Desk with the Self Client - Client Credintials flow method. I've created the self client, obtained the client id and secret, inputted "Desk.tickets.ALL" as my scope, and "ZohoDesk.[My Zoho Desk Org ID]"
    • Recurring Events Not Appearing in "My Events" and therefore not syncing with Google Apps

      We use the Google Sync functionality for our events, and it appears to have been working fine except: I've created a set of recurring events that I noticed were missing from my Google Apps calendar. Upon further research, it appears this is occurring
    • All notes disappeared

      I've been using the notebook app for over five years on my phone without being logged into an account. A few days ago I opened the app and all my notes had disappeared. Since then I tried restarting my phone, updating the app and logging into my account,
    • How to send mail with js SDK

      Hell o I'm using https://live.zwidgets.com/js-sdk/1.2/ZohoEmbededAppSDK.min.js, for my widget in CRM (built with sigma) Is it possible to send email from js file, I try ti use that ZOHO.CRM.API.sendMail({ "Entity": "Accounts", "RecordID": sharedVariableEntityId,
    • How to add tags to a record with jS SDK 1.2/ZohoEmbededAppSDK

      Hello Is it possible to add tags to a record with jS SDK : https://live.zwidgets.com/js-sdk/1.2/ZohoEmbededAppSDK.min.js ZOHO.CRM.API.updateRecord Thanks for insights
    • URGENT: Zoho Forms reCAPTCHA v2 Spam Issue

      Hello Everyone, We are encountering a critical issue with Zoho Forms despite having reCAPTCHA v2 enabled. Our business is accessibility-focused, and we are receiving a high volume of spam submissions, which is significantly affecting our workflow and
    • View all Products by pipeline deal

      Very good CRM I use it everyday only problem is modules not being interconnected especially products module. The main problem of products module are separated from contacts and company modules and only being connected to the Deals module. This way there's
    • Add "Lead Image" in Bulk?

      Each of our Leads is accompanied with a URL containing a photo of the lead when they come in. We currently have to manually download then upload the photo to the lead. This is a HUGE waste of time. Is there any way to AUTOMATICALLY add the photos to the
    • Map fields from CRM record to Finance Suite/Books Invoice fields

      I'm trying to auto-fill unique record specific field inputs that I have in my Contacts and Deals modules onto Invoices created from the record's finance suite related list upon creation.  One example is a field called "Job Number" that I have in my Contact
    • 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 CRM - best way to search an account and assign to a deal

      Hi Everyone I am looking for some advice. I want to find the best way to complete the below steps. We have a deal and once it reaches a certain stage we need to allocate a supplier / vendor to this deal along with the salesperson. I want to add (ideally
    • What's New in Zoho Analytics - December 2024

      Hello Users! We’re excited to bring you a roundup of the latest features and improvements in Zoho Analytics. These updates are designed to elevate your data analytics experience, making it more powerful, interactive, and seamless. Let’s dive in! Expanded
    • trying to access CRM Variables with JS SDK

      Hello i built a widget with Sigma, i create CRM VARIABLES in custom properties. I try to access them in function : ZOHO.embeddedApp.on("PageLoad",function(data) with : ZOHO.CRM.CONFIG.getVariable("mycrmvariable").then(function(data){ console.log("mycrmvariable
    • How to Assign Record Ownership in a Custom Form via API?

      Hello everyone, I’ve created a custom form in Zoho People and I’m using the API to manage its records. I would like to know how I can assign ownership of these records to specific users via the API. Is there a specific parameter or field in the API request
    • Writing on sketch cards is bugged when zoomed in

      When zoomed in, it writes a noticeable distance above or to the side of where you're actually trying to write. The further you're zoomed in, the more noticeable it is. Zooming is also entirely absent on the desktop version.
    • Private Project

      Hi, I would like to know if a user can create a Private project that only he's able to see it. Not even the ADMIN user. Thanks
    • Accordion in tabs to create FAQs, etc.

      Accordion elements do not seem to be able to be placed in the tabs. It would be useful to be able to do this. Thank you.
    • Which are the IP addresses to use for 'split delivery' with Office 365? (Zoho mail inbound gateway)

      Hi, I'm trying to set up 'split delivery' (email routing) with Office 365. I'm following the instructions to set up Office 365 as the primary server (https://www.zoho.com/mail/help/adminconsole/coexistence-with-office365.html) One of the prerequisites
    • Zoho Projects 2024 Recap

      Dear Users, As we conclude another remarkable year, it's the time to reflect on the journey we've just completed. The year 2024, defined by significant milestones, challenges, achievements, and important lessons. Every moment has contributed to the story
    • Custom Fields at Line Level

      Hi, is there an ability to add custom fields at line level? I need to track the start and the end date for each product within an invoice and I can't seem to find an option to do this.
    • Zoho API Error Code 7019 when adding job.

      Hello, I am following the documentation found here. https://www.zoho.com/people/api/timesheet/adding-jobs.html Regardless of how I try and post the data (including just using the example requests), I receive back the response {'response': {'message':
    • 554 5.1.8 Email Outgoing Blocked

      HELP!!!!! My e-mail marymariya@zoho.com is blocked. Error: 554 5.1.8 Email Outgoing Blocked The third day I am writing to the forum, but zohosupport is not responding. Why? What is the problem? I ask to help solve the problem, because I can not communicate with my customer base.
    • How to see changes with ZOHO.CRM.API.updateRecord(config) without reload page

      hello got a widget in account, trigger with a button i copy data to account when click on a button, in my popup All is working well. But i need to reload the page to see the update. How can i see the changes without reloading page, only when close the
    • How to call a Creator function which is in a different Creator application?

      How to call a Creator function which is in a different Creator application?
    • Unable to send message; Reason: 554 5.1.8 Email Outgoing Blocked

      My account is mino@flawless-frames.com, or flawlessframesstudio@gmail.com Could you please unblock my account, I've got restricted from sending more emails
    • If I turn off the Task Prefix & ID in the Portal Configuration section, will it remove the dependencies in my projects?

      Hi all, basically the title, I am new to zoho projects and trying to get my head around some basic principles. Unfortunately I have not found this information via the search option and after deleting yesterday some Phases I had created in the Phases tab,
    • Move a Contact from Current Account to a NEW Account

      I do not believe the functionality to Move a Contact from a Current Account to a New Account is not available. Please someone tell me I am missing something! I have been through designing, developing, using and selling CRM systems for over 25 years and had this functionality20+ years ago in other CRMs.  In the real world people move from one organisation to another. In the sales, finance and technical world it is nice to see the communication history with that person in their old account and also
    • Force Specific Layout for CRM Contacts Portal

      Hello: We're in trial on ZOHO One and looking at the CRM Portal (just for the contacts module). We have a client layout set up for Contacts that is working well for our internally, but for the portal we don't want to require (make mandatory) some of the
    • Next Page