Kaizen #19- C# SDK

Kaizen #19- C# SDK

Hello everyone!
Welcome back to another week of Kaizen!
This week, we will discuss the C# SDK.

What is the C# SDK for Zoho CRM?

C# SDK allows you to create client C# applications that you can integrate with Zoho CRM, effortlessly. It serves as a wrapper for the REST APIs, thus making it easier to use the services of Zoho CRM.

Here is a sample of how the SDK acts as a middleware between Zoho CRM and a client C# Application.


What can you do with the C# Software Development Kit?

  • You can use C# SDK to exchange data between Zoho CRM and the client Java application. 
  • The authentication process becomes hassle-free with C# SDK. Since it is handled in the SDK code by default, you need not worry about generating the grant token, access/refresh tokens every time you sync data between Zoho CRM and your client. 
Environment Setup
  • Client app must use .net framework 4.6.1 or above. You can download .net framework through: https://dotnet.microsoft.com/download/dotnet-framework/. The .net core is present by default in Mac and Linux OS.
  • The C# SDK is available as a NuGet package. You can install it in three ways:
    • Packet Manager (Windows OS)
      Goto visual studio > View > Other windows > Package manager console.
      Using the following commands, you can install the C# SDK.
      Install-Package ZCRMSDK
      Install-Package Newtonsoft.Json
      Install-Package MySql.Data
      Install-Package System.IO.Compression.ZipFile -Version 4.3.0
      Install-Package System.IO.Compression -Version 4.3.0
    • .NET CLI
      Install the .NET core CLI by clicking here. Further, in command prompt, navigate to your project and using the following commands, install the C# SDK.
      dotnet add package ZCRMSDK
      dotnet add package Newtonsoft.Json
      dotnet add package MySql.Data [Only if DB persistence is used]
      dotnet add package System.IO.Compression.ZipFile --version 4.3.0
      dotnet add package System.IO.Compression --version 4.3.0
    • Visual Studio
      For Mac OS
      Goto Visual Studio > Project > Dependencies > NuGet > Manage Nuget  Packages > Search for ZCRMSDK and install it.
      For Windows OS
      Goto Visual Studio > Project > References > Manage NuGet packages > In  the browse tab search for ZCRMSDK and install it.
How to Start using the C# SDK?
In this section, we will discuss how to start using the C# SDK for your application (authenticated via self-client) which uses Zoho CRM: 
Step 1: Register your application 
      1.a. For self-client
      1.b. For web-based client
Step 2: Configure your application
      2.a. For .Net Core applications
      2.b. For other applications 
Step 3: Add persistent classes
      3.a. File Persistence
      3.b. DB Persistence
      3.c. InMemory Persistence
Step 4: Initialization
      4.a. Generating grant token
      4.b. Generating access and refresh token using the grant token
      4.c. Generating access token using the refresh token
Let us now discuss these steps in detail.

Step 1: Register your application

All the Zoho CRM APIs are authenticated by the OAuth2.0 standards. It is mandatory to authenticate your application with Zoho.
You can register your application either as a Self Client (single user app) or a web-based app (multiple users app).

1.a. Self Client
  1. Go to https://api-console.zoho.com.
  2. Click ADD CLIENT
  3. Choose the Client Type as Self Client, and click CREATE.
  4. You will receive a client ID and a client secret upon successful registration.


1.b. Web-based Client
  1. Go to https://api-console.zoho.com.
  2. Click ADD CLIENT
  3. Choose the client as Web-based and click CREATE NOW.
  4. Specify the client name, homepage URL of your application's UI, and a redirect URI to which you want to redirect the users after they grant consent to your application.
  5. Click CREATE.

Your Client ID and Client Secret will be displayed.


Step 2: Configure your client application

2.a. For .Net Core applications

Specify the application configuration details in the app.config file. Add a section named oauth_configuration and ensure that the section has the attribute type as 'ZCRMSDK.CRM.Library.Common.ConfigFileHandler.ConfigFileSection, ZCRMSDK', which is a namespace in C# that consists of the code to read the app.config file. 

