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



      Zoho Campaigns Resources


        • Desk Community Learning Series


        • Digest


        • Functions


        • Meetups


        • Kbase


        • Resources


        • Glossary


        • Desk Marketplace


        • MVP Corner


        • Word of the Day


        • Ask the Experts


          Zoho CRM Plus Resources

            Zoho Books Resources


              Zoho Subscriptions Resources

                Zoho Projects Resources


                  Zoho Sprints Resources


                    Zoho Orchestly Resources


                      Zoho Creator Resources


                        Zoho WorkDrive Resources



                          Zoho CRM Resources

                          • CRM Community Learning Series

                            CRM Community Learning Series


                          • Tips

                            Tips

                          • Functions

                            Functions

                          • Meetups

                            Meetups

                          • Kbase

                            Kbase

                          • Resources

                            Resources

                          • Digest

                            Digest

                          • CRM Marketplace

                            CRM Marketplace

                          • MVP Corner

                            MVP Corner




                            Zoho Writer Writer

                            Get Started. Write Away!

                            Writer is a powerful online word processor, designed for collaborative work.

                              Zoho CRM コンテンツ






                                ご検討中の方

                                  • Recent Topics

                                  • 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
                                  • Zoho Customer Grievance Escalations Matrix

                                    We have been with Zoho for little over a 24 months having several licenses for Zoho One and with standalone license for Zoho Commerce Advanced Plan along with their so called "Premium Support" for which they charge you a pretty hefty amount. It's been
                                  • Switch between multiple LLMs instantly for tailored Zia experiences

                                    Availability Editions: Professional , Enterprise, Ultimate , CRMPlus , ZohoOne Release Plan: Available for all DCs Hello everyone. Earlier, the Multi-LLM feature supported only one LLM at a time for Zia Record Assistant bot restricting flexibility from
                                  • Data entry and automatic barcode sticker printing

                                    Hello there I am very new to Zoho.. and not sure if it can do, or should I say, I can easily set it up to do, or first basic requirement. We take in up to 1000 unique used products every week. They come from up to 50 regular suppliers. The are used household appliances. We try to fix most of them. For waste regulation purposes we have to track every machine from the source/supplier it cam from to if it was repaired and put back on the market? or stripped and scrap for material recovery. Is it possible
                                  • Inventory Barcode Creation - Add Picture of Item

                                    Hi I am trying to set up bar code labels and include a picture of the item on the label - any idea on how to add that field to the barcode generator?
                                  • Setting up a barcode system with Zoho Creator

                                    Hello! I am researching how to set up a barcode inventory system that is compatible with Zoho Creator. I am working with an art inventory, and I want to be able to refer to each piece of artwork with a barcode. My goal is to be able to generate a barcode, store that barcode in a Zoho Creator database, be able to print out a barcode label from that database, and have the database pull up a record when the barcode associated with that record is scanned. I understand that there are barcode generating
                                  • New Built In QR/Barcode Generator Print Settings

                                    I'm trying out the new QR/Barcode generator field in Creator. I would think most people will want to print these, like I do. I am not seeing any way to control the height or width of the barcode for printing (inside the print/pdf template builder). The
                                  • Inventory SKU barcode printing

                                    Hi I am a developer and am wondering if zoho creator or even zoho inventory have the capability to print barcodes upon submitting a form. I have been researching the forums and have not been able to find any way to do this natively in Zoho. Can someone
                                  • PRODUCT LABEL MUST HAVE MORE FIELDS AND OPTIONS - VOTE NOW!

                                    The Zoho Inventory Product Barcode generator is unfinished, very limited, and unusable for most companies that need to generate informative product labels. Companies must be able to generate labels for products they receive to control inventory, so the
                                  • First Response Time, Where to find?

                                    Hi Currently I'm building a feeder file that auto-fetch ticket details when created/updated. On my table headers, apart from custom fields, I'm specifically looking for First response time. Currently I'm checking capabilities using Zoho Flow but couldn't
                                  • Ability to "Add Additional Guest" to Bookings

                                    When using other calendar booking services such as Calendly, there is an option to "Add Additional Guest" to a booking. For example, imagine User A is making a booking on my company's booking calendar and would like to invite their spouse (User B) to
                                  • Modify logo on exported PDF article

                                    Hello, I have to 2 Help Center with 2 different brands. If I try to download an article from Help Center Brand #2 as a PDF file, I see the Brand #1 logo on it. Is there a way to modify or hide the logo in the pdf? Thank you Antonio
                                  • Get Files Associated to Data Template via API

                                    I have a data template with multiple files associated to it, and trying to write a Deluge script that will fetch files associated with this data template. I created the script below based on the WorkDrive API documentation, one request uses the data templates
                                  • Pasting Images in Zoho Desk ignores cursor location

                                    My team has reported an issue which started recently where when we paste an image into a new or existing reply or comment, the pasted image seems to ignore the current cursor location instead paste itself at the last character present in the reply/comment,
                                  • Push conversation to operator in guided conversations

                                    I really would like to push the conversation to an operator from a specific deppartment in guided conversations, just like Zobot in sales iq. It would help a lot. For me it does not make sense to use sales iq for messenger, instagram and others, because
                                  • Lost the ability to sort by ticket owner

                                    Hi all, in the last week or so, we have lost the ability to sort tickets by Ticket Owner. Unlike the other columns which we can hover over and click on to sort, Ticket Owner is no longer clickable. Is it just us, or are other customers seeing this too?
                                  • Zero Customer Support

                                    I have been a paying customer on Zoho Mail Premium, which clearly advertises a 40MB attachment limit. However, for a long time now, I have been experiencing ongoing issues sending PDF attachments over 10MB. Instead of sending properly as attachments,
                                  • Unable to send message;Reason:554 5.1.8

                                    Dear Zoho Support Team, I have attempted to send multiple documents in several different ZIP files containing PDF and Word documents. Initially, I received the following notification: “When Office 365 tried to send your message, the receiving email server
                                  • SOLVED - Unsubscribe Feedback Page inexplicably presenting in French, German, etc. not default language of English

                                    As the titles says, had the "Unsubscribe Feedback Page" for two different clients presenting the feedback options to unsubscribers in French, German, etc., not in English like it should. And no, it wasn't due to user preferences, embedded web translators,
                                  • Identify and clean hard bounce lists in Automation 2.0

                                    Hello. 1. I want to know how I can identify hard bounces in the lists I created to clean them before sending an email, given that the bounce rate has increased and it is necessary to clean the lists. 2. How can I exclude hard bounces and invalid emails
                                  • Catalyst DB is insufficient for many use cases

                                    Hi all: I've been diving deep on full stack application development inside Zoho Catalyst. I've been using catalyst for serverless compute and API gateway for a few years, but I haven't used the DB beyond simple storing of app data. As I was working through
                                  • Edit a previous reconciliation

                                    I realized that during my March bank reconciliation, I chose the wrong check to reconcile (they were for the same amount on the same date, I just chose the wrong check to reconcile). So now, the incorrect check is showing as un-reconciled. Is there any way I can edit a previous reconciliation (this is 7 months ago) so I can adjust the check that was reconciled? The amounts are exactly the same and it won't change my ending balance.
                                  • How to change column headings in pivot table?

                                    Hi, Is there a way to rename the column headers of a pivot table? Now some the columns are named with value labels: 'SUM of .....'. We would like to rename those headers. As of now we couldn't find any direct solution to adjust the headers, besides copying and reformat. We want to avoid these extra steps. Best, Tiemen
                                  • Native QuickBooks integration for Zoho CRM: Connecting sales and finance

                                    Greetings, I hope all of you are doing well. We're excited to announce Zoho CRM's integration with QuickBooks Web, which is designed to synchronize your CRM data with your QuickBooks accounting records and bridge the gap between sales and finance. This
                                  • Rename system-defined labels in Zoho CRM

                                    Renaming system-defined labels is now available across all DCs. Hello everyone, Zoho CRM includes predefined system fields across modules to support essential CRM operations. Until now, the labels of these fields were fixed and could not be edited from
                                  • Report/All Entries Filter Contains to support multiple values

                                    Hi, I use different fields to filter All Entries before Export, one is the Added Email ID (May soon replace with the new Logged in User Name Field!!), and I want to filter for more than one person, so select "Contains", but I try with a comma seperating
                                  • Marketing Tip #32: Improve SEO and customer confidence with an FAQ section

                                    Before making a purchase, customers often have simple questions about delivery times, returns, product usage, or sizing. If they can’t quickly find answers, they may leave your store without buying. Adding a clear FAQ (Frequently Asked Questions) section
                                  • Zobot with Plugs

                                    Hello, I am having a problem with Zobot using Plugs. Here is my current flow: When I run the flow, I should immediately see the messages from the initial cards (Send Message cards), then after running the plug, and finally, see the messages after the
                                  • Zoho Creator é para você? Saiba quando escolher (e quando não escolher) essa plataforma

                                    Todo mês alguém me pergunta: "Leandro, vale a pena usar o Zoho Creator para o meu projeto?" A resposta honesta é: depende. E neste artigo vou te dar os critérios reais que uso para tomar essa decisão — sem marketing, sem generalização. O que é Zoho Creator,
                                  • Control Fields on Mobile App

                                    On the mobile app, how do we control which fields appear on the screen for records that have a related list? In the example below I want the Inspection Stage and Inspection Type fields to appear, not the record owner (Dev Admin). I changed the Inspections
                                  • Show Zoho Marketing Automation Messages in SalesIQ Chat

                                    When the same number is used in Zoho Marketing Automation and SalesIQ, campaign messages should be visible inside the SalesIQ chat. Currently, when customers reply to marketing campaign messages, SalesIQ chat owners get confused because they cannot see
                                  • SalesIQ Chat Owner to CRM Lead Owner Mapping

                                    There is no proper mapping between the SalesIQ chat owner and the CRM lead owner. When a chat is assigned to an agent, the lead created in CRM is often assigned to a different user, forcing admins to manually change ownership every time. This creates
                                  • Automatic Email Alerts for Errors in Zoho Creator Logs

                                    Hello, We would like to request a feature enhancement in Zoho Creator regarding error notifications. Currently, Zoho Creator allows users to view logs and errors for each application by navigating to Zoho Creator > Operations > Logs. However, there is
                                  • [Webinar] Agentic AI and its influence on analytics and autonomous decision-making

                                    Analytics is evolving from passive reporting to proactive, intelligent systems. Agentic AI is at the center of this shift, bringing context-aware reasoning, continuous learning, and the ability to act on data in real time. Join this webinar with Michael
                                  • Zoho One: books and inventory working together

                                    Hi, I was very pleased when I saw that in Zoho Inventory can now pull the orders from Woocommerce. They are now fed in Inventory as Sales order and with choosing convert invoice as Instant Invoice I am getting the exact data as they appear in Woocommerce.
                                  • Zoho Forms - Form Availability Redirect Option

                                    Hi Forms Team, It would be great if there was a redirect URL option on the Form Availability settings. For example, I would like to create a support form which is only available outside business hours and if the current data and time is not Mon-Fri 9-5
                                  • VAT and Taxes option not available

                                    Dear ZOHO Team , The VAT and Taxes options in my ZOHO books account not available,I tried to find how to enable or check the way to use this option but unfortunately couldn't find it anywhere ,I'm in UAE ,kindly let me know what to do to solve this issue
                                  • Syncing zoho books into zoho crm

                                    I was wondering how I can use zoho books in crm as I have been using them separately and would like to sync the two. Is this possible and if so, how? Thanks
                                  • Client requests I submit invoices using bill.com

                                    The title states it all. I have a reoccurring invoice setup for this client who has been manually paying by credit card. We are both experiencing merchant costs/fees. The use of bill.com's direct deposit is not far removed from Zoho's, only the client
                                  • Zoho Inventory Feature Roadmap Visible To All

                                    Hello, please consider making your feature roadmap visible to us users so that we know what to expect in future. This may appease current users who are seeking clarification on feature implementation dates, so that they can make an informed decision whether
                                  • Next Page