Building extensions #4: Integrating Zoho Books with applications using connections

Building extensions #4: Integrating Zoho Books with applications using connections

In our last post, we looked at an overview of the key features available for creating a Zoho Books extension, including connections. In this post, we'll go over connections in depth, including their types and applications.

What are connections?

"Connections" is a component in the developer console that allows you to establish secure connections between applications. In general, a secure connection is essential for apps to work seamlessly for data transmission and synchronization. The connections functionality in the Zoho Books extension developer portal is ideal for securely connecting Zoho Books to other Zoho products or third-party applications.

Types of connections

The Zoho Books extension developer portal allows you to use both predefined and custom connections.

Predefined connections:
These are ready-to-use connections that are preconfigured for various applications to connect with Zoho Books. You can simply search for the application you want to connect to from the default list, choose it, enter some basic information (scope), and connect to Zoho Books.

Custom connections:
These are connections for apps not included in the default list. You can create a custom connection by manually setting up or configuring information about the application you want to connect to Zoho Books with—such as the authentication type and other corresponding details—and then proceeding with the connection.

Notes
Note: You can also create these custom connections for applications in the default list if you want to customize the connection with specific details.

Now, let's explore the steps to create these connections with an example for each.

Steps to create a predefined connection
  • Go to Sigma and access your workspace.
  • Enter the developer portal of the Zoho Books extension you're creating a connection for.
  • Navigate to the Build section and click Connections to view the connection details, types (predefined and custom), and support to create a new connection.

  • Click the New Connection button to create a new connection.
Notes
Note: Alternatively, you can use the View All option under a connection type to see all the services under that particular connection type and begin building connections.

  • You'll be redirected to the connections page of your extension's developer space, where you can select default or custom services to create connections.


In this post, we'll walk you through creating a predefined connection using the default services available.

For our example, let's create a connection for Wrike (a project management service) available in the default services list and integrate it with Zoho Books.
  • Choose Wrike from the default services list.

  • Click the Create Connection button.

  • Provide the connection details.
➤ Enter the connection name.
➤ Toggle and choose whether you want every user to enter their credentials during connection authorization.
➤ Choose the scopes necessary for your purposes for the connection.

  • Click Create And Connect. Proceed with the flow to accept the scopes and authorize the connection.
  • The connection is now authorized, and you'll be directed to the connection details page. This page will also contain sample code in both deluge and JSON formats that can be used to utilize this connection as part of your extension components. Depending on which component you want to invoke the connection in, you can use the appropriate sample code format.
Notes
Note: Giving the connection name in the script is critical to be able to use the connection in the extension.


  • Close the connection's detail page, and you'll be taken back to your extension's developer portal.
  • If needed, you can create multiple connections for your extension. The connections you've created will be visible in the My Connections section of the Connections page.

  • You can click on a connection to view its details or choose to revoke it, if necessary. You can reconnect a revoked connection whenever you need it.
Let's look at a simple scenario for the predefined connection we created. Assume that each time a project is created in Zoho Books, a new project is created in Wrike to handle project management in detail. In addition, if any tasks are available as part of that Zoho Books project, they'll be instantly created in Wrike alongside the project. This can be accomplished easily in an extension using workflows, custom functions, and connections.

Let's check out the steps to make this happen.
  • Create a custom function for the Projects module by selecting Automate, then Workflow Actions, then Custom Functions, then New Custom Function. Include the logic to fetch the details and its tasks from a Zoho Books project and create a matching project in Wrike.
createwrikeproject deluge function - Please find the code snippet as an attachment in the post
  • In the code above, the Zoho Books project's details, such as project name and task details, are fetched from the Project Map parameter in the custom function.
  • The retrieved project details are constructed as a Map and then passed to the invokeURL deluge task to invoke the Wrike API and create a project. Additionally, a check is made to see if the Zoho Books project has tasks associated with it. If it does, then those tasks are added to the project created in Wrike using the Wrike API to create tasks.
  • The Invoke URL task requires some basic parameters to invoke the API and provide a response.
➤ url: This is the URL of the application's API that will be invoked. In our case, it's the Wrike API URL for Create Project and Create Task.
➤ type: This is the method of the HTTP request required for the API. Since we're creating projects and tasks in Wrike, the type is POST in our example.
➤ parameters: These are data that need to be constructed and passed as the body for the API.
➤ connection: The name of the Wrike connection we created has to be supplied as the value for the connection parameter. This ensures that data transfer between Zoho Books and Wrike is authorized and secure.
  • Next, create a workflow rule for the Projects module by selecting Automate, then Workflow Rules, then New Workflow Rule.
  • Set the Action Type as "When project is created."

  • Now, associate the custom function (createwrikeproject) as a workflow action to this workflow rule. Save the workflow rule.


We've now completed our extension setup for our use case.

After testing and publishing our extension, whenever a new project is created in Zoho Books, a matching project is created in Wrike as well, along with any tasks.


This example demonstrated a seamless transfer of data from Zoho Books to Wrike with connections. This use case can be taken a step further, making sure the project and its tasks maintained in Wrike are also synchronized in Zoho Books.