<configuration>
    <configSections>
        <section name="oauth_configuration" type="ZCRMSDK.CRM.Library.Common.ConfigFileHandler.ConfigFileSection, ZCRMSDK"></section>
        <section name="zcrm_configuration" type="ZCRMSDK.CRM.Library.Common.ConfigFileHandler.ConfigFileSection, ZCRMSDK"></section>
    </configSections>
    <oauth_configuration>
        <settings>
            <add key="client_id" value="1000. xxxxxxx" />
            <add key="client_secret" value="xxxxxxxx" />
            <add key="redirect_uri" value="null" />
            <add key="iamUrl" value="https://accounts.zoho.com" />
            <add key="persistence_handler_class" value="com.zoho.oauth.clientapp.ZohoOAuthDBPersistence" />
            <!--for database. "com.zoho.oauth.clientapp.ZohoOAuthFilePersistence" for file, user can also implement own persistence and provide the path here-->
            <add key="mysql_username" value="username" />
            <add key="mysql_password" value="password" />
            <add key="mysql_database" value="zohooauth" />
            <add key="mysql_server" value="localhost" />
            <add key="mysql_port" value="3306" />
            <add key="oauth_tokens_file_path" value="/path/to/file.log" />
            <!--Ex:/User/Document/testapplication/src/file.txt). The file can be .txt or .config-->
        </settings>
    </oauth_configuration>
    <zcrm_configuration>
        <settings>
            <add key="apiBaseUrl" value="https://www.zohoapis.com" />
            <add key="photoUrl" value="https://profile.zoho.com/api/v1/user/self/photo" />
            <add key="apiVersion" value="v2" />
            <add key="logFilePath" value="/path/to/file.log" />
            <!--path must be absolute(Ex:/User/Document/testapplication/src/file.log)-->
            <add key="timeout" value="3000" />
            <add key="minLogLevel" value="WARNING" />
            <add key="currentUserEmail" value="patricia@zylker.com" />
            <add key="domainSuffix" value=".com" />
        </settings>
    </zcrm_configuration>
</configuration>

Key Value Description
a. <oauth_configuration>
Key 
Description
client_id and client_secret
mandatory
Client details you received after registering your application. 
redirect_uri
mandatory for web-based clients
The callback URL that you specified during client registration. You need not specify this key for self client from ZCRMSDK version 2.1.5. For lesser versions, this key is mandatory for all types of clients. In the case of self-client in lesser versions, specify the value as "null".
iamURL
optional
The domain-specific accounts URL from which you generate the tokens.
peristence_handler_class
mandatory
Name of the class of the custom implementation for persistence. This key is mandatory if you want to use custom persistence.
mysql_password, mysql_username, mysql_port, mysql_database, mysql_server
mandatory when you use DB persistence
The MySQL details. Default values are:
mysql_username="root",
mysql_password="youe_password",
mysql_database="zohoauth",
mysql_sever="localhost",
and mysql_port="3306".
oauth_tokens_file_path
mandatory when you use file persistence
The path to store the OAuth tokens in the file. This key is mandatory if you want to use file persistence. If you include this key, this method takes precedence over other persistent methods.

b.<zcrm_configuration>

Key
Description
apiBaseUrl
optional
The domain-specific API URL from which you make API calls. For users from domains other than US, this key is mandatory.
photoUrl
optional
The URL of the image representing the record. It differs based on apiBaseUrl.
apiVersion
optional
Represents the version of the CRM APIs. The value is v2.
logFilePath
optional
The absolute path to log the exceptions during the usage of the SDK.
timeout
optional
The request timeout in milliseconds.
minLogLevel
optional
Represents the minimum log level for logging of SDK. The supported values are:
a. ALL: Verbose messages, informational messages, warning messages, and error messages.
b. INFO (default): Informational messages. warning messages, and error messages
c. WARNING: Warning messages and error messages
d. ERROR: Only error messages.
e. OFF: None
currentUserEmail
mandatory
The email ID of the current user. When you do not specify this value, the SDK throws an exception. This key is mandatory in the configuration dictionary for self-client apps.
domainSuffix
optional
The domain from which the API calls are made. It can be com(for US), eu(for Europe), cn(for China), au(for Australia). If you specify this value, you need not specify apiBaseUrl and iamURL.

