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
The new Zoho Sheet for Android: Seamless UI and advanced features
At Zoho Sheet, we know mobile apps have become the go-to platforms for creating, sharing, and storing information. And we understand the importance of an efficient and seamless app experience. We've been working hard on improving the overall user experience
Zia in Zoho Sheet now makes suggestions on conditional formats, picklists, and checkboxes
Zia, Zoho's popular AI assistant, has been helping users succeed across Zoho applications since inception. In Zoho Sheet, Zia helps users efficiently build reports and analyze data with recommendations about data cleaning, charts, and pivot table. Also,
VBA attached to button no longer works on external shared sheet
Hi - we have a Sheet that our clients use, which requires them to press a button once they've entered data. The button then triggers a flow via a webhook. The button works fine when editing within Zoho Sheet - however when shared externally it no longer
can I use zoho sheet for survey?
Hi I wanna use zoho sheet for my ARY to know consumer better so i wanna have permission to do so
How to Avoid Impacting Other Users When Hiding Columns in Zoho Sheet
Hi Team, We’re experiencing a challenge with the column-hiding feature on Zoho Sheet during collaborative sessions. When one user hides a column, it becomes hidden for all users working on the file, which disrupts others' workflows. In comparison, Excel
What are the benefits of procurement software in a growing business setup?
I’ve been exploring tools that can help automate purchasing and vendor-related tasks. I keep hearing about the benefits of procurement software, especially for businesses that are scaling. I want to understand how it helps in streamlining operations,
What formula to use in computing total hrs and decimal hrss
So , my data includes log im column , 2 breaks with 2 columns that says back and lunch and 1 column that says back and logged out. What formula should i use to be able to automatically have my total hours as I input time in each column? Thankyou
Replacing email ID,
In zoho sheets If I am sending it as an email attachments can I replace sender email ID from notifications to my email ID.
Latest Enhancements and Bug Fixes in Zoho Meeting
Hello there, We hope you're doing well. The latest updates from Zoho Meeting include enhancements like adding names for instant meetings, renaming participants, enabling text notifications for participant entry/exit, viewing details of bandwidth optimization,
Multi-video feed in webinars, custom domain options, and our integration with MS Outlook
Hi there, We hope you're doing well. With your help, we have been able to release many useful features and enhancements in 2020. We, the Zoho Meeting team, would like to thank you all for the feedback, support, and encouragement you've given as we worked
Add co-hosts in meetings, manage webinar registration and other enhancements
Hello all, This month's updates allow you to add co-hosts while scheduling meetings. You can also control your webinar registrations better by allowing or blocking registrations from the domain or country of your choice. Read on to learn more. Meeting
A new UI for distraction-free engagement in online meetings and webinars that scale up for 3000 attendees
Hello all, We're excited to share our new, refined UI for online meetings. Here's how the new UI will improve your experience during online meetings: We've re-designed Zoho Meeting's online meeting UI to enable users to fully engage in conversations
I Can't Clone Webinar that I Co-Organize
How do i get our account admin to give me permission to clone our webinars? I am a co-organizer
Latest updates in Zoho Meeting | Calendar view, Zia integration with OpenAI, edit the recurring pattern in a recurring meeting, device error notifications revamp, and more.
Hello everyone, We’re glad to share a few updates and enhancements in Zoho Meeting, including the Calendar view, being able to edit the recurring pattern in a recurring meeting, revamped device error notifications, and other enhancements that you’ll find
New enhancements in the latest version of the Zoho Meeting Android mobile app.
Hello all, In the latest version of Zoho meeting Android mobile app (v2.2.6), we have brought in support for the below enhancements. Close account: Now users will be able to close their Zoho account directly from the app. Unmute toast message: If a user
Share material, Lock Meeting and revamped feedback UI in the latest version of the Meeting iOS app.
Hello all, In the latest version of the Zoho Meeting iOS mobile app (v1.6), we have brought in the below enhancements. Share material in meeting: We have introduced share material during meeting that allows participants to view supported materials such
Latest updates in Zoho Meeting | New chat feature between an organizer and co-organizer in webinars, recording consent for webinar co-organizers and attendees in the Android app, and more.
Hello everyone, We’re excited to share a few updates for Zoho Meeting. Here's what we've been working on lately: A new chat feature between an organizer and co-organizer in webinars, recording consent for webinar co-organizers and attendees in the Android
Latest updates in Zoho Meeting | A new Files tab to manage all your PDFs, PPTs, Video files and recordings, live transcription , ability to lock settings and adaptive echo cancellation.
Hello everyone, We’re excited to share a few updates for Zoho Meeting. Here's what we've been working on lately: A new Files tab to manage all your PDFs, PPTs, Video files and recordings, live transcription during sessions, ability to lock settings and
Latest updates in Zoho Meeting | Meeting Rooms , Pin video feeds and customize from and reply-to email addresses
Hello everyone, We’re excited to share a few updates for Zoho Meeting. Here's what we've been working on lately: Introducing Zoho Meeting Rooms, an immersive solution for teams to connect over virtual meetings in video conference rooms. You can also pin
Latest updates in Zoho Meeting | New top bar video layout, a revamp of our in-session settings and now import webinar registrations with a CSV file
Hello everyone, We’re excited to share a few updates for Zoho Meeting. Here's are some of them : We have moved audio, video, virtual background and preferences under a single settings pop-up for better user navigation. You can now upload a CSV file containing
Important update: Changes in email sender policies
Hello, This is to announce important changes to email sender policies from Google that may impact your use of Zoho Meeting. Restriction on public domains Effective February 1, 2024, Google is implementing policies that will affect the configuration of
Chat for webinar session, schedule meeting session for 24 hours - Zoho Meeting iOS app update
Hello, everyone! In the most recent iOS version of the Zoho Meeting app, we have introduced the chat functionality for the webinar session. To access this feature, the Organizer should have the 'Public chat' option enabled on the Zoho Meeting desktop
Invoice Copy 2005116990189
Please provide the invoice for the trancaction 2005116990189
Darshan Hiranandani About
Hi, I’m Darshan Hiranandani, a dedicated software developer with a strong passion for creating efficient and user-friendly applications. With a degree in Computer Science and several years of experience in the tech industry, I specialize in full-stack
Latest update in Zoho Meeting | On-demand webinars
Hello everyone, We’re excited to introduce our new on-demand webinar feature, you can now provide pre-recorded sessions that your audience can access immediately, no need to wait for scheduled sessions. Benefits of On-demand webinars : Scheduling flexibility
Zoho Meeting iOS app update - Join breakout rooms, access polls, paste links and join sessions, in session host controls
Hello, everyone! In the latest iOS version(v1.7) of the Zoho Meeting app, we have brought in support for the following features: Polls in meeting session Join Breakout rooms Paste link in join meeting screen Foreign time zone in the meeting details screen.
Zoho Meeting app update.
Hello, everyone! In the latest Android (v2.3.7) and iOS (v1.7.1) versions of the Zoho Meeting app, we have brought in support for the following features: Report Abuse option. WorkDrive integration. Report Abuse option You can now report to us any deceptive
Zoho Meeting Android app update - v2.4.0
Hello everyone! We are excited to announce that we have brought in support for the following features in the latest version of the Zoho Meeting Android app(v2.4.0): 1. Start Personal Meeting Rooms 2. Revamp of the schedule meeting screen and meeting details
Introducing Zoho Desk integration and a few minor enhancements
Zoho Desk Integration We've now introduced an integration between Zoho Meeting and Zoho Desk to efficiently manage meeting-related customer inquiries. With this integration, you can track, respond to, and resolve meeting-related tickets directly from
Zoho Meeting iOS app update: Hearing aid, bluetooth car audio and AirPlay audio support.
Hello everyone! We are excited to announce the below new features in the latest iOS update(v1.7.4) of the Zoho Meeting app: 1. Hearing aid support: Hearing aid support has been integrated into the application. 2. Bluetooth car Audio, AirPlay audio support:
Zoho Meeting Android app update: Breakout rooms, noise cancellation
Hello everyone! In the latest version(v2.6.1) of the Zoho Meeting app update, we have brought in support for the following features: 1. Join Breakout rooms. 2. Noise cancellation Join Breakout rooms. Breakout Rooms are virtual rooms created within a meeting
iOS 12 update: Introducing autofill passwords and Siri Shortcuts in Zoho Vault
With this iOS 12 release, Zoho Vault users can now autofill usernames and passwords on Safari and other third-party apps. Users can enjoy a seamless login experience to their everyday apps without compromising security and also access passwords stored in Zoho vault with Siri Shortcuts by adding personalized phrases. How to enable autofill password on your iOS device? First, you need to update your device to iOS 12. Apple recommends you to take a backup before you update your device to the latest
Zoho Vault: A look at what's new for iOS, iPadOS, and macOS
Hi everyone, At Zoho Vault, we constantly aim to improve your security experience. Based on both internal and external feedback, we have recently rolled out updates across our iOS, iPadOS, and support for macOS platforms. Introducing the desktop app for
Biometric Access Support on Zoho Vault Desktop App
Is there any plans to add biometric authentication (fingerprint, face recognition) for Vault desktop apps (Windows/macOS) to enhance security and ease of access. I would love to hear other members view on this
Free webinar: Learn the benefits of migrating to Zoho Vault's new interface
With remote work becoming more and more common across the globe, productivity and time management are now pivotal concerns for every organization. With the number of business applications employed by companies constantly increasing, a password manager like Zoho Vault saves a lot of productive hours for your team. Vault's new interface has been carefully designed to address these pressing needs, helping users increase their productivity while improving their overall online experience. This July,
Free Webinar: An exclusive live Q&A session with the Zoho Vault team
As 2020 draws to an end, we're closing out a year that has seen drastic changes all around the world. Many businesses have adopted cloud solutions and a remote work culture for the first time, and this has given rise to newer cyber risks and threats that
Why passwordless authentication should be your top security project for 2021
Hello users! We know that nobody likes to remember passwords, yet they form an indispensable part of our lives. Many of us working with any kind of technology today manage numerous passwords for personal and business accounts. With the widespread adoption
Free Webinar: See why Zoho Vault is the best alternative to LastPass
When LastPass was acquired by LogMeIn in Oct 2015, we expressed our genuine concern about how this would change the LastPass business model and how customer trust would transfer from one company to another. As we suspected, LastPass doubled their pricing
Managing cyber threats when working remotely | A Customer Survey Report
The nearly universal adoption of remote work has changed the way businesses function. Globally, enterprises continue to work to find new ways to make life easier for employees working remotely. However, a commonly cited concern has been the lack of cybersecurity
World Password Day: 5 interesting facts about passwords
It's World Password Day: that time of the year when we talk about password hygiene and the importance of safe password management. World Password Day is observed on the first Thursday of every May, and this year, we'd like to talk about some of the most
Next Page