Building extensions #5: Creating custom connections for extensions

Building extensions #5: Creating custom connections for extensions

In our previous post, we discussed the significance of connections, identified their types, developed a predefined connection, and demonstrated how it can be integrated with Zoho Books using an example. In this post, we'll walk through the process of creating a custom connection using an example.

Custom connections facilitate the integration of applications with Zoho Books by aiding in configuring the required application's connection manually by providing application-specific details. Let's go over the steps involved in configuring custom connections in detail using a use case scenario.

Use case

Let's say an organization uses Zoho Books to manage its financial operations. To improve sales for the organization, one must contact and communicate with multiple clients, as well as check in with vendors on a regular basis to remain up to date on new products on the market, take demos, and assess whether the products need to be brought into the organization.

In these cases, it is best to schedule appointments with clients and vendors in order to conduct business in an organized manner. This can be easily performed by integrating an appointment scheduling software so appointments can be scheduled with a click.

For our demo purpose, let's consider Zoho Bookings as the appointment scheduling software. Since it is not available under the default list of services in predefined connections, let's create a custom connection to achieve this.

Steps to create a custom 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.
   
  • Click New Connection to create a new connection.
NotesNote: Alternatively, you can use the View All option under a connection type to see all the services under that particular connection type and begin creating connections.
     
  • Choose Custom Services and click Create Service.
   
  • Provide the details of the service.
➤ Enter a name for the service, and the service link name will be immediately filled in.
➤ Choose the authentication type that corresponds to the authentication mechanism supported by the service for which you are building the connection. These details will be available as part of the service's API documentation. For our example, we'll use OAuth2, because Zoho Bookings supports it as an authentication mechanism.         
  
➤ The remaining fields to be configured for the service differ based on the authentication type used. In our case, the parameter type is Header, and the grant type is Authorization Code.
   
➤ Please refer to the table below for the values that need to be configured in the remaining fields.
Note: Register the service in the Zoho Developer API console to get the client credentials.
  • Finally, click the Create Service button.
  
  • The service is created successfully. Click Create Connection to create a connection for this service.
  • Provide the connection details, select the scope, and 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.

Additionally, a predefined connection for Zoho Books is created to perform operations on Zoho Books data to implement our use case. Get more information on predefined connections in our previous post.

Now, in accordance with our use case, let's create a custom button that includes this connection to schedule appointments (in Zoho Bookings) with clients and vendors using Zoho Bookings with a single click (from Zoho Books).
We require two custom fields for our logic, one for setting the meeting start time with the client or vendor, and the other to display the Bookings appointment calendar link once the meeting is scheduled.
  • Create custom fields for the Customers and Vendors module by selecting Preferences > Customers and Vendors > Field Customization > New Custom Field.
 
  • Next, create a custom button and include the logic to schedule an appointment.
  • Create a custom button for the Customers and Vendors module by selecting Preferences > Customers and Vendors > Custom Buttons > New.
InfoBook meeting custom button function Deluge code - Please find code snippet as an attachment in the post
  • In the above code, the Get Contacts API of Zoho Books is invoked through the InvokeURL method using the predefined connection to get the contact/customer details for whom the appointment has to be scheduled in Zoho Bookings. Refer to this post to get complete details on the parameters required to call the InvokeURL method.
  • From the API response, the required details are fetched from which the start time (custom field data) is formatted to the way required by the Zoho Bookings API.
  • Next, the Zoho Bookings API to get the service ID and staff ID are invoked consecutively through the InvokeURL method using the custom connection created.
  • The Book appointment API is used to schedule the appointment using the service ID, the staff ID obtained from the Zoho Bookings API, and customer details obtained previously via the Zoho Books API.
  • Finally, using the update contact Zoho Books API, the Zoho Bookings calendar URL is updated in the custom field created to display the calendar booking URL.
We've now completed the extension setup for our use case.

After testing and publishing the extension, as per our use case, you can book a meeting for a Zoho Books customer through Zoho Bookings and have your Zoho Bookings calendar reflected inside Zoho Books as well.

z
This is an example demonstration of the benefits of using a custom connection in a Zoho Books extension. This is a versatile use case that may even be used to schedule an internal meeting with your Zoho Books teammates who are working on a project. Similarly, this use case can be enhanced and implemented based on your needs.

We hope you found this information useful. Keep following us for more tips.

