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

    • Webhook Trigger for New Messages in Cliq Channels

      Hello, I would like to request a feature to enable webhook triggers when a new message is added to a Cliq channel. This functionality would allow us to seamlessly send important information from Cliq to other relevant systems. This webhook trigger can
    • Ability to Edit the "Current Job Title" dropdown field

      Current experience/Issue: When a user (candidate) uploads resume to Zoho Recruit candidate portal, some fields are prefilled with the info from the resume/cv correctly. However, we've observed that; 1. the "Current Job Title" dropdown field is usually
    • I'm getting an "Invalid_scope" error, even though I used an access token generated with the correct scope.

      I'm getting an "Invalid_scope" error, even though I used an access token generated with the correct scope. Here’s what I did in Postman: Generated the code to create an access token using the following URL: https://accounts.zoho.eu/oauth/v2/auth?scope=ZohoCampaigns.contact.UPDATE&client_id=<client_id>&response_type=code&access_type=offline&redirect_uri=https://1882-2-26-193-161.ngrok-free.app
    • Problem configuring/customizing sales pipeline steps

      Hello, I have created several sales pipelines with different stages in them. Unfortunately I forgot to properly configure these steps (conversion probability, forecast category). How can I modify and customize all these steps? Thnak you by advance M
    • workflow for bounced email gets triggered, but email is status = opened

      Hello, I have a workflow that sends me an email if outgoing email are bounced. Now I got some kind of this emails, but the corrosponding contacts have status = open at the email. Why this bounce-workflow is triggered? Reports > Email Reports > Bounce
    • Power of Automation :: Automatically start / pause / stop timer on task status update.

      Hello Everyone, A Custom function is a user-written set of code to achieve a specific requirement. Set the required conditions needed as when to trigger using the Workflow rules (be it Tasks / Project) and associate the custom function to it. Requirement:-
    • Website Access Blocked (from one pc only) when attempting unattended access to any device

      Hello From one of my laptops I cannot access any remote device using unattended access. A Zoho Assist error page didplays 'Website Access Blocked. See attached.
    • Zoho Analytics to Zoho Sheets - automatic update?

      Hi all, If I create a zoho sheet from an Analytics Report or Analytics Data, is there a way for the zoho sheet to automatically update as the Report / Data in analytics updates?
    • Fixed Assets Register

      Thank you Zoho Books for adding fixed assets register. BUT there are certian tweeks that needs to be implemented. I found the following issues and seek improvements. 1) Fixed Asset Register Report in the Report Section has columns which are so much confusing.
    • Link to Desk tickets

      Hello, We are using Analytics to analyze data in Desk. Is there a way to embed a link to a ticket in reports? We'd love to be able to see the drill down data, and click a value in a result row that would launch the Desk Ticket in another window/tab. Thanks
    • Announcing new features in Trident for macOS (v.1.11.0)

      Hello everyone! Trident for macOS (v.1.11.0) is here with interesting features and enhancements to elevate your workplace communication and productivity. Let's take a quick look at them. Export emails. You can now export emails in the .eml file format
    • 【Zoho CRM】Webフォームに関するアップデート

      ユーザーの皆さま、こんにちは。コミュニティチームの中野です。 「Zoho CRM アップデート情報」の中からWebフォームに関するアップデートについて紹介します。 今回、以下2点のアップデートがありました。 ダブルオプトイン(2段階の同意確認)後の確認メッセージのカスタマイズ 登録から確認まで一貫したユーザーエクスペリエンスを顧客に提供するために、カスタマイズされた確認メッセージを作成できるようになりました。 ダブルオプトイン認証メールのカスタマイズ 顧客に最初から興味を持ってもらえるよう、パーソナライズされたメールを作成できるようになりました。ユーザーのブランドに合った本文を作成し、パーソナライズすることで、様々な顧客に対応することができます。
    • Converting Time and Time Zones

      Hi Everyone I am trying to convert a time Zone to the local time of the user. I am fetching some data from an API, and it is coming back in this format: 2024-12-09T16:49:23Z This is in UTC/GMTZulu time. I am looking to convert it to the user time. In
    • Tip of the week 34 - 5 ways to maintain your email list

      A proper email list often reflects the reach of an institution. This reach is coveted by all but achieved by some. We often forget about drawbacks and incline towards numbers. Success is often reflected by quality and not quantity. This simple message reverberates in maintaining a hygienic email list. Here are five tips which will help you maintain a proper email list.    Organic email lists   Non-stop competition can make us susceptible to shortcuts like buying and renting lists from third party
    • 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
    • Can not send campaign

      Hi, I'm trying to send a newsletter to my subscribers, but seems is not working - or maybe I did some wrong steps re. upgrades. I'm the admin for this account, no other person is using Zoho for my campaigns and I did not access the platform during last
    • Multilingual Newsletter

      Hi, Can Zoho campaign give the possibility to create and send a campaign in English and French, giving the possibility to the person receiving it to switch from default language chosen for a campaign? thnaks
    • Add Comment/Notes to Each Action in Zoho Flow for Internal Documentation

      It would be great if Zoho Flow could introduce a field to every action where we can make an internal note about why we are doing something with a specific action. This is especially helpful if more than one person from the organization handles automation
    • Feature Request - Configurable Payment Icons + Pay Now link in email.

      The PAY NOW buttons (icons) on invoices are really small. It would be great if we could make that a big, colored icon. Better would be to add a button to emails as well. 
    • Survey end date extension

      Hi, Is there any way to extend the end date of my survey? I needed more time in finding respondents that is why I need to extend the end date of my survey. Help. Thanks
    • AI read notes or explanation

      It would be such a great feature to have AI voices be able to read our Notes or Explanation If not having the AI speak the notes at run time, how about a feature where inside of Zoho Show you can have it look at all the notes of all the slides and have
    • Help with technical problem

      Hello, I want to make it so I can say how many days are left until a date is reached, and for it to give me a status on if its VALID, EXPIRED, or ABOUT TO EXPIRE, but the problem I'm having is I want it to be compared to the date every day, not just the
    • Create Invoice and Invoice Items from Sales Order via API

      Currently, when creating an Invoice associated with a Sales Order via the API, it appears that I must manually include all of the items (line_items) even though they are already part of the Sales Order. My question is this: is it possible to raise an Invoice via the API based on all of the information associated with a Sales Order--such as the  items? In other words, do I always have to manually include the items (line_items) when raising an Invoice via the API when the Invoice is associated with
    • Managing Prepaid Hours for Consulting

      We are a consulting firm that bills clients a flat upfront annual fee plus an hourly rate and offer a discount for pre-paying a block of hours. Hours that surpass the pre-paid block are billed monthly at the normal rate. If there are any pre-paid hours remaining at the end of the project they are banked for future use. I'm not seeing a method of doing this in Projects/Books/CRM... thoughts?
    • Email Verification Tool

      Hi there, just came across this tool for Google Sheets https://www.producthunt.com/posts/email-verification-tool-for-google-sheets-2 How would one do to automatically verify/validate email addresses entered on the CRM in a similar way?
    • Get DealID when Deal Created?

      Hi What's the easiest way to grab the DealID when a deal is created?  I want to add it to a custom field on the deal. Thanks
    • ZOHO Widget SDK not loading in html

      I have this code below, I have imported the widgetsdk however I get the error shown in the image, I have tried many different ways of importing and initiating the function ZOHO but nothing is working. can someone explain what I'm doing wrong, if I am
    • WorkDrive API Documentation

      WorkDrive provides users and developers an extensive set of APIs to help integrate functionalities of Zoho WorkDrive with other Zoho applications and third-party tools. We have published the official WorkDrive API Documentation page for all external users.
    • Who can see draft replies on tickets?

      We have noticed that we are able to see draft replies made by other agents. Which settings can limit this visibility? It makes sense to me that admins and the agent who created the draft would be able to see the draft, but no one else. How can we make
    • Major iOS issues when accessing forms via the browser

      Hi, We have been using forms for some time, while the office staff are accessing the forms via the app on Android mobiles, we have a fleet of sub contractors that we would not like them having access to the main app as some of the forms are confidential
    • How to Iterate a Function in Zoho Desk Workflow with Delay Between Calls?

      Hi everyone, I’m working on a function in Zoho Desk that searches for a specific ticket record. If the ticket is not found, I need to retry the search multiple times with a delay between each attempt until the ticket is located or a maximum number of
    • Knowledge base: The nitty-gritty of SEO tags

      A well-optimized knowledge base with great SEO can benefit your company by allowing customers to find help articles and support resources using search engines. This enables customers to quickly and efficiently find the information they need without direct
    • Social Media Simplified with Zoho Social: Make the best out of the publishing calendar

      Are you a marketer who likes visualizing your plan of action before you start social media posting? Are you part of a team that works on social media on a rotational basis, so the most important task is to collaborate to avoid overlap and confusion? Or
    • Custom function daily limit and procedural programming

      Dearest Zoho Today, support confirmed that if I call a custom function from another custom function then I will use up two, with regards to my daily limit. A few times, we have blown our daily limit and that means that ordinary business processes don't run for the rest of the day. I have to mop these up the following day and there is no guarantee that I will get it right. Therefore, I can't afford to waste any. Procedural programming has been around for over 50 years now and it greatly simplifies
    • New enhancements: Changing portal users' email addresses and new customization options for templates

      Dear All, Portals have enabled organizations to extend access to various CRM modules to their customers, vendors, partners, and end users, per their business requirements. When a portal is created, an invitation email is sent to portal users with a link
    • Granular Time Frame Settings for Message Deletion and Editing in Zoho Cliq

      Dear Zoho Team, I hope you're doing well. Currently, the settings for message deletion and editing in Zoho Cliq are configured globally under: Admin Panel > Organisation > Configurations > Conversations Delete messages: Time frame to allow message deletion
    • Zoho One. Client Script

      Hi, I would like to know if the Client Script feature is available in Zoho One. If it's, how can I enable it?
    • Delete / Modify Default Career Site - Zoho Recruit

      Hello, It would be very useful if we could delete a default career site or change which of our career site is the default. Our Career site was created when there were issues with Zoho Recruit creating English CTA buttons on French Career sites. The only
    • Introducing automation and utility conversations in WhatsApp marketing

      We’re excited to announce the addition of two new features to our WhatsApp integration: Automation and Utility conversations. These enhancements will allow you to streamline your marketing efforts and engage with your customers more effectively by automating
    • Você já viu os cursos do Zoho Mind?

      Pessoal, Tem uma plataforma da Zoho chamada Zoho Mind, muito interessante os cursos e vídeos tutoriais que lá possui. Para a turma do Zoho Creator, tem uma dica de Buscar dados em Formulário, segue o link e clique em Zoho Creator. https://www.zohomind.com.br/#/videostutoriais
    • Next Page