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.
- 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
- 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
Custom Field for Customer ID in Zoho Commerce's Customer Section
Hi everyone, I’m wondering if it’s possible to add a custom field in the "Customer" section of Zoho Commerce. Specifically, I need to include a "NIF" or "Customer ID" field, as it's mandatory for invoicing in Spain. I know this can be done in Zoho Inventory,
Introducing Zoho CRM for Everyone: A reimagined UI, next-gen Ask Zia, timeline view, and more
Hello Everyone, Your customers may not directly observe your processes or tools, but they can perceive the gaps, missed hand-offs, and frustration that negatively impact their experience. While it is possible to achieve a great customer experience by
API Self Client Authtoken conversion always returns "invalid_client".
I am having a problem when trying to convert an Authtoken to OAuth for a Self Client script. I have made sure that the client Id, secret, and organisation are correct, and the domain is definitely ".com"/ This is the python code I am using to create
[Webinar] Live demos and user Q&A with Zoho Writer product experts
Join us on June 12, 2025 for live demos based on your use cases and real-world scenarios raised via form. This is also an opportunity to get your questions answered directly by product experts from the Zoho Writer team. Webinar agenda Live demos based
My client requires me to have custom pdf file names to except payment for invoices, how can I customize this before emailing.
Hello! I love the program so far but there are a few things that are standing in the way. I hope you guys can code them in so I can keep the program for years to come. My client requires I customize the pdf file names I send in for billing. Can you please
Schedule mass emails, view mass emails status and more!
Hello everyone, Mass emails help you communicate with multiple customers in a couple of clicks. We have introduced a Mass Emails dashboard in Bigin so that users can see the status of the mass emails like how many emails were opened, clicked and bounced.
Multiple Selection/Select All for Approvals
I have a suggestion from users regarding Approvals. In our environment, our Regional Managers can receive multiple requests for Approval or Rejection. They find it tedious to approve (or reject) each individual record. They would like to have a way to
How to report and analyze a multi-select field entries distinctly ?
As many of CRM users I have many multi-select fields that allows me to choose more than one chose in one cell for a specific filed Like: Field A - A;BC - A;C -B;C But when reporting the field it will handle each cell as a "String" not multiple entries
Merge invoices
This has come up three times in a month of me using the system. a client whom i do work for on a regular bases asked me to invoice separate jobs on a single invoice. I would then go and cancel the old invoices and make a new one. It would be great if i could just select the invoices and click merge to create a single invoice.
Zoho CRM Two currencies on one record
Hello all, Our country is planning to transition to Euro from our local currency. The government is planning to mandate that all companies show their invoices, quotes, etc. in both currencies for a period of one year in order to protect from speculation.
How to get values from both tables in Join in COQL query in Zoho API
In this below query I can get value either from Deal Table or from Contact table. If I wanted data from both the table it is not working. Can you please help me with this. Thanks in advance. { "select_query": "select ,A.Deal_Name,B.First_Name,B.Last_Name,
【Zoho CRM】日時のフィルター機能のアップデート
ユーザーの皆さま、こんにちは。コミュニティチームの藤澤です。 今回は「Zoho CRM アップデート情報」の中から、各タブで利用可能な日時のフィルター機能のアップデートをご紹介します。 日付項目と日時項目のフィルター及びカスタムビューに、「前へ(Previous)」「次へ(Next)」の選択肢が追加されました。 ⬛︎[前へ(Previous)]:作成日時に基づきレコードをフィルターにより抽出する場合 例1. 前へ6ヶ月:当月を除く直近6ヶ月間のレコードを抽出 例2. 前へ3年:今年を除く直近3年間のレコードを抽出
How can I notate on check stub when a vendors credit has been applied to an invoice payment?
I'm looking for a way of printing vendor credit memo use on a check stub when its been applied to other invoices. To let my vendors know I'm using credit memo XYZ in the amount of $xx.xx. Currently I am having to handwrite it on the stub to show my vendor
Is there a Waiting Room Before The Webinar Starts?
It appears that there is no waiting room before a webinar starts. For example, with most webinar software you can collaborate with your co-presenter, set up your presentation and check to make sure everything sounds right before you go live. Zoho Meeting/Webinar
Optimizing Zoho CRM Integration – Tips & Insights Needed
I hope you're all doing great! I'm currently working on integrating Zoho CRM with our platform, which helps users get iPhone Free of cost through verified government programs. Everything's coming together nicely so far, but I'd really appreciate some
Forms - Workflow
Apologies if this has been asked before. I would like to know if there is a way to setup a form where a customer completes the fields/questions on Page 1 and then it is forwarded to an internal department employee who completes the fields/questions on
Using the "Like" operator in Custom Formula
HI there, Can someone please explain the way to use the "LIKE" operator in an IF statement to compare strings? I have tried the following but am not getting the results I'm after. if( "CurrentStatus" like 'Rejected*','Unsuccessful','Pipeline') Thanks Matt
ABA Files payment description
Hi, is there a way to automate the payment description on the ABA file creation. When you paying many vendors having to put this in each time is very time-consuming. I couldn't see if there was a way to workflow this to automate using deluge.
GDPR Contd. - Handling Lawful Bases for Your Customers using Zoho CRM.
Hello folks, Continuing from our previous GDPR post, we bring to you the first cut of GDPR centric enhancements that are released for handling lawful bases for your customers in Zoho CRM. For your understanding we have split the entire process into three sections: Identifying Data Processing Basis Updating the Data Processing Basis in Zoho CRM Consent Management in Zoho CRM 1. Identifying Data Processing Basis The fundamental principle to handle the personal data of your data subjects is to process
Upgrade the Lato font to the Lato 2 font
While there's not a major difference, I noticed that Zoho doesn't use the upgraded Lato 2 font but it instead uses the standard one. Lato 2 enhances the look of letters and numbers when you italicize them, among little things that get tweaked. Is it possible
Masked Field Type with Permission-Controlled Visibility in Zoho CRM
Dear Zoho CRM Team, Greetings, We would like to request a new feature that would enhance data security and access control within Zoho CRM, especially when handling sensitive internal information. Use Case: Our team occasionally needs to store sensitive
How to properly setup Databridge on Linux Server?
Hello guys, i am running a Linux server on which I am installing the Zoho Databridge via command line. The Zoho tutorial ( https://help.zoho.com/portal/en/kb/analytics/user-guide/import-connect-to-data/databases-and-datalakes/articles/postgresql-3-3-2021#1_How_do_I_install_Zoho_Databridge
Haven't used banking function for years and now want to reconcile and clean up my account
I'm in the UK and have been using Zoho Books for my private mental health practice since 2018. Up until recently, I've entered everything manually and not reconciled any items with my bank account. Every year, I run a report for that year and use that
invalid element hsn_or_SAC
Hi, I am trying to record expense in Zoho expense. when submitting I am facing this issue invalid "element hsn_or_SAC" please help me with this. Regards, Abdul Hameed M
Plug Sample #14: Automate Invoice Queries with SalesIQ Chatbot
Hi everyone! We're back with a powerful plug to make your Zobot smarter and your support faster. This time, we're solving a common friction point for finance teams by giving customers quick access to their invoices. We are going to be automating invoice
Recap - Desk Story Series
In our exploration of the Wheels of Ticketing Series, we kicked things off by diving into a fundamental element of Desk Ticketing: the fields. These fields serve as the building blocks that gather essential information about tickets, customers, organisations,
Tip of the Week #60– Reduce response time with shared inboxes!
When customer messages are scattered across different platforms and team members aren't sure who's responding, delays are inevitable. Slow responses frustrate customers and create a poor experience for your brand, especially when expectations are high.
Hybrid project management in IT and software development services
Project management models serve a wide range of audience, however the highest takers for Agile project management methodology are the IT and software services industry. The flexibility to develop and release software iteratively with continuous improvement,
Introducing Forms in Zoho Sheet
We hereby bring you the power of forms in Zoho Sheet. Now, build and create your own customized forms using Zoho Sheet. Be it compiling a questionnaire or rolling out a survey, Zoho Sheet can do it all for you. Forms is an excellent feature that helps you collect information in the simplest of ways and having it in Zoho Sheet takes it a notch higher. Build Simple yet Powerful forms Building forms using Zoho Sheet is fairly simple. The exclusive 'Form' tab lets you create one quickly. Whether you
What's New in Zoho Inventory | January - March 2025
Hello users, We are back with exciting new enhancements in Zoho Inventory to make managing your inventory smoother than ever! Check out the latest features for the first quarter of 2025. Watch out for this space for even more updates. Email Insights for
Overdue payments pending approval max
I needed to validate update the email to pay for goods sold out, travel expenses and cars and vehicles for office, office supplies, properties purchase etc
How do I mass edit time entries?
Since you can not filter or sort time entries by what has and has not been invoiced (you can only see the icon but not separate invoiced from non-invoiced), I would like all time to initially be entered in as un-billable and I can change to billable as I bill them. (since you can see this separation) So my question is HOW do I mass edit this? Can it be done?
Zoho Booking Page Footer
Is there any option available to add social media, like LinkedIn, on the Zoho Booking page?
Custom SMTP is now available in Zoho Sign
Hi there! Want to send Zoho Sign emails from your organization's or personal email server? Look no further! Zoho Sign has introduced custom Simple Mail Transfer Protocol (SMTP) for Enterprise users across all data centers. By enabling custom SMTP, you
Help with SEO
Hi There, I have recently published a site and added some Keywords in the SEO settings. Searching Google I currently don't find my site though. When do these settings take effect? In the SEO settings there is also a section "Sitemap" I can change settings for "frequency" and "Priority" What do these settings do? Kind regards
Report Level Button
Currently I couldn't find a way to add a report level button I think currently we can only add buttons/actions for records, but having custom report level button would be really beneficial Usecases Click to import/sync Data from On Prem Systems Click
Create collection from start integer to end integer
I want create some ticket number. Starts at 1 and end at 10. I want the result to be a string 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10. Trying something like this but need the correct way write the start and end part. start = 1; end = 3; sequence = List();
Importing Subform Data is Removed in Zoho Creator 6
Previously It was possible to import Data to the Subform in Creator 5 This basic and mandatory Feature was completely removed from Creator 6 with no Timeline to add support for it How are we supposed to add our data if we want to use Creator? Manually?
Function #50: Send Mass emails to your customers
Hello everyone, and welcome back to our series! We have reached a milestone of 50 Functions, which means that we have automated 50 different tasks in Zoho Books. Every Friday, we have shared a nifty function aimed at either automating a task or streamlining
Smart Document Automation:: From Zoho Projects to Zoho Writer – Merge, Edit, and Share
Hello Everyone, A custom function is a software code that can be used to automate a process and this allows you to automate a notification, call a webhook, or perform logic immediately after a workflow rule is triggered. This feature helps to automate
Next Page