SEE ALSO

      • Recent Topics

      • MCP > Creator connection failing with Claude

        I'm trying to get claude to access any of my Zoho Creator apps and it keeps failing. I have enabled all tools for creator and ensured in claude settings that everything is authorised. Here is what claude says : Unfortunately, the error messages I'm receiving
      • WorkDrive and CRM not in sync

        1/ There is a CRM file upload field with WorkDrive file set as the source: 2/ Then the file is renamed in WorkDrive (outside CRM): 3/ The File in CRM is not synced after the change in WorkDrive; the file name (reference) in CRM record is not updated (here
      • Books P&L by Customer

        Lately, we have found that the Customer field filter for the Profit & Loss report in Zoho Books is no longer available. We have several projects with the same customer and look at the P&Ls by project AND by Customer (overall). Can you please add back in this field selection alongside the Project field to the P&L report filter? Thanks! -Gina
      • Sent mail sort by date disappeared

        Hello, We used to be able to sort the emails by date in the sent folder, but this feature has recently disappeared. Can we bring it back?
      • I cannot check out to Zoho People.

        When I tried to check out today, there's prompt that inhibits me to check out: To add entry in Attendance, log time for any of your jobs
      • Pricing Strategies: #2 Plan your Service Offerings using Plans

        Meet Harvey & Mia, hailing from the same Tech school, carrying the dream of setting up their own IT maintenance firm in their location. They drew up a clear business plan and put their business in motion on New Year's Eve. They had great reception right
      • Open a record to edit based on another form being edited

        Hi all, I am trying to edit a record based on another record being edited. It works out like this: When I create a Monthly_Update and then submit I open the Monthly_Levels form and pass the ID from the Monthly_Update to a field called mu. I want it to
      • Problem with signature on zoho survey

        Hello, I'm trying to export individual responses with signatures on zoho survey. But the signatures on some of my surveys are not exported as the original image, but as a generic image, same for all (screen joins). Is there a solution to have the signatures
      • Change in Zoho CRM API?

        Hello, I am using the Zoho API trough the PHP SDK v2.1 Since few days, I noticed that I have to change the way I pass the data to the API when I create, update, or upsert a record. Dates Before I was passing a PHP date object to "$record->addKeyValue(...)",
      • How to view CRM Sales Orders in Desk

        What's the usual way to view all CRM sales orders linked to a contact, when viewing a ticket in Desk? I don't want to have to open a new tab to see the order in CRM. And the Desk CRM sidebar doesn't seem to be configurable. Would I have to use an extension
      • Duplicate customers being created in Desk

        Hi I've trying to work out why I've getting duplicated customers being created in my desk. I have an external booking system that generates an email when I get a customer booking a job. A booking email gets sent to Desk where I manage the booking and
      • MTA - BAD IP reputation by outlook/hotmail

        Messages to Microsoft email servers are bouncing back due to poor reputation. Message: 4.7.650 The mail server [136.143.188.206] has been temporarily rate limited due to IP reputation. For e-mail delivery information see https://postmaster.live.com (S775)
      • QuickBooks Extension for Zoho CRM - Advanced Features -2025

        Hello Everyone, We’re happy to announce the latest version of our QuickBooks Extension for Zoho CRM, now officially live on the Zoho Marketplace! This release introduces one-click data sync, a user-friendly UI, enhanced performance, and a powerful set
      • Changing Department often causes the Firefox tab to freeze

        Title, it doesn't seem to happen with neither Opera nor Chrome. And even in Firefox, sometimes it just lets me change the department I'm in no problem, even to All Departments which is probably the most, like, resource heavy? But most of the time, the
      • Need to integrate Zoho Mail Mobile app with Zoho Meeting Mobile App for Android and Apple

        Hello Zoho Team, Please bring integration of Zoho Mail Mobile app with Zoho Meeting for Android and Apple Thanks
      • ¡Muchas gracias por participar a los Meetups de Usuarios de Zoho! Y Novedades del ecosistema Zoho

        ¡Hola Comunidad de Zoho en Español! 👋 Después de un breve lapso de tiempo, volvemos con una nueva edición de nuestro Community Digest, donde te contamos las novedades de los productos de Zoho en los últimos meses. Estas mejoras se centran en nuestros
      • Anyway to move mail from one account to another yet?

        Hello, Is there any way to move email from one mailbox account to another mailbox account in zoho yet? Thanks, Ryan.
      • Using a CRM Client Script Button to create a Books Invoice

        Hello, I need help handling error messages returned to my client script from a function. The scenario I have setup a client script button which is available from each Deal. This CS executes a crm function, which in turn creates an invoice based on the
      • Building Toppings #2 - Learn how to use Bigin's Developer Console to build toppings

        Hey Biginners, In our last post, we discussed what toppings are, why they're essential to extending Bigin's capabilities, and how the Bigin Developer Center serves as the starting point for building them. As a cloud platform, the Developer Center empowers
      • Proposal for Creating a Unique "Address" Entity in Zoho FSM

        The "Address" entity is one of the most critical components for a service-oriented company. While homeowners may change and servicing companies may vary, the address itself remains constant. This constancy is essential for subsequent services, as it provides
      • Links are incorrect when sent out

        I'm adding in hyperlinks into my eDM. When I send a test email, it's all correct. However, when I send out the eDM, all the hyperlinks jump up one space so none of the links are opening to the correct page. Why is this happening and how can I fix it?
      • Tip of the week #16 - Search and filter threads based on criteria

        Zoho TeamInbox lets you search and filter threads with any information that you have about the thread. You just have to input the criteria and Zoho TeamInbox will list all the threads that match the condition.   Firstly, there is a global search you can
      • Introducing recipient authentication via Stripe Identity in Zoho Sign

        Hi everyone! It's important to authenticate your recipient's identity before they access and sign important documents to ensure the highest level of compliance. Zoho Sign already helps businesses do this with various authentication methods: SMS OTP Email
      • Introducing Multi-Asset Support in Work Orders, Estimates, and Service Appointments

        We’re excited to announce a highly requested enhancement in Zoho FSM — you can now associate multiple assets with Work Orders, Estimates, and Service Appointments. This update brings more clarity, flexibility, and control to your field service operations,
      • CRM: hosting a single html file in Zoho and displaying it as a widget

        I have seen that CRM offers the option of uploading a web project to Zoho itself and displaying it as a widget in CRM. The instructions then talk about setting a development environment with Node and developing an application to upload to Zoho. But I
      • Keep Converted Leads

        How do I keep the converted leads in the Leads Module after conversion (converting it to account, contact, deal). I want to add it in a converted stage in the leads module in order to get a report or dashboard and see all converted leads from my pip
      • Customizing Global Search Settings for All Users

        Hi Our team use the brilliant global search functionality within CRM many many times daily. But, we struggle with the out-of-the box columns that CRM gives you. We are always telling users to customize this look to more suit our business, to show the
      • Zoho CRM Kiosk issues

        Firstly this is for a system on the AU servers if that makes a difference. Issues are as follows (For Kiosk): 1. Re-ordering fields in the screen builder is broken. The fields seem to be re-ordering themselves, unless you order everything by moving the
      • Presenting ABM for Zoho CRM: Expand and retain your customers with precision

        Picture this scenario: You're a growing SaaS company ready to launch a powerful business suite, and are looking to gain traction and momentum. But as a business with a tight budget, you know acquiring new customers is slow, expensive, and often delivers
      • Introducing Formula Fields for performing dynamic calculations

        Greetings, With the Formula Field, you can generate numerical calculations using provided functions and available fields, enabling you to derive dynamic data. You can utilize mathematical formulas to populate results based on the provided inputs. This
      • From Zoho CRM to Paper : Design & Print Data Directly using Canvas Print View

        Hello Everyone, We are excited to announce a new addition to your Canvas in Zoho CRM - Print View. Canvas print view helps you transform your custom CRM layouts into print-ready documents, so you can bring your digital data to the physical world with
      • Tip of the Week #77– Stay informed of the activities happening in your organization

        Whenever a message is handled in Zoho TeamInbox, every action is recorded in the Activity Log. This ensures you always know what’s happening across your teams and inboxes. To access it, simply click the Audits icon on the left pane’s top bar after logging
      • Let us add Lookup fields in the Blueprint Transitions

        We are unable to add Lookup Fields in the blueprint transitions in Zoho Desk, we wanted to make it a requirement for our workflow but since it's not available in the transition we cannot. The lookup field exists in the Layout: But it cannot be added/selected
      • Zoho Logs - Not seeing logs since 30 Nov

        Hi, we have a few functions running, I am testing some new ones and noticed that although I can see executions, I cannot see any logs, even when the first line on the functions is a log. I reviewed some existing functions, one of which is invoked on a
      • Workdrive MS Office integration

        Have installed subscribed version of Zoho WorkDrive VSTO runtime not found is the error when I try to install Zoho_WorkDrive_For_Office Unable to open work files in Excel and Word Urgent, since I have migrated all my OneDrive files to work drive already
      • How do I create an update to the Cost Price from landed costs?

        Hi fellow Zoho Inventory battlers, I am new to Zoho inventory and was completely baffled to find that the cost price of products does not update when a new purchase order is received. The cost price is just made up numbers I start with when the product
      • Checkbox Field Mapping Zoho Forms to Zoho Sign

        I have an application that will be filled out via Forms that I am mapping into a PDF Filler on Zoho Sign. I need to have a series of checkboxes mapped to the corresponding fields in Sign and I only see single checkboxes available via the mapping, though
      • How to change Zoho Vault password

        I am searching where I can change the Vault Password after having changed the Zoho account password. I don't see this option anywhere in my account. It should be simple and accessible! Please help. Thanks!
      • Zoho Workdrive - Communication / Chat Bar

        Hi Team, Please consider adding an option to allow admins to turn on or off the Zoho Communication Bar. Example of what I mean by Communication Bar: It's such a pain sometimes when I'm in WorkDrive and I want to share a link to a file with a colleague
      • Prefered Bin Missing in android APP

        Andoroid app dosent show preferred bin in the picklist. The workaround support reccomend is to use the computre to create the picklist. it shuld be information to be shown aas basic for the pciker.
      • Next Page