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

    • Feature Request: Include Creator-applicable Deluge updates in the Creator Release Notes

      I'd like to put forward a suggestion about how Deluge updates are surfaced to Zoho Creator developers, and I'm hoping the Creator team will consider it. Zoho Creator is built on Deluge. Every workflow, custom function, validation and schedule we write
    • Zoho Books | Product updates | June 2026

      Hello users, Welcome to this month's roundup of what's new in Zoho Books! We have an exciting line-up this time. The highlight is the launch of the all-new France Edition with full ISCA compliance. We're also introducing features such as Layout Rules
    • Partner with HDFC And Sbi Bank.

      Hdfc and sbi both are very popular bank if zoho books become partner with this banks then many of the zoho books users will benefit premium features of partnered banks.
    • name change of company in same GSTIN registration . how to retain historical company name for past transactions?

      hello I have recently change my company name from BHANU DIAM to BHANUMATI IMPEX in same GSTIN registration number While i have update the company name in profile name that change all my historic data like sale invoices and purchase bill , i would like
    • AUTOMATION OF INVOICE PROCESSING

      Dear Zoho Books Product Team, I hope this message finds you well. I’m reaching out as a dedicated Zoho Books user with a product idea that I genuinely believe could transform how businesses handle purchase invoicing — and set Zoho Books apart as the smartest
    • Zoho Books | Product updates | July 2026

      Hello users, We’re excited to bring you the latest updates in Zoho Books for July 2026! This month's release introduces Terminal Payments, CMP-08 filing for composition taxpayers, SEPA Credit Transfer support, the new Receipts and Payments Report for
    • Zoho ERP | Product updates | June 2026

      Hello users, We launched Zoho ERP on January 23, and since then, our goal has been to help businesses streamline and manage their operations with greater efficiency, flexibility, and control. Since the launch, we've continued to enhance the platform every
    • Solution to Import OST File into Office 365.

      In today’s digital workplace, organizations are rapidly moving toward cloud-based email systems for better flexibility, security, and collaboration. Microsoft 365 has become one of the most widely used platforms for business communication. A common requirement
    • Zoho Contacts *Web Interface Does Not Load* (Tested in Firefox, Safari)

      When trying to load https://contacts.zoho.com the error shown in the console is: The resource from “https://static.zohocdn.com/zmail/zm/newContactsChange11/js/main.js” was blocked due to MIME type (“application/json”) mismatch (X-Content-Type-Options:
    • Admin-Side Calendar Delegation from the Admin Console (Parity with Zoho Mail Mailbox Delegation)

      Summary Zoho Mail already lets organization admins delegate a user's mailbox to another user directly from the Admin Console — no approval from the mailbox owner required (Users > select user > Mail Settings > Delegated to > + Add). Zoho Calendar has
    • How use .PK12 certifcate for sign

      Hello! Is it possible to use my personal digital certificate (as a COMMODO .pk12) to sign documents? Thank you
    • Blueprint - Mandatory file upload field

      Hi, File upload (as we as image upload) field cannot be set as mandatory during a blueprint transition. Is there a workaround? Setting attachments as mandatory doesn't solve this need as we have no control over which attachments are added, nor can we
    • Completed Calls don't associate with Scheduled Calls

      I schedule calls at specific times so that they are easily viewable on my phone. I open a given call on my phone and use the call icon at the bottom of the screen. I complete the call and select "yes" when asked if I want to log the call. I enter the
    • Integrations of freelancing websites

      It is a customized effort which we require to be implemented on our Zoho recruit. We want that Upwork and Freelancer and other such freelancing websites get integrated into our Zoho Recruit, so that, any communication which we do with the candidates from those websites gets directly recorded on our Zoho recruit and we don't have to move back and forth by opening any other application other than Zoho. If this can be done, we think of managing the entire communication through Zoho recruit and use it
    • Workflow Preventing others from editing

      Using workflows in WorkDrive to implement a document review process has been extremely helpful in my organization. The only problem is that other users who have access to the document via standard document sharing rules are unable to edit the document.
    • 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
    • Zoho Analytics UI Bug

      Hello, all, The Aggregate Formulas in Zoho Analytics' list of fields have a 3-dot menu: If the formula has a long name, the name is not fully visible in the list, and a 3-dot menu is not accessible from it: This is not convenient, especially when the
    • Help me recover my account

      business@heymods.mobi is an account I registered two years ago. My domain is no longer valid, and I cannot access the admin page. I also subscribed to a $12 service, but I cannot configure the domain. Please help me set xunmeng.app@gmail.com as the admin,
    • I cannot receive emails

      I cannot receive email sent to my personal email account. I can send them but not receive them. I don't have a domain. Zoho direct email. Please help
    • I don't have access to my signup email.

      Hi, I don't have access to my signup email. I signed up while using the Loveabe app. I don't have access to the app that I built with the email ramonsepulveda@dreamgiftsfinder.com. Please help me cancel my account with you through that email.
    • Update on default settings for AI features in Cliq

      Hello all, We'd like to provide clarity on a recent change to AI feature defaults in Cliq. As part of our regular review of AI features conducted in April 2026, we re-evaluated how these features are enabled by default. We've decided that the AI features
    • Zoho CRM custom button function, how to add line breaks/ new lines in the return message

      When creating button function in CRM it requires a `return "";` Then when the button is client by the user a message pops up with what ever is returned from the function. But I want to have a message with multiple lines, meaning I need to add a line break
    • Email not Received

      No email has been recieved except welcome email and one more email in 2025.
    • i cant renew my domain bfftube.cloudns.cc

      i cant renew my domain bfftube.cloudns.cc because its a free subdomain from cloudns and you cant renew it its always active can some fix this becasue again there is no way to renew it becasue its free subdomain and again its always active
    • How to Switch from Outlook for Mac to Outlook for Windows

      The most often used file formats for users to manage crucial data are OLM and PST files. PST files keep a copy of data on the configured system from Outlook, while the OLM file contains the Mac Outlook data items, which are only accessible with Outlook
    • Different languages for users

      Hello, Do you plan to enable individual users to select their languages for interface? Currently language can be changed for everyone - it looks like a settings for a whole portal, which is not good when you are working internationally. Best regards,
    • Issues migrating Google email

      I am considering Zoho because Google will start charging for G Suite legacy free edition.    So, a key element in my decision is the ability to migrate as much from Google as possible.  I am giving email a try first, but after hours of trying, I can't
    • "Print" option of GET Expense Report API not working

      Hello! I have been trying to use the "print" option of the GET Expense Report API but it seems the option does not alter the output. Is there an issue with the API or am I using it wrong? Here's my request code, in Deluge: response = invokeurl [ url :"https://www.zohoapis.com/expense/v1/expensereports/"
    • Related List Expanded View in Zoho CRM: see more related records at a glance, filter and take bulk actions

      Hello everyone! Related lists show you the records connected to what you're working on: contacts under an account, activities tied to a deal, products linked to a quote. But until now, you could only see 10 records at a time. If you needed to filter results
    • How to automatically update a % field according to a dropdown field in the Quote table

      Hello there, I have following couples: Success % Status 0% NP 30% No Feedback 50% PR 80% Opp. Concreta 100% A I would like the Success % field (percent) to automatically update based on the item of the Status field (dropdown). The fields are within the
    • CRM iOS App Missing Tags support

      Hi, I remember reading either a tread on iOS (Maybe Later) & Android (i believe Now Supported) regarding “Tags” in the mobile apps unfortunately I can’t seem to find either. Could we clarify are “Tags” support coming to CRM iOS app as searching the forums
    • Marketing Tip #41: Add a clear value proposition to your homepage

      When someone lands on your homepage, they should understand what you sell and why it is worth exploring within 5 seconds. If your homepage is too vague, cluttered, or focused only on design, visitors may leave before they even start browsing. A strong
    • Zoho Writer adds conditional logic and AI assistance to formulas: A step toward dynamic document automation

      Hi users, We are excited to announce new formula enhancements in Zoho Writer. This includes: New string formulas: Use 12 new string functions to dynamically transform and manipulate text in documents and automation templates. Conditional formulas: Configure
    • What's New in Zoho Billing | June 2026

      Hello users! June brings a new set of updates to Zoho Billing designed to strengthen how you manage subscriptions, customise your records, and handle expense documentation. This month's highlights include a new one-time addon quoting workflow for subscriptions,
    • [Zoho Writer webinar] Driving productivity through document automation

      Live webinar on July 9, 2026 | Time: 2 PM IST | 2 PM EST Hi Zoho Writer users, Creating, reviewing, approving, and distributing business documents manually can slow teams down and introduce errors. Join our live webinar to learn how Zoho Writer helps
    • Free Webinar Alert! Zoho Workplace + Zoho Billing: Align Rev-ops and collaboration for greater efficiency

      Hello Zoho Community! Want to make your billing process more connected and efficient? Join our upcoming webinar to see how Zoho Workplace and Zoho Billing work together to streamline your day-to-day operations. In this session, we'll show you how to manage
    • Canvas View: Add font family selection (incl. Google Fonts / Hebrew & RTL fonts)

      Hi Zoho CRM team, The Canvas design suite (List View, Tile View, Table View and Record Detail) currently allows customizing font weight, size, color, alignment and case - but there is no option to choose the font family. All text is rendered in the built-in
    • Introducing Spotlight Forms

      Hey form builders! If someone opens your form, sees the wall of fields ahead, and quietly closes the tab. It may not be because the questions were hard. It could be because the experience felt like too much. Which is why we have now introduced a new form
    • 【無料/オンライン】7/22開催|Zoho ワークアウト|ユーザー同士で学び合うオンラインもくもく会

      ユーザーの皆さま、こんにちは。 コミュニティグループの中野です。 7月開催の「Zoho ワークアウト」のご案内です。 本イベントは、Zohoユーザー同士で交流しながら、 設定・検証・運用改善を進めるオンラインの「もくもく会」です。 「設定を進めたいけれど、一人だと手が止まってしまう」 「他社がどう活用しているのか知りたい」 「同じ課題を抱える仲間と話したい」 そんな方にぴったりのイベントです。 ▶︎ 参加登録はこちら(無料 ) URL:https://us02web.zoom.us/meeting/register/t7lA28wlQceRW6sZpeFEhQ
    • DYK 9: Dependent Layout Rules

      Did you know that you can configure dependent fields in Task and Issue Layouts? In a project, tasks and issues vary in nature and so do the fields needed for each. Displaying relevant fields and values keeps the layout organised and ensures necessary
    • Next Page