Building extensions #3: Fundamental features of a Zoho Books extension

Building extensions #3: Fundamental features of a Zoho Books extension

In our earlier posts, we covered how to create, test, and publish an extension for Zoho Finance suite applications. Moving forward, we'll look specifically at instances relating to one of the products from the Zoho Finance suite: Zoho Books.
In this post, we'll explore the key features listed below that are available in the Zoho Books extension developer portal.
  1. Automation and customization
  2. Seamless integration
  3. Widgets
  4. Event-based data transfer and notifications
  5. Extension configuration

Automation and customization

These are defined sets of rules that automatically execute operations and customize standards for tailoring modules and fields.

Achieving it in Zoho Books

The Zoho Books extension developer portal provides a variety of automation features, including workflows (rules, actions, and triggers), custom actions, and schedules. There are also customization features, like creating custom modules and fields, adding buttons, and including related lists for both standard and custom modules.

Example use case

Automate emails to customers in various organizations based on their accounts receivable (A/R), so that different emails are sent indicating different actions that will be taken against them based on the total value of credit payments they owe.

By using an extension, you can easily add a new custom field for accounts receivable and specify workflow rules to send an email based on the value.


Widgets

A widget is a user interface that displays data to the end-user in order to facilitate their understanding or collects input data from them in order to perform additional operations.

Achieving it in Zoho Books

The developer portal's widget feature helps create a user interface or run a client-side script. You can easily design and develop user interfaces with any web development framework; these widgets could gather user input, if required, and, based on those inputs, perform logical operations.

Example use case

