Kaizen #15 - Java SDK for Self Client

Kaizen #15 - Java SDK for Self Client

Hello everyone!
 
Welcome to yet another post in the Kaizen series.
This week, we are going to discuss the  Java SDK for a self client .
 
What is a Software Development Kit (SDK)?
 
A software development kit contains all the tools (compiler, debugger, code samples, and so on) that are needed to create applications in one package. SDKs are language-specific and thus used to build client applications in a specific programming language. 
 
Java Software Development Kit
 
Java SDK allows you to create a client Java applications that can be integrated 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 SDK acts as a middleware between Zoho CRM and Client Java Application.



What can you do with the Java Software Development Kit?
  • You can use Java SDK to exchange data between Zoho CRM and the client Java application. 
  • The authentication process becomes hassle-free with Java 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 self client. 
Environment Setup

Java SDK requires Java version 7 or above to be set up in your development environment.

Including the Java SDK in your project

You can include the Java SDK in your project using:
a.  Maven distribution
b.  Gradle
c.  Downloadable JARs

a. Maven distribution - It is a build automation tool used primarily for Java projects. Include the following code to your pom.XML file. 

<repositories>
    <repository>
        <id>java-sdk</id>
        <url> https://maven.zohodl.com </url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>com.zoho.crm</groupId>
        <artifactId>java-sdk</artifactId>
        <version>2.0.2</version>
    </dependency>
</dependencies>

b. Gradle - It is also a build tool, similar to Maven. The major difference is that, instead of XML files, Gradle uses Groovy (a domain-specific programming language) to declare the Java project configuration. You need to add the following code to your build.gradle file. 

repositories{
    maven { url " https://maven.zohodl.com " }
}
dependencies{
    implementation 'com.zoho.crm:java-sdk:2.0.2'
}


c. Downloadable JARs (by Zoho) - Java Archive is a platform-independent file format that aggregates many files into one. The JAR file consists of the SDK. You have to download individual dependency JARs and add them to your reference libraries in your Java application:  Download JAR (SDK)

Click here to download the dependency JARs.

The list of dependency JARs are:

  • hamcrest-all-1.3 : Hamcrest consists of a single jar file that contains base classes and a library of useful matcher implementations.
  • httpclient-4.4.1 : The Apache HttpClient library allows you to handle HTTP requests.
  • httpcore-4.4.4 : HttpCore is a set of low-level HTTP transport components that you can use to build custom client and server-side HTTP services.   
  • httpmime-4.5.3 : The Apache HttpMime library consists of MIME code entities.
  • json-20170516 : The files in this package implement JSON encoders/decoders in Java. It also includes the capability to convert between JSON and XML, HTTP headers, Cookies, and CDL. 
  • servlet-api-2.5 : Servlet API consists of classes to support HTTP servlet.
  • commons-logging-1.1.3 : The commons-logging JAR provides an API for logging in server-based applications that you can use around a variety of different logging implementations.
  • mysql-connector-java-5.1.44-bin.jar : You need to include this JAR if you are using a MySQL database. MySQL Connector JAR provides connectivity for java client applications with MySQL Connector (a driver that implements the Java Database Connectivity (JDBC) API)

How to start using the Java SDK?

In this section, we will discuss how to start using the Java SDK for your application (authenticated via self-client) which uses Zoho CRM.

  1. Prerequisite: Register your application
  2. Knowlege Base: Adding persistence classes
  3. Initialization

1. Prerequisite: Register your application

All the Zoho CRM APIs are authenticated by the OAuth2.0 standards . It is mandatory to authenticate the self client with Zoho.

Step 2: Click ADD CLIENT



Step 3: Choose Self Client and click CREATE NOW



Step 4: Choose the Client Type as Self Client , and click CREATE .



Step 5: Once you successfully register your self-client, you will receive a Client ID and Client Secret .


2. Knowledge Base: Adding persistence classes
This section consists of two parts:
a. Initializing your client application
b. Adding persistence classes

a. Initializing your client application
To authenticate the client application, you need to add the following key-value configuration pairs to the initialization code of your java client.

Key Description

