Hello everyone!
Welcome back to another post in the Kaizen series!
This week, we will discuss different client types available in Zoho API Console, and when to use each.
When you register an app in Zoho API Console, you typically choose a client type based on how your application interacts with Zoho services.
Let us discuss the available client types and how authorization is handled for each.
Available client types
- Server-based
- Client-based
- Self client
- Non-browser-based
- Mobile-based
1. Server-based
If you have a web-based application that runs on a dedicated HTTP server and interacts with Zoho services by calling Zoho APIs via that server, you must register your app with this client type.
This client type is for applications that redirect the users to another URL on a web browser to authorize themselves, where they give consent to your application to use their data.
In other words, you must use this client type when you have a front-end web UI and require user intervention before your app can access user data via the dedicated server.
Consider that you are developing a web-based custom application. Users authorize that app via browser to allow their Zoho CRM data to be accessed and used by that application.
During the registration process in Zoho API Console, you would choose the "Web-based" client type.
OAuth 2.0 would be used for user authentication, allowing your app to securely access and interact with Zoho CRM data on behalf of the users.
Here is a gist of what happens:
- Users visit your website where you have the Login with Zoho button.
- When a user clicks it, that user will be redirected to accounts.zoho.com with the details of your app such as client ID, scope, redirect uri, access type as the URL parameters.
- Your app must make an API call to Zoho Accounts with the client ID, scope, redirect uri, and access type. Users are shown the data that your application wants to use.
- When users give their consent, Zoho redirects them back to your app.This will be the "Redirect URL" you give while registering your app.
- The redirect URL will have the authorization code(grant token) as one of the parameters, along with the location(user's domain).
- Your app must then make API calls from your web server to Zoho Accounts to generate access and refresh tokens with the generated grant token.
- You must store these tokens in your DB to access that user's data in Zoho CRM. While making API calls, you must send this access token in the header.
- Your app must also have the logic to regenerate access tokens from refresh tokens when the access token expires.
Note that your app must take care of storing user's details like email, organization ID, and tokens.
The following image shows the protocol flow.
When you use our SDK, all you have to do is, generate the grant token and initialize the SDK with the client details and this token. The SDK takes care of access token generation, refreshing it, and token storage.
2. Client-based applications
This client type is for applications that do not have a server and run exclusively on a web browser.
This is also called the Implicit flow as your app makes API calls to Zoho only when users are using your app.
This type of application loads data dynamically on the webpage, and accesses Zoho CRM data by making API calls via Javascript.
Consider the same example where there is a Login with Zoho button on your webpage.
Here is a gist of what happens when a user clicks it.
- Your app redirects the user to Zoho Accounts.
- Your app makes the authorization request with the client ID, redirect uri, scope, and response type as token.
- The user is shown the data that your webpage would use.
- When the user gives consent, Zoho Accounts sends the access token to the redirect uri as a parameter, along with the expiry time and the location of user's data in Zoho's accounts server.
- You can include the "email" in your scope parameter in the access token request to get user's information. The response will have a parameter called id_token that will be in the header.payload.signature format. You need to decrypt the payload section of the parameter using the base-64 decryption algorithm to get user information.
- Your app must then make API calls to Zoho with this access token to fetch data.
- When the access token expires, your app must take care of regeneration and storage.

As the API calls are made from your domain to a different domain(zohoapis.com), for security reasons, the browser will throw the CORS error. So, your domain will be registered while registering your app, and Zoho will know to allow the API calls made from that domain.
As the tokens are available on the browser itself, we recommend handling them with care.
When you use our client-side JS SDK, it automatically generates a new access token upon expiry.
3. Self Client Applications
When your application does not have a redirect URL or a UI, but performs only a backend job, and does not need user intervention, then you must choose this client type.
A self client is often used when the application and Zoho services are operated by the same entity, and you want to enable secure communication between them. For example, you have an internal reporting tool and integrate it with Zoho Analytics. In this case, both the tool and Zoho Analytics are operated by the same entity.
Similarly, consider that you have a legacy product management system and want to perform data sync between Zoho CRM and the system, then you must use the self client.
Here is a gist of what happens.
- You register your app as self client in Zoho API Console.
- You will get the client details such as ID and secret.
- You provide the scopes required for your app to access CRM data.
- You will receive the grant token.
- Your app must then make API calls to Zoho Accounts to generate access and refresh tokens.
- Your app can then use this access token to make API calls to Zoho CRM and use data.
You can refer to our older Kaizen post on this topic for more details.
Note that self client apps can also use any of our server-side SDKs. As already said, the SDK takes care of access and refresh token generation, refreshing the access token, and token storage.
4. Non-browser applications
This client type is for devices that do not have a user agent such a web browser. A TV, for instance.
Let us consider an example involving a smart TV application that integrates with Zoho ShowTime. In this scenario, the smart TV application acts as a non-browser client.
Here is how authentication is handled:
- You must register your smart TV app in Zoho API Console with the type "Non-browser application".
- Users install a dedicated Zoho ShowTime application on their smart TVs.
- When users launch the Zoho ShowTime application on their smart TV, they are prompted to authenticate with their Zoho ShowTime account.
- When they successfully authenticate, Zoho Accounts sends the grant token to your app, along with the user-code, device-code and verification URL,The user must go to this verification URL on a browser and enter the user-code to grant permission to the app.
- Meanwhile, your app must poll the accounts server using the grant token to check if the token has been received.
- When the user enters the user code, Zoho Accounts sends the access token to your app.
- Your app can then use the access token to make API calls to Zoho. Your app must take care of token storage and renewals.
Here is the protocol flow. For more details, refer to this doc.
5. Mobile-based applications
You must use this client type when you have developed an app exclusively for mobile devices. The protocol flow is similar to server-based application where a browser session is required for the users to authenticate.
Similar to server-side apps, mobile apps also need to handle redirection, token generation and storage.
If you use any of our Mobile SDKs, the SDK itself handles token generation and storage.
We hope you found this post useful. Let us know your thoughts in the Comment section or write to us at support@zohocrm.com.
Cheers!
Recent Topics
Customization hacks in Zoho Writer - Part 3
Hello everyone, Welcome back to Part 3 of our customization tips in Zoho Writer! In this third installment, we'll be diving into some essential customization settings that can enhance your document creation experience. Sender email address in mail merge
Daytime saving timezones messing up writer pdf
Hi, I need help for something I can't figure out. I created a Form to collect data and it is set up with my current Daylight Saving Time (GMT-3). This form is used to generate a contract (pdf Writer) with dates from an event that is being held in 4 months
Issue with locked content in Writer
Hi, I have seen the documentation which outlines how to lock specific content within a Writer document so that it can't be modified by collaborators, but I have come across an issue. When the editor locks a paragraph for example, then a collaborator can't
Deprecation of certain URL patterns for published Zoho Writer documents
Hi Zoho Writer users! We'd like to let you know that we have deprecated certain URL patterns for published and embedded documents in Zoho Writer due to security reasons. If the published or embedded documents are in any of these URL patterns, then their
Using Mail Merge Template to Print Documents with One Subform Record's Fields per Document
Hello, We have a Mail Merge template created in Zoho Writer which is not able to perform the functionality which is currently required to automate the documentation task portion of our process. The CRM module we are primarily using is based on a "Loans"
Problem with Writer and Workdrive
Hi team, I’m the super admin for our Zoho One org. WorkDrive is active, and Zoho Docs is deprecated for our org. However, Zoho Writer cannot connect to WorkDrive at all — we’ve cleared cache, tried incognito, and restarted several times. I was able to
Set to Review for all
We are testing the use of Writer as part of an internal review process for statement of work documents and have found that when the document is changed from Compose to Review by one person, that is not reflected for all others who view the document. Is
I’ve noticed that Zoho Sheet currently doesn’t have a feature similar to the QUERY formula in Google Sheets or Power Query in Microsoft Excel.
These tools are extremely helpful for: Filtering and extracting data using simple SQL-like queries Combining or transforming data from multiple sheets or tables Creating dynamic reports without using complex formulas Having a Query-like function in Zoho
stock
bom/bse : stock details or price =STOCK(C14;"price") not showing issue is #N/A! kindly resolve this problem
SOME FEATURES ARE NOT IN THE ZOHO SHEET IN COMPARISION TO ZOHO SHEET
TO ZOHO sir/maam with due to respect i want to say that i am using ZOHO tool which is spreadsheet i want to say that some features are not there in zoho sheet as comparison to MS EXCEL like advance filter and other Features which should be there in ZOHO
Zoho sheet for desktop
Hi is zoho sheets available for desktop version for windows
Tip #18: 6 Trendlines and when to use them in your spreadsheet data?
Charts are a great tool for visualizing and interpreting large chunks of data in spreadsheets. Zoho Sheet offers you 35+ chart options, along with AI-powered chart recommendations based on the data set you select. There are various chart elements that
Perform customized calculations with the new LAMBDA functions!
We released the LAMBDA function in Zoho Sheet in 2021, enabling customized calculations inside predefined functions. Now, we're extending LAMBDA's capabilities with six new functions. Each of these functions applies LAMBDA to the given input, performs
Tip #17: Easily share spreadsheets with non-Zoho account users
With efficient, collaboration-friendly options, Zoho Sheet is a popular choice among users. Sheet's external share links help you collaborate more effectively by sharing your spreadsheets with anyone outside your organization, including users who do not
Work seamlessly with Sheet's shortcuts without affecting the browser
Navigating your worksheets and performing specific actions should be a quick and easy process. That's where keyboard shortcuts come in. Shortcut keys help you accomplish tasks more efficiently, eliminating the need to move away from the keyboard. What
Zoho Sheet for iPad: Improved UI, external keyboard support, and more!
The portability and capabilities of the iPad have made it an essential device in the business world. With this in mind, we had launched an exclusive Zoho Sheet app for iPad, with device-specific improvements and enhanced usability. Now, we're improving
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
Camera access
My picture doesn't appear in a group discussion. (The audio is fine.) The guide says "Click the lock icon on address bar," but I can't find it. Advise, please
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
Next Page