2.b. For other applications like ASP.NET, ASP Web App, ASP Website, and so on

Specify the application configuration details in the configuration dictionary. In this case, you can specify the properties of <oauth_configuration> and <zcrm_configuration> in a single section.

Sample:

public static Dictionary<string, string> config = new Dictionary<string, string>()
 {
 {"client_id","1000.XXXX"},
 {"client_secret","b477XXXX"},
 {"redirect_uri","null"},
{"persistence_handler_class","ZCRMSDK.OAuth.ClientApp.ZohoOAuthDBPersistence, ZCRMSDK"},
  
{"oauth_tokens_file_path","/path/to/file.txt"}, //file can be .txt or .config file
  {"mysql_username","root"},
  {"mysql_password","your_password"},
  {"mysql_database","zohooauth"},
  {"mysql_server","localhost"},
  {"mysql_port","3306"},
  {"apiBaseUrl","{https://www.zohoapis.com}"},
  {"fileUploadUrl","{https://content.zohoapis.com}"},
"},
  {"apiVersion","v2"},
  {"logFilePath","/path/to/file.log" }, //absolute path
  {"timeout","3000"},
  {"minLogLevel","WARNING"},
  {"domainSuffix","com"},
  {"currentUserEmail","patricia@zylker.com"}
 };
ZCRMRestClient.Initialize(config);

Step 3: Add persistence classes

Your application should retain tokens (grant, access, and refresh tokens) to automate the process of data sync between your C# application and Zoho CRM.

You can choose to persist (store) the tokens in three ways.
      3.a. File Persistence
      3.b. DB Persistence
      3.c. In Memory Persistence

3.a. File Persistence

If you want to store the tokens in a file, provide the absolute path of the directory containing this file in the oauth_tokens_file_path key in <oauth_configuration> section in the app.config file (or) config dictionary. The file persists the tokens of a single user. So, it is best used for the 'self-client' type of authentication since it involves only one user.  

Ex: 
<add key = "oauth_tokens_file_path" value = "/User/Document/testapplication/src/file.txt" /> 

The file can be a .txt or .config file.

3.b. DB Persistence

Pre-requisites:

  1. MySQL must be running in the same machine serving at the default port 3306.
  2. The database name should be zohooauth.
  3. There must be a table oauthtokens with the columns useridentifier (varchar(100)), accesstoken (varchar(100)), refreshtoken (varchar(100)) and expirytime (bigint).
To use custom DB persistence, you must
Implement IZohoPersistenceHandler interface, and write a custom implementation of the following functions:
  • GetOAuthTokens: invoked to fetch the saved tokens. This method should return the ZohoOAuthTokens object for the library to process it.
  • SaveOAuthTokens: invoked to store the tokens.
  • DeleteOAuthTokens: invoked to delete the tokens.
Include "persistence_handler_class" in the app.config file (2.a) or configuration dictionary (2.b), along with other mandatory keys. 
Ex: 
a. app.config file: 
<add key = "persistence_handler_class" value = "ZCRMSDK.OAuth.ClientApp.ZohoOAuthDBPersistence"/> 

b. Configuration dictionary: 
{"persistence_handler_class","ZCRMSDK.OAuth.ClientApp.ZohoOAuthDBPersistence, ZCRMSDK"}

If the persistence handler class is not specified, the InMemory Persistence handler handles the persistence implementation by default. Pre-defined persistence handler classes belong to the assembly ZCRMSDK.

3.c. InMemory Persistence

This type of persistence uses a singleton class to store and retrieve tokens. The InMemory persists the tokens of a single user. So, it is best used for the 'self-client' type of authentication since it involves only one user. 

The below table contains the list of keys you must include in the configuration dictionary based on the type of persistence.

Mandatory Keys
File Persistence
DB Persistence
InMemory Persistence
client_id
client_id
client_id
client_secret
client_secret
client_secret
redirect_uri (for web-based client)
redirect_uri (for web-based client)
redirect_uri (for web-based client)
persistence_handler_class
persistence_handler_class
persistence_handler_class
oauth_tokens_file_path
-
-