Key
Description
client_id, client_secret, and redirect_uri 
mandatory
You can get these values after registering your client.
currentUserEmail 
mandatory
The Email ID of the current user.
persistence_handler_class
mandatory
The implementation of ZohoOAuthPersistenceInterface
logFilePath
optional
The absolute/relative file path of the file that stores the logs.
domainSuffix
optional
The domain from which the API calls are made. It can be .com (for US), .eu (for Europe), .cn (for China). If you specify this value, you need not specify apiBaseUrl  and iamURL.
accessType
optional
The type of environment from which the API calls are made. Possible values are "Production", "Development", or "Sandbox"
access_type
optional
Must be set as as "offline". 
Online OAuth client is not supported by the Java SDK as of now
apiBaseUrl 
optional
The URL that is used to make API calls. You need not specify this value if you give domainSuffix. 
The possible values are:
iamURL 
optional
The accounts URL. You need not specify this value if you specify domainSuffix. The possible values are:
mysql_password and mysql_username
mandatory when you use MySQL persistence
The MySQL username and password, respectively. 

Key Value Configuration 

HashMap <String, String> zcrmConfigurations = new HashMap <String, String >();
zcrmConfigurations.put("minLogLevel", "ALL");
zcrmConfigurations.put("currentUserEmail","{user_email_id}");
zcrmConfigurations.put("client_id","1000. xxxxxxxxx");
zcrmConfigurations.put("client_secret","xxxxxxxxxxxx");
zcrmConfigurations.put("redirect_uri","");
zcrmConfigurations.put("persistence_handler_class","com.zoho.oauth.clientapp.ZohoOAuthDBPersistence ");//for database. "com.zoho.oauth.clientapp.ZohoOAuthFilePersistence" for file, user can implement his own persistence and provide the path here
zcrmConfigurations.put("oauth_tokens_file_path","/path/to/oauthtokens.properties");//optional path can be absolute(Ex:/User/Document/testapplication/src/oauthtokens.properties) or relative (Ex: /testapplication/src/oauthtokens.properties)
zcrmConfigurations.put("domainSuffix","com");//optional. Default is com. "cn", "eu", and "in" supported
zcrmConfigurations.put("accessType","Production");//Production->www(default), Development->developer, Sandbox->sandbox(optional)
zcrmConfigurations.put("access_type","offline");//optional
zcrmConfigurations.put("apiBaseUrl"," https://www.zohoapis.com ");//optional
zcrmConfigurations.put("iamURL"," https://accounts.zoho.com ");//optional
zcrmConfigurations.put("logFilePath","/path/to/file.log");//path can be absolute(Ex:/User/Document/testapplication/src/file.log) or relative (Ex: /testapplication/src/file.log)
zcrmConfigurations.put("mysql_password","pass@123");//optional
zcrmConfigurations.put("mysql_username",username");//optional
ZCRMRestClient.initialize(zcrmConfigurations);//for initializing

2. Adding persistence class
Your application should retain tokens (grant, access, and refresh tokens) to automate the process of data-sync between your java application and Zoho CRM. 

You can persist tokens in your application by using any one of the below mentioned persistence methods: 
a. By using an implementation of the inbuilt ZohoPersistenceHandler interface
    • ZohoOAuthFilePersistence (To store tokens in a File )
    • ZohoOAuthDBPersistence (To store tokens in a Database
b. By using your own implementation

Let us now look into each of the above mentioned methods.

a. By using an implementation of the inbuilt ZohoPersistenceHandler interface

Our Java SDK provides two default implementations of the ZohoPersistenceHandler interface within the client library. They are:
i. ZohoOAuthFilePersistence
ii. ZohoOAuthDBPersistence

i. ZohoOAuthFilePersistence - This type of persistence uses a file to read and write OAuth tokens. The file persists the token of a single user. So, it is best used for the 'self-client' type of authentication since it involves only one user.  

Values to be given in configuration map

persistence_handler_class =com.zoho.oauth.clientapp.ZohoOAuthFilePersistence
oauth_tokens_file_path =absolute or relative path of the "oauthtokens.properties" file in the workspace.

ii. ZohoOAuthDBPersistence - This type of persistence uses MySQL persistence. You can use this type of persistence if you have more than one user using the application. 

Some of the prerequisites for using this type of persistence are:

  • MySQL should be running in the same machine serving at the default port 3306.
  • The database name should be "zohooauth".
There must be a table "oauthtokens" with the columns "useridentifier"  (varchar(255)), "accesstoken" (varchar(255)), "refreshtoken" (varchar(255)) and "expirytime" (bigint).

Values to be given in configuration map

persistence_handler_class =com.zoho.oauth.clientapp.ZohoOAuthDBPersistence
mysql_username =root
mysql_password ={your MySQL password}

b. By using your own implementation

You can also use your own implementation. The ZohoPersistenceHandler interface must have the following methods:

  • getOAuthTokens() — invoked to fetch the saved tokens. This method should return ZohoOAuthTokens object for the library to process it. 
  • saveOAuthData(ZohoOAuthTokens tokens) — invoked to store the tokens.
  • deleteOAuthTokens() — invoked to delete the tokens.

C. Initialization

Intializing your application involves the following steps:

Step 1: Generating the grant token
Step 2: Generating the access and refresh tokens using the grant token
Step 3: Generating the access token using the refresh token

Step 1: Generating the Grant Token



(ii). Choose Self-Client
(iii). Enter the comma separated ZohoCRM scopes along with aaaserver.profile.READ . Choose the time duration (the grant token will be valid only till the time chosen here) and enter the description . Now, click GENERATE.


(iii). Copy the grant token displayed


Step 2: Generating the Access and Refresh Tokens

After obtaining the grant token, put the following code snippet in a java file and execute it from your main class to get access and refresh tokens. 

ZCRMRestClient.initialize(configurations_map);
ZohoOAuthClient cli = ZohoOAuthClient.getInstance();
String grantToken = “paste_the_self_authorized_grant_token_here”;
ZohoOAuthTokens tokens = cli.generateAccessToken(grantToken);
String accessToken = tokens.getAccessToken();
String refreshToken = tokens.getRefreshToken();
System.out.println("access token = " + accessToken + " & refresh token = " + refreshToken);

2a. On using ZohoOAuthFilePersistence method
The access and refresh tokens are generated and stored in the oauth_tokens.properties file .

2b. On using ZohoOAuthDBPersistence method
The access and refresh tokens are generated and stored in " oauthtokens "  table of your MySQL

Step 3: Generating the Access token from Refresh token
Use the below code snippet to generate the access token from the refresh token.

ZohoOAuthClient client = ZohoOAuthClient.getInstance();
client.generateAccessTokenFromRefreshToken(refreshToken, userMailId);

Sample SDK Code

When you build your application using the Java SDK, the code template will be similar to:




Refer to the attachment to get the code. For more sample codes, refer to our SDK guide .

The isTokenGenerated Method:

This method checks 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.

See you next week with another post.
Cheers!

Previous 'Kaizen' - Notification API
Next 'Kaizen' - Python 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

                                                                                                                • Deluge error on updating datetime field

                                                                                                                  Hi, while updating date-time field , i am getting this error  {"code":"INVALID_DATA","details":{"expected_data_type":"datetime","api_name":"Date_Time_1"},"message":"invalid data","status":"error"} Here is the code , i have tried leads = zoho.crm.getRecordById("Leads",
                                                                                                                • No option for pick up in Zoho Books / Inventory but yes on commerce

                                                                                                                  Is it planned to release soon on books/inventory?
                                                                                                                • Update to CRM Custom Buttons: Collect Users' Location

                                                                                                                  Hello everyone! Buttons in Zoho CRM allow you to extend the default CRM capabilities for your bespoke business needs. It provides the flexibility to connect to any third-party application to perform necessary actions. Wouldn't it be better, if those buttons
                                                                                                                • Speed (again!)

                                                                                                                  Same old story again: impossible to work at this "speed". Category NOTES!
                                                                                                                • 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.
                                                                                                                • Cloning Module Customizations in Zoho FSM

                                                                                                                  Hello Latha, I have two Zoho FSM accounts, each in a different data center. I would like to know if it is possible to clone the module customizations I have already completed in one account to my new account in the UAE from the backend. In other words,
                                                                                                                • sending email with another account

                                                                                                                  Hello there, i write there for an our costumer request. They want to send email from CRM with a different email (confirmed and added to zoho profile). For example they use account@zilium.com but with this account they want to send (not only with email
                                                                                                                • Marketing Tip #27: Add a favicon and social preview image for your online store

                                                                                                                  Small branding details can make a big difference in how professional your store looks online. A favicon (the tiny icon shown in browser tabs) helps customers recognize your store instantly, especially when they have multiple tabs open. A social preview
                                                                                                                • 商談の特定ステージ選択時に、集計項目の入力を必須化したい

                                                                                                                  こんにちは。Zoho CRMの商談管理で以下を実現したいです。レイアウトルールでは、集計項目を条件に選択できず実現できておりません。よい方法があればご教示いただけると嬉しいです。 ■やりたいこと 商談で特定のステージに変更する場合に、特定の集計項目(同じ商談データ内の項目。以降、集計項目Aとする)を入力必須化したい。 ■概要、状況 ・集計項目Aは、別のオブジェクトで、商談に関連する月ごとの売上を集計している数値項目 ・見積を顧客に提示した際に、集計項目Aに見積金額と一致するようにデータ登録する運用をしている
                                                                                                                • Knowledge base: The nitty-gritty of SEO tags

                                                                                                                  A well-optimized knowledge base with great SEO can benefit your company by allowing customers to find help articles and support resources using search engines. This enables customers to quickly and efficiently find the information they need without direct
                                                                                                                • Zoho Social API for generating draft posts from a third-party app ?

                                                                                                                  Hello everyone, I hope you are all well. I have a question regarding Zoho Social. I am developing an application that generates social media posts, and I would like to be able to incorporate a feature that allows saving these posts as drafts in Zoho Social.
                                                                                                                • How to list WorkDrive folder contents using API

                                                                                                                  I'm trying to read folder contents using a Deluge script. The code below returns {"errors":[{"id":"F6016","title":"URL Rule is not configured"}]}". I've tried using the search API and seen similar errors. I have proved that the connection works by creating
                                                                                                                • Best practice to handle 50+ invokeurl calls in a loop without hitting the 30-second timeout?

                                                                                                                  Hi everyone, I am working on a custom Deluge function where I have a Map containing around 50+ key-value pairs. I need to iterate through this Map using a for each loop and make a GET API call (invokeurl) for each item. The Problem: Because of the 50+
                                                                                                                • filter on sheets mobile (iOS, iPadOS) does not work

                                                                                                                  re-posting this as a question because reporting as a problem netted zero responses... I have this issue on every spreadsheet, whether imported or created natively in Zoho Sheets. I can use on desktop without issue: but on iOS the filter dropdowns are
                                                                                                                • Solving the bug in Zoho Writer API for styling

                                                                                                                  So... the Zoho Writer APIs for programatically creating a document do not respect a template's style. The result is that any document you generate via API needs to be manually, paragraph by paragraph, reformatted. That bug alone is sufficient to render
                                                                                                                • Zoho Books' 2025 Wrapped

                                                                                                                  Before we turn the page to a new year, it’s time to revisit the updates that made financial management simpler and more intuitive. This annual roundup brings together the most impactful features and enhancements we delivered in 2025, offering a clear
                                                                                                                • Need to set workflow or journey wait time (time delay) in minutes, not hours

                                                                                                                  Minimum wait time for both Campaigns workflows and Marketing Automation journeys is one hour. I need one or the other to be set to several minutes (fraction of the hour). I tried to solve this by entering a fraction but the wait time data type is an integer
                                                                                                                • All new Address Field in Zoho CRM: maintain structured and accurate address inputs

                                                                                                                  Availability Update: 29 September 2025: It's currently available for all new sign-ups and for existing Zoho CRM orgs which are in the Professional edition exclusively for IN DC users. 2 March 2026: Available to users in all DCs except US and EU DC. 24
                                                                                                                • Comments aren't visible in shared spreadsheet

                                                                                                                  I would like to send a spreadsheet to people who can use it to help solve a problem as a one off use unique to them. They will have to enter data in the sheet. I have comments attached to some of the cells to explain the purpose of the data being collected.
                                                                                                                • Custom button for list page

                                                                                                                  Why is my 'List Page - Bulk Action Menu' button in the Packages module not autopopulating the List argument with selected record IDs?
                                                                                                                • Ask the Experts - Live Q&A webinar

                                                                                                                  Hello Community, We’re excited to host our very first Ask the Experts session! Join us on 7 April 2026 from 11 a.m. to 12 p.m. (IST) for this live webinar Q&A session, where you will have an opportunity to connect directly with our product experts, gain
                                                                                                                • can't see contact's last activity when in list view

                                                                                                                  A contact has past activities recorded in their name. When I go to list view, no Last Activity is displaying. How do i fix this?
                                                                                                                • Designing Multi-Step Workflow System in Zoho Creator + Deluge (Startup Build – Exploring Advanced Architecture + Partnerships)

                                                                                                                  Hi everyone, I’m currently building a Zoho-based system as part of an early-stage startup, and I’m looking to connect with others who have experience designing more advanced workflows in Creator + Deluge. This started as a standard application, but it’s
                                                                                                                • Bin Tracking with eBay integration

                                                                                                                  When trying to setup bin tracking on items that are linked to eBay listings using the built-in Zoho eBay integration, I keep getting this error: "Storage Tracking cannot be enabled for items that are manually fulfiled or for serial/batch items tracked
                                                                                                                • Removing To or CC Addresses from Desk Ticket

                                                                                                                  I was hoping i could find a way to remove unnecessary email addresses from tickets submitted via email. For example, a customer may email the support address AND others who are in the helpdesk notification group, in either the TO or CC address. This results
                                                                                                                • Is it possible to make tags "required"

                                                                                                                  We would like to be able to make the tag field a requirement for agents before they can close a ticket. This would help with monthly reporting, where a lot of tickets end up with no tag, causing manual work to go back and add the correct tag for each
                                                                                                                • Prevent Automatic Milestone Inheritance for Newly Created Task Lists

                                                                                                                  Hello Zoho Projects Team, We hope you are doing well. We would like to request an enhancement regarding how new task lists inherit Milestone association in Zoho Projects. Current Behavior: At the moment, when a new task list is created below an existing
                                                                                                                • I would like to know wich person viewed the file

                                                                                                                  I have a franchise and my Operative Manual is in WorkdriveI, the user can´t download but despite I know How many views the file had, I would like to know wich person viewed the file Is it possible? thank you
                                                                                                                • Can I write a check in Zoho Books with no associated bill?

                                                                                                                  This currently does not seem possible, and I have a client that desperately needs this function if I am able to convert them with Quickbooks. Thank you in advance for your reply. 
                                                                                                                • Ordering of Teams

                                                                                                                  Hi there, Currently, we cannot order Teams in Zoho Desk. Teams are ordered as they were created. It would be really helpful if we could customise the order of Teams. For example: We have the following Teams: Shipping Customer Service Sales Compliance
                                                                                                                • Estimate Module - Contact Field.

                                                                                                                  Hello Latha and Team, Is it possible to make the Contact field optional in the Estimate module? Best regards, Chethiya.
                                                                                                                • Item with name in different languate

                                                                                                                  Hello, is there a way to have an item with its name in different languages? For example: I sell an item in different markets and I'd like to have a Proposal and the Invoice with the Item Name in a specific language. Rino Bertolotto Zoho Specialist, STESA srl
                                                                                                                • What is a realistic turnaround time for account review for ZeptoMail?

                                                                                                                  On signing up it said 2-3 business days. I am on business-day 6 and have had zero contact of any kind. No follow-up questions, no approval or decline. Attempts to "leave a message" or use the "Contact Us" form have just vanished without a trace. It still
                                                                                                                • How to keep track of bags, cans, drums of inventory?

                                                                                                                  We buy and sell products that are packaged in bags 🛍️, cans🥫, drums🛢️, etc. with batch numbers. When we get a shipment of one of the products, how do we track we received (say) 10 cans each of 5L of a product and maybe we received 10 cans of another
                                                                                                                • This version of app doesn't support this notecard type Error

                                                                                                                  So this problem is happening for any notes created within the last week, as well as any note recently edited on Android. I can open them on my phone fine, but they don't open on the website version. They DO work on the desktop app version. It's just web
                                                                                                                • PDF's Give Unsupported Type Error Message

                                                                                                                  Many of the pdf files I add to Notebook work fine but in some cases when I try to open them on the Android App I get a message saying "Unsupported Type. Psst! You are using an older version of the app which does not support this note format. Please update
                                                                                                                • 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
                                                                                                                • I am not able to check in and checkout in zoho people even location access allowed

                                                                                                                  This issue i am facing in mackbook air m1, I allowed location in chrome browser and i also tried in safari but getting similar issue. Please have a look ASAP.
                                                                                                                • Is multiple invoice e-mailing possible?

                                                                                                                  I wonder if following is possible: When you are in the invoice view, assume you have five invoices to five different customers that are pending (you have just created them, but not sent them away yet by email.) To the left of every invoice in the overview
                                                                                                                • Multiple packages in one shipment

                                                                                                                  Guys we have been asking for this for years. we want to be able to ship multiple packages for one customer in the same shipment, so as to avoid entering shipping info repeatedly, and avoid customer getting multiple tracking emails. When does this arise?
                                                                                                                • Next Page