Issue a mortgage lien release (certificate of release) to a borrower who has paid off their mortgage completely. This certificate indicates that the lien on the borrower's property has been released and they have regained title ownership. In this situation, a customized widget can be developed to collect personalized inputs, such as the issuing bank's (lender's) information and a customized message to be sent to the borrower, before sending the certificate out.


Seamless integration

A seamless integration or tightly coupled integration to establishes a connection between applications for data transfer and synchronization.

Achieving it in Zoho Books

The Connections feature in the Zoho Books extension developer portal can be used to achieve seamless integrations.

You can establish connections between Zoho Books and other apps by:
➤ Using the default, ready-to-use connections offered in the Zoho Books extension developer portal
➤ Creating customized connections for the applications you want to integrate with Zoho Books
Example use case

You can sync data between Zoho Books and Shopify, running your business more efficiently by completing activities from a single app and reducing manual data entry.

This data sync can be achieved by establishing a connection between these apps using the Connections feature. This enables seamless collaboration between sales and finance operations; sales contacts can be added as Zoho Books customers, and invoices issued in Zoho Books can be instantly logged and synced in Shopify.


Event-based data transfer and notifications

These are real-time notifications or actions that are triggered and executed in response to the occurrence of a real-time event.

Achieving it in Zoho Books

Webhooks and signals on the developer portal facilitate real-time data updates and notifications in Zoho Books.
The webhooks feature enhances the connection between two applications. It allows you to capture the occurrence of an event and collect and post the real-time data as an update to another application.

The Zoho Books extension developer portal provides support for both incoming and outgoing webhooks, allowing real-time data updates to Zoho Books from another application and vice versa.

The signals feature allows you to receive real-time notifications.

Example use case

A finance meeting is planned and organized using an event management app, and future potential clients are gathered from the meeting. If the follow-up is successful and a client would like an event organized, it's scheduled for them.

In this case, webhooks capture the occurrence of the event being created, collect the event-related data, update it in Zoho Books, and generate an invoice for the event. Signals can be used to display real-time notifications when new customers are added to Zoho Books.

Learn more about webhooks and signals.

Extension configuration

Manage extension configuration by allowing users to provide their preferences or user-specific data and perform actions when extensions are installed or uninstalled.

Achieving it in Zoho Books

Global fields and installation actions help achieve extension setup and execute installation-related scripts.
  • You can either create global fields to collect input from users or design widgets (with global fields, if necessary), allowing users to provide inputs and choices to configure and use the extension.
  • Perform custom actions during the extension's installation and uninstallation.
Example use case

You can sync and manage Zoho Books projects with Trello, a project management platform, to create customized task views and visually manage tasks.

This is easy to accomplish with global fields and installation actions. Since Trello requires an API key to establish a safe connection with another app, we can add a global field for it in Zoho Books. After installing the extension, users can provide their user-specific API key to establish a secure connection between the apps. Then, an install action script can be created to transfer records.


In this post, we've covered an overview of the features available while developing a Zoho Books extension and how they might be useful. We'll explore each of these features in detail in upcoming posts. We hope you found this information helpful. Keep following us for more posts!


SEE MORE



      • Recent Topics

      • Sync Issue Between Zoho Notebook Web App on Firefox (PC) and Android App

        Hi Zoho Notebook Community, I'm facing a sync problem with Zoho Notebook. When I use the web version on Mozilla Firefox browser on my PC, I create and save new notes, and I've synced them successfully. However, these new notes aren't showing up in my
      • Messages not displayed from personal LinkedIn profile

        Hello. I connected both our company profile and my personal profile to Zoho social. I do see all messages from our company page but none from my private page. not even the profile is being added on top to to switch between company or private profile,
      • lead convert between modules

        Hello, The workflow we set up to automatically transfer leads registered via Zapier into the Patients module to the Leads module started to malfunction unexpectedly on September 25, 2025, at 11:00 AM. Under normal circumstances, all fields filled in the
      • Flow Task Limits - How to Monitor, Understand Consumption?

        So, I got an email last night saying that I've exhausted 70% of my tasks for this month, and encouraging me to buy more tasks. I started to dig into this, and I cannot for the life of me figure out where to find any useful information for understanding,
      • Cross References Do Not Update Correctly

        I am using cross references to reference Figures and current am just using the label and number, i.e. Figure #. As seen here: When I need to update the field, I use the update field button. But it will change the cross reference to no longer only including
      • Manage control over Microsoft Office 365 integrations with profile-based sync permissions

        Greetings all, Previously, all users in Zoho CRM had access to enable Microsoft integrations (Calendar, Contacts, and Tasks) in their accounts, regardless of their profile type. Users with an administrator profile can now manage profile-based permissions
      • How to Track and Manage Schedule Changes in Zoho Projects

        Keeping projects on track requires meticulous planning. However, unforeseen circumstances can cause changes to schedules, leading to delays. It becomes important to capture the reason for such changes to avoid them in the future. Zoho Projects acknowledges
      • Is there a notification API when a new note is addeding

        Trying to push to Cliq, or email notification when there's a new note added in module. How to implement this?
      • Zoho Sheet - Desktop App or Offline

        Since Zoho Docs is now available as a desktop app and offline, when is a realistic ETA for Sheet to have the same functionality?I am surprised this was not laucned at the same time as Docs.
      • Collaborate Feature doesn't work

        Hello Team. It seems that the collaborate section is broken? I can post something but it all appears in "Discussions". In there is no way how I would mark something as Draft, Approval, post or any of the other filter categories? Also if I draft a post
      • Edit Permission during and after approval?

        When a record is sent for approval Can a user request for edit permission from the approver? We don't want to give edit permissions for all the records under approval Only on a case-by-case basis How can we achieve this?
      • Zoho web and mobile application not workingn

        Both zoho forms web and mobile application aren't working. I have checked my network connections and they are fine.
      • Introducing the revamped What's New page

        Hello everyone! We're happy to announce that Zoho Campaigns' What's New page has undergone a complete revamp. We've bid the old page adieu after a long time and have introduced a new, sleeker-looking page. Without further ado, let's dive into the main
      • Prevent stripping of custom CSS when creating an email template?

        Anyone have a workaround for this? Zoho really needs to hire new designers - templates are terrible. A custom template has been created, but every time we try to use it, it strips out all the CSS from the head.  IE, we'll define the styles right in the <head> (simple example below) and everything gets stripped (initially, it saves fine, but when you browse away and come back to the template, all the custom css is removed). <style type="text/css"> .footerContent a{display:block !important;} </style>
      • Bulk Moving Images into Folders in the Library

        I can't seem to select multiple images to move into a folder in order to clean up my image library and organize it. Instead, I have to move each individual image into the folder and sometimes it takes MULTIPLE tries to get it to go in there. Am I missing
      • Zoho Campaigns - Why do contacts have owners?

        When searching for contacts in Zoho Campaigns I am sometimes caught out when I don't select the filter option "Inactive users". So it appears that I have some contacts missing, until I realise that I need to select that option. Campaigns Support have
      • Latest updates in Zoho Meeting | Breakout rooms and End to end encryption

        Hello everyone, We’re excited to share a few updates for Zoho Meeting. Here's what we've been working on lately: Introducing Breakout Rooms for enhanced collaboration in your online meetings and End-to-end encryption to ensure that the data is encrypted
      • Systematic SPF alignment issues with Zoho subdomains

        Analysis Period: August 19 - September 1, 2025 PROBLEM SUMMARY Multiple Zoho services are causing systematic SPF authentication failures in DMARC reports from major email providers (Google, Microsoft, Zoho). While emails are successfully delivered due
      • Accidentally deleted a meeting recording -- can it be recovered?

        Hi, I accidentally deleted the recording for a meeting I had today. Is there a way I can recover it?
      • To Zoho customers and partners: how do you use Linked Workspaces?

        Hello, I'm exploring how we can set up and use Linked Workspaces and would like to hear from customers and partners about your use cases and experience with them. I have a Zoho ticket open, because my workspace creation fails. In the meantime, how is
      • Upcoming Changes to the Timesheet Module

        The Timesheet module will undergo a significant change in the upcoming weeks. To start with, we will be renaming Timesheet module to Time Logs. This update will go live early next week. Significance of this change This change will facilitate our next
      • How to access email templates using Desk API?

        Trying to send an email to the customer associated to the ticket for an after hours notification and can't find the API endpoint to grab the email template. Found an example stating it should be: "https://desk.zoho.com/api/v1/emailtemplates/" + templateID;
      • Attachment is not included in e-mails sent through Wordpress

        I have a Wordpress site with Zeptomail Wordpress plugin installed and configured. E-mails are sent ok through Zeptomail but without the included attachment (.pdf file) Zeptomail is used to send tickets to customers through Zeptomail. E-Mails are generated
      • How to render either thumbnail_url or preview_url or preview_data_url

        I get 401 Unauthorised when using these urls in the <img> tag src attribute. Guide me on how to use them!
      • Update Portal User Name using Deluge?

        Hey everyone. I have a basic intake form that gathers some general information. Our team then has a consultation with the person. If the person wants to move forward, the team pushes a CRM button that adds the user to a creator portal. That process is
      • Zoho Bookings No Sync with Outlook

        Zoho Bookings appointments are showing on my Outlook Calendar but Outlook events are not showing on Zoho Bookings. How do I fix this?
      • Unable to retrieve Contact_Name field contents using Web API in javascript function

        Hello, I've added a field in the Purchase Order form to select and associate a Sales Order (Orden_de_venta, lookup field). I've also created a client script to complete some fields from the Sales Order (and the Quote), when the user specifies the related
      • Updating Woocommerce Variation Products Prices Via Zoho CRM

        I can update product prices with this flow: But I can't update variant products. I got a code from Zoho for this, but I couldn't get it to work. It needs to find the product in the CRM from the SKU field and update the variation with the price there.
      • Placing a condition before converting the LEAD

        Hi,  I need some assistance with Lead conversion. I need to place certain conditions before allowing the user to convert the lead.  For example: up until the certain status's doesn't equal "green" don't allow to convert lead.  I tried creating this using
      • Emails Disappearing From Inbox

        I am experiencing the unnerving problem of having some of the messages in my inbox just disappear.  It seems to happen to messages that have been in there for longer than a certain amount of time (not sure how long exactly). They are usually messages that I have flagged and know I need to act on, but have not gotten around to doing so yet.  I leave them in my inbox so I will see them and be reminded that I still need to do something about them, but at least twice now I have opened my inbox and found
      • Power of Automation :: Automatic removal of project users once the project status is changed.

        A custom function is a software code that can be used to automate a process and this allows you to automate a notification, call a webhook, or perform logic immediately after a workflow rule is triggered. This feature helps to automate complex tasks and
      • Customizing Form Questions per Recipient Group in Zoho Campaigns/Forms

        Hello everyone, I would like to ask if it’s possible in Zoho Campaigns or Zoho Forms to send out a campaign where the form questions can be customized based on the group of recipients. Use case example: I have prepared 20 questionnaire questions. For
      • Zoho Books - France

        L’équipe de Zoho France reçoit régulièrement des questions sur la conformité de ses applications de finances (Zoho Books/ Zoho Invoice) pour le marché français. Voici quelques points pour clarifier la question : Zoho Books est un logiciel de comptabilité
      • Every time an event is updated, all participants receive an update email. How can I deactivate this?

        Every time an event is updated in Zoho CRM (e.g. change description, link to Lead) every participant of this meeting gets an update email. Another customer noticed this problem years ago in the Japanese community: https://help.zoho.com/portal/ja/community/topic/any-time-an-event-is-updated-on-zohocrm-calendar-it-sends-multiple-invites-to-the-participants-how-do-i-stop-that-from-happening
      • Having Trouble Opening The Candidate Portal

        Recently am having trouble opening the Candidate Portal. It keeps loading but cannot display any widgets. Tried Safari, Chrome and Edge. Non of them work. Please solve the problem ASAP.
      • Forms - Notification When Response Submitted

        How do I set it up to generate an email notification when a response (class request) is submitted?
      • how to use validation rules in subform

        Is it possible to use validation rules for subforms? I tried the following code: entityMap = crmAPIRequest.toMap().get("record"); sum = 0; direct_billing = entityMap.get("direct_billing_details"); response = Map(); for each i in direct_billing { if(i.get("type")
      • Notes Issues

        Been having issues with Notes in the CRM. Yesterday it wasn't showing the notes, but it got resolved after a few minutes., Now I have been having a hard time saving notes the whole day. Notes can't be saved by the save button. it's grayed out or not grayed
      • How to disable user entry on Answer Bot in Zobot

        Hi, I have an Answer Bot in my Zobot, here is the configuration: I only want the user to choose 1 of the 4 the options I have provided: When no answer found, user chooses 'I'll rephrase the question' or 'Ask a different question When answer is found,
      • More admin control over user profiles

        It's important for our company, and I'm sure many others, to keep our users inline with our branding and professional appearance. It would be useful for administrators to have more control over profile aspects such as: Profile image User names Email signatures
      • Next Page