Optional Keys
File Persistence
DB persistence
InMemory Persistence
logFilePath
logFilePath
logFilePath
apiBaseUrl
apiBaseUrl
apiBaseUrl
apiVersion
apiVersion
apiVersion
currentUserEmail
currentUserEmail
currentUserEmail

Step 4: Initialization

Intializing your application involves the following steps:

      4.a. Generating grant token
      4.b. Generating access and refresh token using the grant token
      4.c. Generating access token using the refresh token

4.a. Generating grant token

For Self Client Applications
  1. Log in to Zoho and go to Zoho Developer Console.
  2. Select your Self Client.
  3. Provide the necessary scopes separated by commas, along with the scope aaaserver.profile.READ
  4. Select the Time Duration from the drop-down. This is the time the grant token is valid for.
  5. Add a description. Click GENERATE.
  6. Copy the grant token.
For Web-based Applications

It is the responsibility of your client app to generate the grant token for the users trying to login.
Your Application's UI must have the Login with Zoho option to open the grant token URL of Zoho, which would prompt for the user's OAuth2.0 authorization.
Upon the successful login of the user, the grant token will be sent as a parameter to your registered redirect URL.

4.b. Generating an access and refresh tokens from the grant token

Use the below code snippet in your main class to generate the access and refresh tokens for the first time. As discussed earlier, the C# SDK will automatically generate the grant token, access/refresh tokens every time you sync data between Zoho CRM and your client.

ZCRMRestClient.Initialize(config);
ZohoOAuthClient client = ZohoOAuthClient.GetInstance();
string grantToken = <paste_grant_token_here>;
ZohoOAuthTokens tokens = client.GenerateAccessToken(grantToken);
string accessToken = tokens.AccessToken;
string refreshToken = tokens.RefreshToken;

Note:
  • The code snippet to generate the access token from the grant token is valid only once per grant token. If the grant token expires before you generate the access token, you must generate a new grant token only.
  • Generating access and refresh tokens is a one-time process. After the tokens are generated for the first time, the SDK persists them based on the keys defined in the configuration dictionary and refreshes the access token as and when required.
4.c. Generating an access token from the refresh token

Use the below code snippet when you already have a refresh token in place, and you want to use it to generate access token:

ZCRMRestClient.Initialize(config);
ZohoOAuthClient client = ZohoOAuthClient.GetInstance();
string refreshToken = <paste_refresh_token_here>;
string userMailId = <provide_user_email_here>;
ZohoOAuthTokens tokens = client. GenerateAccessTokenFromRefreshToken(refreshToken,userMailId);

Starting the application
The SDK requires the following line of code to be invoked every time your app gets started. This method should be called from the main class of your c# application to start the application. It needs to be invoked without any exception.
ZCRMRestClient.Initialize(config);
The parameter passed is the configuration dictionary name (config), if you are using an app.config file, mention null.

Sample code

Here is a sample to insert records. You can find the code in the attachment.


The isTokenGenerated Method

You need to add this method to check if the access token has already been generated or not. It returns a Boolean value.

true - The access token has already been generated. 
false - The access token has not been generated previously, thus, it shifts the control to the code snippet that leads to access token generation.

For more sample codes, refer to REST API samples.

Cheers!