In this post, we've seen how to set up a predefined connection and use it in a Zoho Books extension. In the next post, we'll look at custom connections and how to create them.

SEE ALSO


      • Recent Topics

      • Integración Books para cumplir la ley Crea y Crece y Ley Antifraude (VeriFactu)

        Hola: En principio, en julio de 2025, entra en vigor la ley Crea y Crece y Ley Antifraude (VeriFactu). ¿Sabéis si Zoho va a cumplir con la ley para cumplir con la facturación electrónica conectada a Hacienda? Gracias
      • Kaizen #157: Flyouts in Client Script

        Hello everyone! Welcome back to another exciting edition of our Kaizen series, where we explore fresh insights and innovative ideas to help you discover more and expand your knowledge!In this post, we'll walk through how to display Flyouts in Client Script
      • Zoho One - Syncing Merchants and Vendors Between Zoho Expense and Zoho Books

        Hi, I'm exploring the features of Zoho One under the trial subscription and have encountered an issue with syncing Merchant information between Zoho Expense and Zoho Books. While utilizing Zoho Expense to capture receipts, I noticed that when I submit
      • 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
      • Filtering repport for portal users

        Salut, I have a weird problem that I just cannot figure out : When I enter information as administrator on behalf of a "supplier" portal user (in his "inventory" in a shared inventory system), I can see it, "customer" portal users can see it, but the
      • Zoho Sheet for Desktop

        Does Zoho plans to develop a Desktop version of Sheet that installs on the computer like was done with Writer?
      • Create static subforms in Zoho CRM: streamline data entry with pre-defined values

        Last modified on (9 July, 2025): This feature was available in early access and is currently being rolled out to customers in phases. Currently available for users in the the AU, CA, and SA DCs. It will be enabled for the remaining DCs in the next couple
      • BUTTONS SHOWN AS AN ICON ON A REPORT

        Hi Is there any way to create an action button but show it as an icon on a report please? As per the attached example? So if the user clicks the icon, it triggers an action?
      • ZOHO Creator subform link

        Dear Community Support, I am looking for some guidance on how to add a clickable link within a Zoho Creator subform. The goal is for this link to redirect users to another Creator form where they can edit the data related to the specific row they clicked
      • Dropshipping Address - Does Not Show on Invoice Correctly

        When a dropshipping address is used for a customer, the correct ship-to address does not seem to show on the Invoice. It shows correctly on the Sales Order, Shipment Order, and Package, just not the Invoice. This is a problem, because the company being
      • RFQ MODEL

        A Request for quotation model is used for Purchase Inquiries to multiple vendors. The Item is Created and then selected to send it to various vendors , once the Prices are received , a comparative chart is made for the user. this will help Zoho books
      • Will zoho thrive be integrated with Zoho Books?

        title
      • Product Updates in Zoho Workplace applications | August 2025

        Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications this August. Zoho Mail Delegate Email Alias Now you can let other users send emails on your behalf—not just from your primary
      • Unable to send message; Reason:554 5.1.8 Email Outgoing Blocked

        Hi, I sent few emails and got this: Unable to send message; Reason:554 5.1.8 Email Outgoing Blocked And now I have few days since I cant send any email. Is there something wrong I did? Also can someone fix this please
      • Want to use Zoho Books in Switzerland. CHF support planned?

        Hi, We're a Swiss company using other Zoho suite software and I discovered Zoho Books and other accounting SaaS when looking for an accounting tool. Do you intend to cover Switzerland and CHF based accounting anytime soon? Roy
      • Zoho sheet desktop version

        Hi Zoho team Where can I access desktop version of zoho sheets? It is important as web version is slow and requires one to be online all the time to do even basic work. If it is available, please guide me to the same.
      • Weekly Tips : Teamwork made easy with Multiple Assignees

        Let's say you are working on a big project where different parts of a single task need attention from several people at the same time—like reviewing a proposal that requires input from sales, legal, and finance teams. Instead of sending separate reminders
      • Celebrating Connections with Zoho Desk

        September 27 is a special day marking two great occasions: World Tourism Day and Google’s birthday. What do these two events have in common (besides the date)? It's something that Zoho Desk celebrates, too: making connections. The connect through tourism
      • What is Resolution Time in Business Hours

        HI, What is the formula used to find the total time spent by an agent on a particular ticket? How is Resolution Time in Business Hours calculated in Zohodesk? As we need to find out the time spent on the ticket's solution by an agent we seek your assistance
      • Upload API

        I'm trying to use the Upload API to upload some images and attach them to comments (https://desk.zoho.com/DeskAPIDocument#Uploads#Uploads_Uploadfile) - however I can only ever get a 401 or bad request back. I'm using an OAuth token with the Desk.tickets.ALL
      • Zoho Desk KB article embedded on another site.

        We embed KB articles from Zoho Desk on another site (our application). When opening the article in a new tab, there is no issue, but if we choose lightbox, we are getting an error "To protect your security, help.ourdomain.com will not allow Firefox to
      • Is Zoho Sheet available for Linux ?

        Is Zoho Sheet available for Linux ?
      • Adding Overlays to Live Stream

        Hello folks, The company I work for will host an online event through Zoho Webinar. I want to add an overlay (an image) at the bottom of the screen with all the sponsors' logos. Is it possible to add an image as an overlay during the live stream? If so,
      • Email Sending Failed - SMTP Error: data not accepted. - WHMCS Not sending emails due to this error

        I have been trying to figure out a fix for about a week now and I haven't found one on my own so I am going to ask for help on here.  After checking all the settings and even resetting my password for the email used for WHMCS it still says: Email Sending Failed - SMTP Error: data not accepted.  I have no clue how to fix it at this point. Any insight would be lovely. 
      • FSM setup

        So we have been tinkering with FSM to see if it is going to be for us. Now is the time to bite the bullet and link it to our zoho books and zoho crm. The help guides are good but it would really help if they were a bit more in depth on the intergrations.
      • Does Zoho Learn integrate with Zoho Connect,People,Workdrive,Project,Desk?

        Can we propose Zoho LEarn as a centralised Knowledge Portal tool that can get synched with the other Zoho products and serve as a central Knowledge repository?
      • Zoho Flow - Update record in Trackvia

        Hello, I have a Flow that executes correctly but I only want it to execute once when a particular field on a record is updated in TrackVia. I have the trigger filters setup correctly and I want to add an "update record" action at the end of the flow to
      • Add Comprehensive Accessibility Features to Zoho Desk Help Center for End Users

        Hello Zoho Desk Team, We hope you're doing well. We’d like to submit a feature request to enhance the client-facing Help Center in Zoho Desk with comprehensive accessibility features, similar to those already available on the agent interface. 🎯 Current
      • How to add application logo

        I'm creating an application which i do not want it to show my organization logo so i have changed the setting but i cannot find where to upload/select the logo i wish to use for my application. I have seen something online about using Deluge and writing
      • Zoho Projects - Q2 Updates | 2025

        Hello Users, With this year's second quarter behind us, Zoho Projects is marching towards expanding its usability with a user-centered, more collaborative, customizable, and automated attribute. But before we chart out plans for what’s next, it’s worth
      • Rename Record Summary PDF in SendMail task

        So I've been tasked with renaming a record summary PDF to be sent as part of a sendmail task. Normally I would offer the manual solution, a user exports the PDF and uploads it to a file upload field, however this is not acceptable to the client in this
      • Option to Empty Entire Mailbox or Folder in Zoho Mail

        Hello Zoho Mail Team, How are you? We would like to request an enhancement to Zoho Mail that would allow administrators and users to quickly clear out entire folders or mailboxes, including shared mailboxes. Current Limitation: At present, Zoho Mail only
      • Create new Account with contact

        Hi I can create a new Account and, as part of that process, add a primary contact (First name, last name) and Email. But THIS contact does NOT appear in Contacts. How can I make sure the Contact added when creating an Account is also listed as a Contact?
      • in zoho creator Sales Returns form has sub form Line Items return quantity when i upate the or enter any values in the sub form that want to reflect in the Sales Order form item deail sub form field Q

        in zoho creator Sales Returns form has sub form Line Items return quantity when i upate the or enter any values in the sub form that want to reflect in the Sales Order form item deail sub form field Quantity Returned\ pls check the recording fetch_salesorder
      • Estimates with options and sub-totals

        Hi It seems it would be great to be able to show multiple options in an estimate. For instance I have a core product to which I can add options, and maybe sub-options... It would be great to have subtotals and isolate the core from the not compulsory items. Thanks
      • Rate Limiting in Zoho Flow (OpenAI API)

        Hi Everyone, We are facing some issues when using Zoho Flow as we have a deluge script running which is making external calls to OpenAI endpoint. Sometimes the response takes more than 30 seconds meaning the script will timeout. We want to implement a
      • Optional Items Estimate

        How do you handle optional items within an estimate? In our case we have only options to choose with. (Like your software pricing, ...standard, professional, enterprise) How can we disable the total price? Working with Qty = 0 is unprofessional....
      • Important Update : Zendesk Sell announced End of Life

        Hello Zendesk users, Zendesk has officially announced that Zendesk Sell will reach its End of Life (EOL) on August 31, 2027 (Learn more). In line with this deprecation, Zoho Analytics will retire its native Zendesk Sell connector effective October 1,
      • Zoho Sheets

        Hi, I am trying to transition into Zoho sheets, I have attached the issues encountered. Server issues, file trying to upload for more than 30 mins, even once uploaded my data aren't loaded. Simple calculations are not working I have attached the sample.
      • Zoho CRM + Zoho FSM : alignez vos équipes commerciales et techniques

        La vente est finalisée, mais le parcours client ne fait que commencer ! Dans les entreprises orientées service, conclure une vente représente seulement la première étape. Ce qui suit — installation, réparation ou maintenance régulière — influence grandement
      • Next Page