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.
 
 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 creating connections.
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 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.
| Authorize URL |  | 
| Access Token URL |  | 
| Refresh Token URL |  | 
| Scope | zohobookings.data.CREATE | 
- 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.
 Book meeting custom button function Deluge code - Please find code snippet as an attachment in the post
Book 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
- Unable to copy into a new document- Whe I create a new Writer doc and attemp to copy and past I get this message. The only way to copy into a document is I duplicate an existing document, erase the text and save it under a different name and then paste the information. Not ideal. Can you 
- 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 
- Customize User Invites with Invitation Templates- Invitation Templates help streamline the invitation process by allowing users to create customized email formats instead of sending a one-size-fits-all email. Different invitation templates can be created for portal users and client users to align with 
- Admin Control Over Profile Picture Visibility in Zoho One- Hello Zoho Team, We hope you are doing well. Currently, as per Zoho’s design, each user can manage the visibility of their profile picture from their own Zoho Accounts page: accounts.zoho.com → Personal Information → Profile Picture → Profile Picture 
- Published Course Not Reflecting In Hub- Hi! I am trying to create micro-learning courses for our team to be available for self-guided learning. I have published the courses with enrollment settings open to all users of the hub, but they don't appear to be available for enrollment. Am I missing 
- Unlock Locked Users via Zoho One Mobile App- Hello Zoho One Team, We have noticed that in the Zoho One web admin panel, we can unlock a locked user when needed. However, when using the Zoho One mobile app, there is no indication that a user is locked, nor is there an unlock button similar to what 
- Tip #47- Stay Ahead with Automated Scheduled Reports in Zoho Assist- 'Insider Insights'- We’ve made it easier for you to stay informed, even when you’re busy managing remote sessions! With Scheduled Reports in Zoho Assist, you can now automatically receive detailed insights about your remote support and unattended access activities directly 
- Colour Coded Flags in Tasks Module List View- I really like the colour coded flags indicating the status of the tasks assigned to a Contact/Deal in the module list view. It would be a great addition to have this feature available in the list view of activities/tasks. I understand you have the Due 
- Uploading data to S3- Has anyone successfully uploaded data from Creator to S3 using the InvokeURL command or any other method in Deluge? (keywords: S3, AWS, Amazon, bucket) 
- UPS Label size when generated via Zoho- We've integrated UPS with Zoho inventory. When creating and downloading the shipping labels they are created in a larger paper size. I'd like them to be generated to print on a 4x6 printer. Zoho have told me I need to do this within our UPS portal. UPS 
- Credit Management: #4 Credits on Unused Period- Recall a familiar situation. You sign up for a monthly gym membership. You pay the subscription fee upfront, get motivated, and show up consistently for the first week. Then, suddenly, you get caught up in work deadlines, travel plans, or a dip in motivation. 
- Zoho Analytics Automatically Deletes Queries and Reports When a Synced CRM Field Is Removed- We’ve encountered a serious and recurring issue that poses a massive data integrity risk for any Zoho Analytics customer using Zoho CRM integration. When a field is deleted in Zoho CRM — even an unused one — Zoho Analytics automatically deletes every 
- Prevent new Record Association - Hello all, We have a small sales organization therefore, it's helpful for everyone on the sales team to be able to view the full list of accounts to assist in preventing duplicate accounts from being created. However we want to prevent people from creating 
- Tip of the Week #73– Automate workflow with Make integration.- Make is a no-code workflow automation platform designed to connect your favorite apps and automate repetitive tasks across services. By integrating Make with Zoho TeamInbox, you can streamline everyday inbox management and save valuable time. With this 
- Viewing attachments- I'm using a Web Form integrated in my web site to collect Leads several info, including a image upload. In order to to approve each lead, we have to view the image uploaded. Unfortunately, in the Leads view, the Attachments can only be downloaded, not 
- Kaizen #89 - Color Coding using Client Script- Hello everyone! Welcome back to another exciting Kaizen post. Today let us see how you can apply color codes to the List and Detail Pages of Zoho CRM using Client Script. Need for color code in Zoho CRM When you mark things with different colors as a 
- Instant Sync of Zoho CRM Data?- With how valuable Zoho Analytics is to actually creating data driven dashboards/reports, we are surprised that there is no instant or near instant sync between Zoho CRM and Zoho Analytics. Waiting 3 hours is okay for most of our reports, but there are 
- Is it possibly to directly set the tax amount on order instead of indirectly via tax rates?- We own an eCommerce application and want to funnel submitted orders from that system into Zoho. We're already calculating tax in our application and just need a way to set it in Zoho. We tried to use Zoho's tax objects for tax by setting the rates to 
- Zoho account sign in with passkey- Hello, I am trying to sign in using passkey, but the option doesn't show up in the web and is disabled in Oneauth on mobile, saying the admin has restricted the use. On the Admin page in Security MFA I can find no option for passkey. Help would be greatly 
- Rescheduled US meetups: Zoho Desk user meetups are coming to seven U.S. cities in October and November, 2025- Hello to our Zoho Desk users in the United States, We're excited to share the revised dates for the upcoming Zoho User Groups happening across the US this summer. Our product experts are heading to seven cities throughout the country, and for the first 
- Checklists as templates- Is it possible to save checklists as templates to reuse them in other tasks? Example: I have a web project. I maintain individual web URLs as tasks. Within the tasks the same checklist should be used again and again: - Page created in CMS - Properties 
- Send mass email using my secondary email- Hello, When I send an email to just one person from Zoho CRM, a complete email editor appears, where I can choose which of my email addresses I want to use in the From field. When I send a mass email, there is not such option. I can only select the email 
- Add the same FROM email to multiple department- Hi, We have several agents who work with multiple departments and we'd like to be able to select their names on the FROM field (sender), but apparently it's not possible to add a FROM address to multiple departments. Is there any way around this? Thanks. 
- ZOHO TEAM INBOX Calendar Integration- The Problem: Clients send meeting invitations to our TeamInbox address. TeamInbox receives these invites, but we cannot accept them. We do not use individual inboxes for transparency purposes. Ideal Solution: A way to accept calendar invites sent to our 
- Unearned / Deferred Revenue Automatic Calculation for Subscriptions- As a SaaS business, we have multiple active subscriptions with varying dates and amounts. Is there a way to have a monthly automatic calculation for all of them that debits or credits the unearned revenue and revenue accounts accordingly? Alternatively, 
- Zoho Desk Limit for Comma Separated Queries- Hi, I have just discovered a limit that I believed is not mentioned in any of Zoho's documentations. My search query looks like so: "query: {"accountId":"786050000091629966,786050000163589273,786050000163589427,786050000162753705,786050000162112971,786050000161987643,786050000160752868,786050000167089504,786050000167089378,786050000167089024,786050000167070005,786050000166295256,786050000128153693,786050000110560021,786050000046594575,786050000039106461,786050000002225356,786050000076889093,786050000047895103,786050000043365354,786050000044765191,786050000041790249,786050000040359116,786050000037945198,786050000024605077,786050000000525015,786050000155333895,786050000157741437,786050000000718125,786050000011574353,","departmentId":"786050000042648070","status":"Finished","sortBy":"createdTime","customField2":"cf_completion_date:2025-01-28T03:00:00.000Z,2025-10-28T03:00:00.000Z","customField3":"cf_billed:false"}" 
- Module Name doesn't exist- I am trying to create a module named Activity, with plural Activities, but I have an error that module name already exists. This module is doesn't exist, and I don't have a single field called Activity or Activities. 
- Zoho Desk iOS and Android app update: AI powered: Reply Assistance and Refine Messages on IM module.- Hello everyone! We are excited to introduce new AI powered features on the IM module of the Zoho Desk app. Reply Assistance: Reply Assistance generates suggested responses for incoming chat messages, which you can directly insert into the conversation 
- Unify All Zoho Video Meeting Experiences into One Standardized Platform- Hi Zoho Team, We would like to share an important user experience concern regarding the current state of video meeting functionality across the Zoho ecosystem. The Problem Within Zoho, there are multiple ways to initiate or schedule a video meeting: Zoho 
- Is it possible to embed Youtube shorts?- Hi Zoho desk support, This is Ryan from Accuver America. While I'm trying to create a knowledge base article with embed video, I ran into this issue. "www.youtube.com refuse to connect" A little bit background is that because this video is recorded on 
- Zoho Inventory - Move Orders- Quick question about Move Orders... Why is there no status to say something like "Draft", "In Progress" and "Completed", similar to Transfer Orders? I'm assuming that when something needs to be moved it should be planned in Inventory, executed and then 
- Split functionality - Admins need ability to do this- Admins should be able to split an expense at any point of the process prior to approval. The split is very helpful for our account coding, but to have to go back to a user and ask them to split an invoice that they simply want paid is a bit of an in 
- Delegates - Access to approved reports- We realized that delegates do not have access to reports after they are approved. Many users ask questions of their delegates about past expense reports and the delegates can't see this information. Please allow delegates see all expense report activity, 
- How to include total km for multiple trips in expense report.- Whenever I create a mileage report it only shows the total dollar amount to be reimbursed. The mileage for each individual trip is included but I also need to see the total distance for all trips in a report? How do I do this? 
- Get logged in user ID in Deluge script- Hello all, How do I get the id of the logged-in user in a deluge script? the "zoho.loginuserid" function actually returns the users email address or whatever the user id they use to login to zoho with and not the id of the user record, and given that 
- Item Details Field - New Barcode / Document option?- Is this a new feature??? its in both books and inventory. 
- Super Admin Logging in as another User- How can a Super Admin login as another user. For example, I have a sales rep that is having issues with their Accounts and I want to view their Zoho Account with out having to do a GTM and sharing screens. Moderation Update (8th Aug 2025): We are working 
- Shared Mailbox - Mark as read for all users- Hi all, Maybe someone can help me out. At the moment we have a shared mailbox without streams. When a users reads an mail or marks it as read other users will not see this. How can we resolve this? We now archive the mails when read and followed up. However 
- How do I increase the email attachment size in Zoho CRM ?- It looks like I'm limited to 10MB when sending an attachment using the email widget on a record in Zoho CRM. Is there a way to increase the size? Or can I use some other tool? From what I'm reading online, I'm maxed out at 10MB. Any insight would be greatly 
- Can I export to PDF in Zoho Learn- I have seen help pages where export to pdf options are available but I do not see that option available from the application. I see that exprt is available in my free trial version but that is only to html pages. I need to be able to export my manuals 
- Next Page