Previous 'Kaizen' - Ruby SDK
Next 'Kaizen' - Node JS SDK

    Access your files securely from anywhere

        All-in-one knowledge management and training platform for your employees and customers.






                              Zoho Developer Community




                                                    • Desk Community Learning Series


                                                    • Digest


                                                    • Functions


                                                    • Meetups


                                                    • Kbase


                                                    • Resources


                                                    • Glossary


                                                    • Desk Marketplace


                                                    • MVP Corner


                                                    • Word of the Day


                                                    • Ask the Experts



                                                              • Sticky Posts

                                                              • Kaizen #198: Using Client Script for Custom Validation in Blueprint

                                                                Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                              • Kaizen #226: Using ZRC in Client Script

                                                                Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
                                                              • Kaizen #222 - Client Script Support for Notes Related List

                                                                Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
                                                              • Kaizen #217 - Actions APIs : Tasks

                                                                Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
                                                              • Kaizen #216 - Actions APIs : Email Notifications

                                                                Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are


                                                              Manage your brands on social media



                                                                    Zoho TeamInbox Resources



                                                                        Zoho CRM Plus Resources

                                                                          Zoho Books Resources


                                                                            Zoho Subscriptions Resources

                                                                              Zoho Projects Resources


                                                                                Zoho Sprints Resources


                                                                                  Qntrl Resources


                                                                                    Zoho Creator Resources



                                                                                        Zoho CRM Resources

                                                                                        • CRM Community Learning Series

                                                                                          CRM Community Learning Series


                                                                                        • Kaizen

                                                                                          Kaizen

                                                                                        • Functions

                                                                                          Functions

                                                                                        • Meetups

                                                                                          Meetups

                                                                                        • Kbase

                                                                                          Kbase

                                                                                        • Resources

                                                                                          Resources

                                                                                        • Digest

                                                                                          Digest

                                                                                        • CRM Marketplace

                                                                                          CRM Marketplace

                                                                                        • MVP Corner

                                                                                          MVP Corner







                                                                                            Design. Discuss. Deliver.

                                                                                            Create visually engaging stories with Zoho Show.

                                                                                            Get Started Now


                                                                                              Zoho Show Resources

                                                                                                Zoho Writer

                                                                                                Get Started. Write Away!

                                                                                                Writer is a powerful online word processor, designed for collaborative work.

                                                                                                  Zoho CRM コンテンツ



                                                                                                    Nederlandse Hulpbronnen


                                                                                                        ご検討中の方




                                                                                                                • Recent Topics

                                                                                                                • Upload from Zoho Creator File Upload field to OpenAI Vector Store

                                                                                                                  I’ve struggled for quite a while to get this working properly. For a long time we relied on Azure Functions as a workaround to handle file transfers between Zoho Creator and OpenAI Vector Stores. It worked, but added unnecessary infrastructure and complexity.
                                                                                                                • Calendar start time limit

                                                                                                                  Hi all, Has anyone found a magical way to filter calendar reports to start from, let's say 8:00, and not 0:00? Or at least to auto scroll there like Google Calendar for example?
                                                                                                                • EU Problem

                                                                                                                  Hi all, we've been facing issues with the Europe data center for two days. It's starting to disrupt our daily workflow. Any word on when this will be resolved?
                                                                                                                • How can I clone my website in order to try new templates?

                                                                                                                  I want to try a new template for my existing Zoho website without the risk of changing the current site or accidentally publishing the wrong template. Therefore I thought a 'clone website'-option should be somewhere, but I can't find it. How do I try
                                                                                                                • Custom Module Missing from Roles & Permissions List

                                                                                                                  Hi Zoho Community, I created a new Custom Module in Zoho Expense. The module is fully built and I can see it in the Module Builder (Settings > Customization > Modules). However, I am unable to deploy this to my users because the module does not appear
                                                                                                                • Need Customer Item Inward Module along with QC

                                                                                                                  Need Customer Item Inward Module along with QC 1. Using Transfer Orders hit the item balance sheet 2. Items without inventory it becomes difficult for tracking purpose. 3. Custom Modules become tedious to capture multiple items, item subforms are not
                                                                                                                • Possible to Turn Off Automatic Notifications for Approvals?

                                                                                                                  Hello, This is another question regarding the approval process. First a bit of background: Each of our accounts is assigned a rank based on potential sales. In Zoho, the account rank field is a drop-down with the 5 rank levels and is located on the account
                                                                                                                • Will be possible to create a merge mail template for products?

                                                                                                                  Hi, we would need to create a mail merge template for products (native) module. Will be possibile? or do you have a smart solutions to merge products data with a mail merge? thanks Chris
                                                                                                                • Maximum incoming email (attachment size) limit

                                                                                                                  I see that the maximum size of received emails can now be set to 20MB, however I'd still like to see it be larger. It's embarrassing when a client sends me an email with a large attachment and I can't receive it. 50, even 100 MB seems reasonable these
                                                                                                                • [Free Webinar] Learning Table Series - Multi-currency management in Zoho Creator

                                                                                                                  Hello everyone, We’re excited to invite you to another edition of the Learning Table Series webinar. As you may already know, we've moved to a purpose-based approach in the Learning Table Series this year. Each session now focuses on how a Zoho Creator
                                                                                                                • LESS_THAN_MIN_OCCURANCE - code 2945

                                                                                                                  Hi I'm trying to post a customer record to creator API and getting this error message. So cryptic. Can someone please help? Thanks Varun
                                                                                                                • Ranking by group in report

                                                                                                                  Dears, I am new to Zoho Analytics and I would like to ask you guys help to creating a ranking column. Report type: Pivot Matter: I want to create a ranking column on the right of Percentage. This ranking is group by column Type, and ranking by Final Score/Percent.
                                                                                                                • How do I add a project template to a pre-existing project?

                                                                                                                  Help....How do I add a project template to a pre-existing project? Right now I have to delete the old project, make a new one and add the project template at the time of creating the new project.
                                                                                                                • Passing the image/file uploaded in form to openai api

                                                                                                                  I'm trying to use the OpenAI's new vision feature where we can send image through Api. What I want is the user to upload an image in the form and send this image to OpenAI. But I can't access this image properly in deluge script. There are also some constraints
                                                                                                                • Users may not pick the fields to be shown as columns in the Choose Account window when creating a new Deal record

                                                                                                                  Hi there, by talking with other users I found out that I, as an Admin, am the only one who can pick fields to be shown as columns in the Choose Account window when creating a new Deal record. In fact, if other users click on the "Add Column" symbol on
                                                                                                                • Why is the ability Customize Calls module so limited?

                                                                                                                  Why can't I add additional sections? why can't I add other field types than the very limited subset that zoho allows? Why can I only add fields to the outbound/inbound call sections and not to the Call Information section?
                                                                                                                • Report Template - How to remove page break after each record?

                                                                                                                  Hi, We have report template for a list report. It looks good at screen. But when printing, it creates a page break after each record. How to remove the it? So we can print multiple records in same page. Please look at the attached screenshots. Report Template Report Print Preview
                                                                                                                • Calendar report with order options and more quick view templates

                                                                                                                  I think many of us regularly work with calendar-style reports. It would be great to be able to customize the quick view with new templates and have options to sort the entries for each day of the calendar by different criteria. I think this is an interesting
                                                                                                                • Deprecation Notice: OpenAI Assistants API will be shut down on August 26, 2026

                                                                                                                  I recieved this email from openAI what does it means for us that are using the integration and what should we do? Earlier this year, we shared our plan to deprecate the Assistants API once the Responses API reached feature parity. With the launch of Conversations,
                                                                                                                • Shall we play a game?

                                                                                                                  Presenting the very first game created using ZOHO Creator: Tic-Tac-Toe (or noughts and crosses) I made this to challenge myself and employ some of the new features of ZOHO Creator. I must admit that the code is very literal and not too elegant. There are plans to improve on the machine AI and streamline the code over time. Currently the code makes extensive use of functions for the machine "AI" - there are 12 of these.   The machine AI can be tricked, so to counteract that I made it exceedingly arrogant
                                                                                                                • CRM notes

                                                                                                                  I want to be able to add notes to a task that do not necessarily get rolled up into an account or contact.   For example, I tasks to work on a Court Order for John Doe divorce account.  There might be lots of updates (in the form of notes) that employees
                                                                                                                • Confluence export to zoho learn

                                                                                                                  Hello Is there any known way to export Confluence spaces to zoho learn ?
                                                                                                                • Zoho People API, Inactive users

                                                                                                                  Hi, I would like to export using the Zoho People API using Fetch Leave Records API V2 | Zoho People API. However it only pulls active user's leaves. I want all users, active and former employees records.
                                                                                                                • Empty folders are now appearing in the sidebar...

                                                                                                                  ...and the folder list is now auto-collapsed by default with no way to change. Neither of these recent updates are useful or user-friendly. ==================== Powered by Haiku https://www.haiku.co.uk ====================
                                                                                                                • Client Script | Update - Client Script Support For Custom Buttons

                                                                                                                  Hello everyone! We are excited to announce one of the most requested features - Client Script support for Custom Buttons. This enhancement lets you run custom logic on button actions, giving you greater flexibility and control over your user interactions.
                                                                                                                • Zoho CRM for Everyone's NextGen UI Gets an Upgrade

                                                                                                                  Hello Everyone We've made improvements to Zoho CRM for Everyone's Nextgen UI. These changes are the result of valuable feedback from you where we’ve focused on improving usability, providing wider screen space, and making navigation smoother so everything
                                                                                                                • Create custom rollup summary fields in Zoho CRM

                                                                                                                  Hello everyone, In Zoho CRM, rollup summary fields have been essential tools for summarizing data across related records and enabling users to gain quick insights without having to jump across modules. Previously, only predefined summary functions were
                                                                                                                • Monthly Webinar - Getting Started with Zoho LandingPage

                                                                                                                  Are you building your first landing page and want a little guidance? Join our monthly Getting Started with Zoho LandingPage webinar and learn how landing pages fit into your marketing strategy, drive lead generation, and improve conversions. Here’s what
                                                                                                                • View all email threads directly from record's History and Interactions

                                                                                                                  Greetings all, We've introduced the ability to view complete email thread conversations directly from records' History and Interactions sections, along with email delivery status and sentiment insights on the Interactions page—which makes it easier for
                                                                                                                • Marketing Tip #22: Check website and navigation for broken links

                                                                                                                  Do you inspect your online store frequently? If not, here's your reminder to do it now. Broken links frustrate customers and make your store feel unreliable. Whether it’s a missing product page, an outdated menu item, social media accounts, or a broken
                                                                                                                • push notification to Cliq when user is @mentioned in CRM notes

                                                                                                                  push notification to Cliq when user is @mentioned in CRM notes. Currently users that is @mentioned gets an email to be notified. User/s that is @mentioned should get a Cliq notification.
                                                                                                                • How to make entries for restaurant sales in Zoho Books?

                                                                                                                  Hello, I'm new to Zoho Books. I need to understand how to record our restaurant sales in Zoho Books. We can't raise invoices for each bill from the daily sales report generated by our POS (duplicated effort). We need a means of entering cumulative sales
                                                                                                                • Integrate with WooCommerce using Wordpress Plugin

                                                                                                                  We’re thrilled to announce a powerful update to the Zoho Marketing Automation WordPress plugin with WooCommerce integration! This enhancement enables new possibilities for businesses running online stores using WooCommerce, empowering them to merge seamless
                                                                                                                • How do I sync multiple Google calendars?

                                                                                                                  I'm brand new to Zoho and I figured out how to sync my business Google calendar but I would also like to sync my personal Google calendar. How can I do this so that, at the very least, when I have personal engagements like doctor's appointments, I can
                                                                                                                • Domain already exists

                                                                                                                  Hi, I tried to add my domain creativecolumnist.com but its showing as Domain already exist. Please release if it has already been associated with Zoho, I am the real owner of that domain.
                                                                                                                • Select forwarding

                                                                                                                  For Zoho mail online on PC in web browser: I had forwarding enabled in section "Mail accounts / Forwards", and I also have some filters that send emails from some unwanted senders to Archive. But it doesn't work as intended, it forwards everything (obviously
                                                                                                                • system not picking my default custom service report template

                                                                                                                  Can you tell me why when we create a service report always pick the (standard old) template? Even when I have a custom service report selected as Default.
                                                                                                                • Restrict Appointment Booking to Approved Clients

                                                                                                                  Dear Zoho Bookings Support Team, We'd like to propose a feature enhancement for managing appointments within Zoho Bookings. This feature would ensure only pre-approved clients can schedule meetings. Desired Functionality: We propose the introduction of
                                                                                                                • Automate Credit Card Surcharge

                                                                                                                  Is there a way to create an automation that will add a 3.0% credit card surcharge to a subscription whenever a customer pays via credit card?
                                                                                                                • I have the item field and Quantity field in the sub form , on the submit of the form if the quantity is grater than inventory means show alert on submit validation only for item type goods ,

                                                                                                                  I have the item field and Quantity field in the sub form , on the submit of the form if the quantity is grater than inventory means show alert on submit validation . Stock Check Validation only for item type goods , not for item type service . For the
                                                                                                                • Next Page