For Zoho services only


I'm currently part of a wider delivery team at Ascent Business Solutions, recognised as a leading Zoho Premium Solutions Partner in the United Kingdom.

Ascent Business Solutions support organisations with everything from targeted technical fixes through to full Zoho CRM implementations and long-term platform adoption. Working as a team rather than a one-person consultancy allows projects to move forward consistently, with access to the right skills at each stage.

The team I manage specialises in API integrations between Zoho and third-party finance and commerce platforms such as Xero, Shopify, WooCommerce, and eBay. Much of our work involves solving integration challenges that fall outside standard documentation, supporting new ideas, new sectors, and evolving business models.

Success is measured through practical outcomes and return on investment, ranging from scaling small operations into high-turnover businesses to delivering rapid gains through online payments, automation, and streamlined digital workflows.

If you are looking for structured Zoho expertise backed by an established consultancy, you can contact Ascent Business Solutions on 0121 392 8140 (UK), email info@ascentbusiness.co.uk, or visit https://www.ascentbusiness.co.uk.

Zoho CRM

ZCRM Client Script: Correct Decimal Fields OnLoad

What?
This is an article detailing the client script to fix any fields which exceed their decimal places limit in ZohoCRM.

Why?
So we have a customer that has some decimal fields on the products module that are calculated and will sometimes return numbers with more than 6 decimal places. As this is more than specified on the ZohoCRM field properties, as soon as the staff user tries to save the record, they will get a validation error on the decimal field even if that's not the field that is being changed:
Decimal places for the Unit Price field should be less than or equal to 6
.
Joellipman.com - Decimal places for the Unit Price field should be less than or equal to 6


How?
The workaround for staff is to round this up manually and then save the record. But this can be an annoying overhead, especially if it can be auto-corrected with a client script.
ZohoCRM & ZohoWriter: Generate Rich Email Signatures in CRM

What?
This is an article to show you how to, using Deluge code, generate all the email signatures in the user profile in ZohoCRM.

Why?
To simplify the on-boarding process. A client of ours has a rather rich HTML email signature with a profile photo included. When sending an email from CRM, they want CRM to include this rich signature (different per user) at the bottom of the email message.

How?
So there are a few issues with displaying images which would have other solutions, such as hosting the images on a web-server, or converting to a base64 or an SVG. ZohoCRM signatures seem to be unable to handle a lot of code or long URLs such as a base64 source URL for an image.

ZohoCRM: Using Criteria with Module Record Count

What?
An example of code using the new API call "Module Record Count" with some criteria.

Why?
At time of print, I couldn't find an example of how to use this API call with search filters or criteria. Not sure about the rest of you, but I've been using this for pagination purposes and for the system to work out how many pages or loops in total it would need to do.

How?
Here's a couple of working examples I use in production systems:
Zoho CRM: ZDK Client Script: Auto-Select Pipeline based on User Department

What?
A super quick article on how to pre-select the pipeline on deal creation within CRM based on the department specified on a user's profile.

Why?
A client asked that when staff create a deal/opportunity record in CRM, the pipeline is automatically pre-selected based on the user.

How?
So there's a bit of a pre-amble for setting up the fields, we'll then use a client script to automatically read the user's record, retrieve the department, and set the correct pipeline option.
Zoho CRM: Change System Field Length

What?
This is an article documenting how to remove the block on changes to a system field in ZohoCRM.

Why?
Our use-case today is that a customer wanted to map the Postal Code or Zip from a Lead record to an opportunity (or Deal) record. If you are using custom fields, then just ensure that the data type and field lengths match. In this case, they are system fields for the Postal Code which out-of-the-box differ in length so they do not list the postal code on the deal record to be listed in the "Lead Conversion Mapping" page.

In the Leads module, the Zip field is 30 characters; in the deal module, the Zip field is 20 characters... but we need these to match if we want to map them in the "Lead Conversion Mapping" page.

How?
This is a bit of a hack and most likely not recommended... but it is a workaround I have used and that worked when converting a lead to a deal. Note that this hack doesn't work on the system field label name (I tried) just on the length field. Use the translations file to change system field labels

ZohoCRM: Get Organization Business Hours using Deluge/API

What?
A super quick article on getting the business hours set in ZohoCRM.

Why?
When creating a booking system in ZohoCreator, I want to enter the default working shift for an employee either existing or that has been added to the system based on the business hours set at the organization level in ZohoCRM.

How?
Using an invokeURL, the key here is you'll find them in the settings; so check that your connection has the scope to access both Organization details (ZohoCRM.org.READ is enough - perhaps optional) and access to Settings (ZohoCRM.settings.READ). I'm calling mine "mycrmconnection".
ZohoCRM: Integrate ChatGPT to ZohoZIA

What?
Following on from the article: Zoho Cliq: Integrate OpenAI and ChatGPT 3.5 Turbo. This is the next step as we get it to look at data within ZohoCRM.

Why?
Because it is a serious improvement upon ZohoZIA and we get a lot of requests around customizing ZohoZIA...

How?
So taking ideas from my previous article for ZohoCliq; let's use what we know to develop a ZohoZIA for a demo system.

There are several steps, so first we will set up the ZIA action "Ask ChatGPT" using the GUI, then we will capture the question using Deluge code and query the OpenAI ChatGPT API to return a response.
ZohoCRM: Get All eBay Active Listings

What?
Another one of these articles talking about getting all the active product listings from eBay for a specific client.

Why?
Our use-case scenario here is that we want to get an inventory level or stock check of all the products that are currently listed in a client's eBay store; we want to get the stock level and then use this data to synchronize with data held in Zoho Inventory...

How?
So we're going to use a ZohoCRM function to get this file which we can run on demand. Why not in Zoho Inventory or any other Zoho app? Because we like to challenge ourselves...

Credit where Credit is Due:


Feel free to copy, redistribute and share this information. All that we ask is that you attribute credit and possibly even a link back to this website as it really helps in our search engine rankings.

Disclaimer: Please note that the information provided on this website is intended for informational purposes only and does not represent a warranty. The opinions expressed are those of the author only. We recommend testing any solutions in a development environment before implementing them in production. The articles are based on our good faith efforts and were current at the time of writing, reflecting our practical experience in a commercial setting.

Thank you for visiting and, as always, we hope this website was of some use to you!

Kind Regards,

Joel Lipman
www.joellipman.com