When building a topping to extend Bigin's functionality and connect it with third-party applications, creating and handling connections is an important step. Connections provide a secure way for your topping to authenticate and communicate with other applications' APIs without exposing sensitive credentials to end users. This abstraction is both secure and makes the integration easier because it eliminates the need for developers to implement complex authorization flows manually or handle authorization tokens directly.
Bigin's Developer Console offers a feature called a connection, which acts as a bridge between your topping and the third-party application you wish to integrate with. Once a connection is configured, you can reference it in your topping's functionalities using its unique link name. This enables the topping to execute REST operations such as fetching, updating, or syncing data with the connected application securely.
Now that we've achieved a basic understanding of what a connection is and how it helps toppings interact with other applications, the next step is to understand the types of connections available in Bigin's Developer Console.
Establishing connections with services
The connections feature in Bigin's Developer Console offers two types of services to help developers configure integrations according to their requirements: default services and custom services. Default services are preconfigured services available in Bigin's Developer Console that simplify integrations with some Zoho and third-party applications. If the application you want to integrate with isn't listed in the default services, you can create a custom service and configure it according to the API specifications of the third-party application.
Default services
The connections feature offers certain default services as preconfigured options that can be easily integrated with Bigin. These services come with predefined settings such as authentication type, token endpoints, scopes, and headers, which reduces the need for manual configuration. Currently, there are around 50 default services available in the Developer Console, covering a wide range of applications and platforms. This enables developers to connect to services with minimal effort.
If the application you want to integrate with your topping isn't listed in the default services, you can create a new custom service.
Custom services
Custom services enable developers to configure all aspects of a connection manually, including the authentication type, endpoints, headers, and scopes, which enables integration with third-party applications.
When setting up a custom service, developers can specify the exact authentication flow required by the external application, whether it's basic authentication, OAuth, an API key, or another method.
Note:
Refer to the official API documentation of third-party applications when configuring these settings, as this will provide the necessary details for authentication and data access.
To create a custom service, navigate to the Connections section and choose Custom Services in the Developer Console. Based on the authentication type supported, configure the custom service for the required product.
For more details on creating and configuring custom services, please refer to this
guide.
Note:
Always handle sensitive information such as client IDs, client secrets, and API keys securely, and never share them publicly. After configuring and authorizing a custom service, reference it in Deluge scripts and workflow functions by using its unique connection link name, just as you do with default services.
Next, let's look at how to implement the default service connection with an example.
Create a default service connection
Let's say you're developing a Bigin topping to synchronize contact information between Bigin and Zoho Books. This integration enables contacts created or updated in Bigin to be automatically reflected in Zoho Books. The topping uses Zoho Books APIs to create, update, and retrieve customer data using a default service connection.
To create a default service connection for the topping, choose Connections from the left panel of the Developer Console and click Get Started.
Next, navigate to My Connections or Default Services. To fetch data from the Contacts module in Bigin, create a connection first. From Default Services, select Bigin and then click Create Connection to set it up.
The system will prompt you to enter the connection details. Provide a name for the connection (for example: Bigin Connection). A connection link name is generated automatically.
Next, select the scopes required for the topping's functionality. In this use case, select ZohoBigin.modules.ALL to access data from Bigin's Contacts module.
After selecting the scope, click Create and Connect to initiate the authorization process. The system redirects you to the authorization page. Click Connect, and you'll be taken to the service's login page. Choose the Bigin organization for which the topping was created, click submit, and the connection will be created.
After establishing the connection with Bigin, you must also create a connection for Zoho Books to enable record creation. To do this, create a default service connection for Zoho Books, similar to the one created for Bigin. Select the scope ZohoBooks.fullaccess.ALL to grant complete access to modules and operations in Zoho Books.
Once you've created the connections for both Bigin and Zoho Books, the system will generate connection link names for each. These link names must be used in the business logic.
Note:
During development, authorize the connection in the Sandbox environment to test integration workflows safely.
To understand the authorization process and how to implement them, please refer to this
guide on authorizing connections.
After you authorize the connection, set up a workflow rule in the Bigin Developer Console that gets triggered whenever you create or update a contact in your Bigin account. Here, we need to specify the conditions that apply to the workflow and check that the email field isn't empty.
Note:
In our use case, we'll use the email address to check whether the newly created contact in Bigin already exists as a customer in Zoho Books.
When the workflow meets the specified conditions, an instant action - in this case, a function - which will execute a custom functionality that performs the following operations:
- Retrieves the contact details from Bigin by referencing the established connection link name biginandbooksconnection0__booksconnection.
- Searches Zoho Books for an existing contact that matches the email.
- If a matching contact exists, update the contact's phone and contact person details in Zoho Books.
- If the script doesn't find a matching contact, it creates a new contact in Zoho Books with the relevant information.
Below is the code that automates contact synchronization between Bigin and Zoho Books:
- //Retrieve contact details from Bigin using the established connection
- biginContact = zoho.bigin.getRecordById("Contacts",contact.get("Contacts.ID"),Map(),"biginandbooksconnectionnew__biginconnection");
- //Extract relevant contact data
- biginData = biginContact.get("data");
- contactDetails = biginData.get(0);
- email = contactDetails.get("Email");
- phone = contactDetails.get("Phone");
- mobile = contactDetails.get("Mobile");
- fullName = contactDetails.get("Full_Name");
- //Search Zoho Books for existing contacts by email
- searchParams = Map();
- searchParams.put("search_text", email);
- booksContactsResponse = invokeurl
- [
- url :"https://books.zoho.com/api/v3/contacts"
- type :GET
- parameters:searchParams
- connection:"biginandbooksconnectionnew__booksconnection"
- ];
- info "Searched by name in Books: " + booksContactsResponse;
- booksData = booksContactsResponse.get("contacts");
- if(booksData != null && booksData.size() > 0)
- {
- // Extract the existingContactId
- existingContactId = booksData.get(0).get("contact_id");
- // Update existing contact
- updateParams = Map();
- updateParams.put("contact_name",fullName);
- updateParams.put("phone",phone);
- updateParams.put("mobile",mobile);
- updateParams.put("email",email);
- // Define contact person details
- contactPerson = Map();
- contactPerson.put("last_name",fullName);
- contactPerson.put("mobile",mobile);
- contactPerson.put("phone",phone);
- contactPerson.put("email",email);
- contactPerson.put("is_primary_contact",true);
- contactPersonsList = List();
- contactPersonsList.add(contactPerson);
- updateParams.put("contact_persons",contactPersonsList);
- //Prepare and execute update request
- parameters_data = Map();
- parameters_data.put("JSONString",updateParams.toString());
- info "parameters_data value:" + parameters_data;
- updateResponse = invokeurl
- [
- url :"https://books.zoho.com/api/v3/contacts/" + existingContactId + "?organization_id=XXXXXXX"
- type :PUT
- parameters:parameters_data
- connection:"biginandbooksconnectionnew__booksconnection"
- ];
- info "Updated Contact: " + updateResponse;
- }
- else
- {
- // Create new contact
- contactDetails = Map();
- contactDetails.put("contact_name",fullName);
- contactDetails.put("email",email);
- contactDetails.put("phone",phone);
- contactDetails.put("mobile",mobile);
- // Define contact person details
- contactPerson = Map();
- contactPerson.put("last_name",fullName);
- contactPerson.put("mobile",mobile);
- contactPerson.put("phone",phone);
- contactPerson.put("email",email);
- contactPerson.put("is_primary_contact",true);
- // Add to contact persons list
- contactPersonsList = List();
- contactPersonsList.add(contactPerson);
- contactDetails.put("contact_persons",contactPersonsList);
- // Prepare and execute the create request
- parameters_data = Map();
- parameters_data.put("JSONString",contactDetails.toString());
- createResponse = invokeurl
- [
- url :"https://books.zoho.com/api/v3/contacts?organization_id=XXXXXXX"
- type :POST
- parameters:parameters_data
- connection:"biginandbooksconnectionnew__booksconnection"
- ];
- info "Created Contact: " + createResponse;
- }
After you configure the workflow and associate the function with the instant action, test the topping in the sandbox environment.
- To do this, click Test Your Topping in the upper-right corner of the Developer Console. This action will redirect you to the Bigin sandbox account, where you can create a new contact to test whether the functionalities work properly.
- After creating a new contact in Bigin, navigate to the Customers module in the Sales section of Zoho Books. When you set up the integration correctly, you'll see the newly created contact here, which confirms that Bigin and Zoho Books are synchronizing as expected. This process provides a safe and effective way to validate the workflow before deploying the topping to a production environment.
In this post, we've explained that default service connections in Bigin simplify authentication and connection with third-party applications by using predefined settings such as authentication type, token endpoints, and scopes. These connections are convenient because the Developer Console pre-configures the authentication flow and endpoints of the application you're integrating with.
To sum up: Bigin's connections feature provides a flexible foundation for integrating with a wide range of external services, and using these connections, developers can extend Bigin's integration capabilities.
Stay tuned for more about developing toppings and exploring other related features available in the Bigin Developer Console.
Recent Topics
Feature Request: Integración con la Lista del Artículo 69-B del SAT para Zoho Books México
Feature Request: Integración con la Lista del Artículo 69-B del SAT para Zoho Books México Hola equipo de Zoho, Durante los últimos meses he observado una necesidad recurrente entre varios clientes en México relacionada con el cumplimiento fiscal del
Alternate color rows
After I changed the background color to a dark gray and changed the alternate rows to a light gray. I have discovered that I can no longer change the text in the light gray rows to Bold.
Workflow Assistance in Zoho CRM
Our client's sales team visits customers on-site and currently fills a physical paper form to capture customer details, and then separately re-enters the same data into Zoho CRM via the mobile app — resulting in double data entry. We want the salesperson
Can we generate APK and IOS app?
Dears, I want to know the availability to develop the app on zoho and after that .. generate the APK or IOS app and after that I added them to play store or IOS store.. Is it possible to do this .. I want not to use zoho app or let my customers use it. thanks
Pricelists
So we have them in books but I cannot find them in commerce?
Cliq iOS can't see shared screen
Hello, I had this morning a video call with a colleague. She is using Cliq Desktop MacOS and wanted to share her screen with me. I'm on iPad. I noticed, while she shared her screen, I could only see her video, but not the shared screen... Does Cliq iOS is able to display shared screen, or is it somewhere else to be found ? Regards
Collapsible Sections & Section Navigation Needed
The flexibility of Zoho CRM has expanded greatly in the last few years, to the point that a leads module is now permissible to contain up to 350 fields. We don't use that many, but we are using 168 fields which are broken apart into 18 different sections.
Important update on our transition to the new video platform framework
As part of our ongoing platform changes, users in select regions, including the United States and other supported data center locations, have been migrated to our new video platform framework. Due to this migration, some participants may notice changes
Zoho CRM Layout Rules: Nine New Actions, Profile-Based Execution, and Interactive Preview
Hello everyone, Availability: This feature is now available for customers in the JP and SA DCs. It is planned to be released for other customers in soon. We’re excited to announce powerful new enhancements to Layout Rules in Zoho CRM - a feature built
Validation Rule Not Working for Mandatory Field in Zoho Blueprint
As a Zoho user, we created a validation rule for a specific field. However, we noticed that when we made the same field mandatory within a Blueprint, the validation rule we defined did not work. When we reported this issue to Zoho Support, they stated
CRM x WorkDrive: We're rolling out the WorkDrive-powered file storage experience for existing users
Release plan: Gradual rollout to customers without file storage add-ons, in this order: 1. Standalone CRM 2. CRM Plus and Zoho One DCs: All | Editions: All Available now for: - Standalone CRM accounts in Free and Standard editions without file storage
Ticket id issues
When I reply a ticket from desktop, it doesn't have ticket id in the subject and it's great. When I reply a ticket from Zoho desk mobile, Zoho adds ticket id in the subject and I don't want that. Please help in this matter.
Zoho Desk Community Module Reporting
I can't seem to find any reporting for the community module in Zoho Desk. Am I missing something or are there just no reports available?
Une collaboration simplifiée grâce à l’interopérabilité des calendriers
L’interopérabilité des calendriers permet aux équipes utilisant différentes plateformes, comme Zoho Calendar et Google Calendar, de consulter facilement les disponibilités de leurs collègues sans avoir à utiliser plusieurs outils. Dans les entreprises
Zia AI capabilities now available in all paid editions
Hello everyone, We are expanding the availability of AI-powered features in Desk to the other paid subscriptions from 7th July 2026. Right now, the following AI-based features are available for Enterprise edition users: Intelligence: Sentiment analysis,
Overview on users IMAP settings
We have about 30 users who all have the channels/email/email configuration/IMAP integration/O365 enabled and emails are synchronized. Here my problem: Passwords for the email accounts are expiring on individual bases and most of the users forget to update
Format of data after export to spreadsheet
Dear Zoho, can you explain to me what is the point of a report exporting to XLSX if the format of the amounts that will be created there is in text format and not suitable for anything? Why do I need data in a sheet with which nothing more can be do
How to add custom icons in Sites ?
I've been trying to upload some of my own icons (specific to my business) to my zoho Site draft, and can't find a way to do it. I guess the workaround could be to insert images instead of icons and upload my icons as images, but I was wondering if its possible to customize the icon library.
Zoho Forms API
Is there any way to get all form entry list using API? Looking forward to hear from you
#21 Five Minutes Every Monday That Replace an Hour of Digging
Welcome to the final stretch of our journey. In this series so far, you have configured Zoho Invoice, created and managed your transactions and built a workflow that shares invoices and collects payments almost on its own. You have been doing the work.
Kaizen #251: From Campaign Leads to Sales Orders with Zoho CRM Mass Action APIs
Hello all!! In growing businesses, sales teams often deal with a large volume of records every day - leads from campaigns, qualified prospects ready for conversion, and approved quotes that must be converted into sales orders. Performing these actions
Introducing the Employee Portal for internal job posting
Employee referrals and internal applications are one of the most trusted hiring channels. But in many organizations, employees only hear about openings through messages, word of mouth, or after the role has already been open for a while. When employees
Inspection Table
Hello Latha, We created a job sheet that includes the new table (Inspection Table) which was introduced recently. However, agents are not able to see the rows in the inspection table. Could you please investigate this issue and get back to us? Please
Zoho Mail is down?
We stopped getting new emails since 8:42am EST and mail.zoho.com shows an error.
Forwarding without verification
Hi, I use Tripit to keep track of all my business travel. I've recently moved over to Zoho and wanted to set up a forwarding rule to send various travel confirmation emails automatically to plans@tripit.com Obviously this is an email address I don't control,
Disappearing Mouse cursor in Zoho Mail / Windows 11 (Chrome + Edge)
I'm seeing an issue when writing mails with the light theme with the mouse cursor being white and the document area also being white - making it nearly impossible to see the mouse cursor. I see the problem on Windows 11 under Chrome and Edge. (Yet to
Request to unblock user creation error (This user is not allowed to add in Zoho)
Hello Zoho Support Team, I am the Super Admin of my Zoho Mail organization. When I try to create a new business email user account, I encounter the following error message: "This user is not allowed to add in Zoho. Please contact support-as@zohocorp.com
Zoho Mail account blocked after malware incident – request for review and unblock
Hi Zoho team and community, My Zoho Mail account has been blocked due to outgoing email activity that was detected as spam or unusual sending behavior. The root cause was a malware infection on my computer, which compromised several of my accounts, including
creating an alias
your instructions for creating an alias are wrong. there is no add alias in my mail account. also i dont have a control panel link just a settings link how do i really make an alias
IP Address blocked by many servers
hello team this is to inform you that the zoho ip address 103.117.158.51 has been marked spam and not trustworthy by outlook and many other company servers. kindly discontinue using this ip to maintain a healthy domain reputation for your clients. Regards
Automatically set the default VAT percentage on a quote
Every time I create a quote, I have to manually adjust the VAT and activate the checkbox for 21%. But all of our quotes include 21% VAT. So now occasionally, it happens that the checkbox is forgotten, and the customer receives an incorrect quote (without
What's New in Zoho Inventory | June 2026
Hello users, June 2026 introduces a range of exciting enhancements to Zoho Inventory. With the full rollout of the Zoho Inventory Windows application, the launch of Terminal Payments, and new tracking combinations in Advanced Inventory Tracking, you can
Time Zone is incorrect
Time zone is not working properly...I've checked it twice. I'm eastern U.S. time it's currently 12:22 pm EST. CRM shows 3:22 pm EST.
Send a converted Contact or Deal back to Leads using the Restore Lead extension for Zoho CRM
Hello everyone, This comes up more than people expect: a Lead gets converted into a Contact, and sometimes a Deal along with it, because at the time it looked ready. Then the situation changes the opportunity turns out to be much further off than expected,
Zoho CRM mobile updates: Reports module, record tags, dynamic formula field, and more
Hello everyone, We've made a few updates to the Zoho CRM mobile app to enhance your mobile CRM experience and efficiency. Here's a quick look at what's new: Reports module (iOS ) Record tags (iOS) Dynamic formula field (Android) WhatsApp business deep
Side scroll bar missing from "new editor"
The "new editor" simply lacks a side scroll bar. Unable to navigate long notes without using the keyboard. Bad upgrade... (using web version)
Zoho Desk MCP doesn't expose all functions
Hello, I'd like to be able to draft (rather than send) ticket replies using Claude Cowork. However, the Zoho Desk MCP doesn't currently offer that, despite it being available in the API (https://desk.zoho.com/DeskAPIDocument#Threads#Threads_DraftEmailReply).
Zoho Community Digest - July 2026 | Part 1
Hello everyone! Keeping up with everything across the Zoho ecosystem is a lot, so we're bringing back the Zoho Community Digest, now weekly. Each week we round up the need-to-know announcements from the Zoho Community Forums, four editions a month, so
Canva Integration
Hello! As many marketing departments are streamlining their teams, many have begun utilizing Canva for all design mockups and approvals prior to its integration into Marketing automation software. While Zoho Social has this integration already accomplished,
Feature Suggestion for Zoho Social: Auto-reply to Comments or Keywords
Hi Zoho team, I'd like to suggest a very specific feature that would be extremely helpful for customer engagement: the ability to automatically send a reply to comments on posts — either all comments or those containing specific keywords. For example,
Next Page