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

ZohoCRM GetRelatedRecords INVALID_DATA

What?
A ridiculously quick article on resolving a zoho.crm.getRelatedRecords() combined with a zoho.crm.bulkUpdate issue.

Why?
Trying to be clever and reducing the API calls to go through a few thousand records and to update the related records. I was getting the error INVALID_DATA with the details being api_name:'data'... But this is shortcode, not an invokeURL.

{ "code":"INVALID_DATA", "details":{ "api_name":"data" }, "message":"invalid data", "status":"error" }


How?
I recall covering this solution before but it boils simply down to the zoho.crm.getRelatedRecords() not retrieving related records which are clearly visible when using the CRM.

Zoho CRM: Make Upload File Field Mandatory

What?
A quick article on making an "upload file" field mandatory.

Why?
Because for some reason, it wouldn't appear as selectable when I tried using a layout rule. Probably everyone else has figured this out and I'm just late to the party.

How?
Through the wonders of Zoho CRM Client Script.

So we're going to check on page onload, onchange for the Create Page (Standard), Edit Page (Standard), and Details Page (Standard).

Zoho CRM: Updating a CRM record using API v7

What?
This is a quick bit of code for my reference so that I don't have to keep finding a function that gives me the syntax of how to either create or update a record using invokeUrl.

Why?
Because my designers keep including custom fields in their transactional modules line items (quotes, sales orders, invoices, purchase orders). The only way to update these are by using the API and deluge function invokeURL rather than the usual shortcode of zoho.crm.updateRecord() or zoho.crm.createRecord().

How?
This is somewhere in the official documentation but here's the bits that I need:

ZohoCRM: Make either Mobile or Email mandatory

What?
A really quick article on a pretty cool requirement, making 2 fields mandatory but if one is completed then making the other optional.

Why?
My use-case is that the mobile or email field on a Zoho CRM contact record is used to authenticate the contact on a Wordpress portal. OTP or 2FA or MFA or OTC is in effect however; so a contact email OR phone number is required. Both aren't required but at least one should be.

How?
We can do this without code and only using ZohoCRM layout rules. Let's take a contact record for demo purposes:
ZohoCRM: Make either Mobile or Email mandatory: As it appears first

If I enter a phone number:
ZohoCRM: Make either Mobile or Email mandatory: If phone entered

If I enter an email:
ZohoCRM: Make either Mobile or Email mandatory: If email entered

Zoho CRM & Zoho Sign: Send CRM Merged Template for Zoho Sign

What?
I think I have a similar article on this website but the article below documents the full process to create a button that will map the values/fields from the record into a CRM Mail Merge template and send it off for signing, then return the Signed document attached to the initial record (where the button was).

Why?
If anyone has the envious task of sending a document out for signing by a customer, you will know this takes a while to do:
  1. You have to find the contact record in CRM for example
  2. Click on "Send for Zoho Sign"
  3. Select the template document or upload one
  4. Add the fields that you will complete, and the ones that other recipients will complete
  5. Send it for your end-user to complete and sign it
  6. This comes back to a section called "ZohoSign Documents", download the attachment
  7. Go back to the contact record, and upload the file to the attachment...
Some customers say this is unworkable and takes far too long, especially the part of adding the various field placeholders onto the template document; every time.

What if I told you we can code a single button on the record which does all of that for you; with only you needing to approve the document before it gets sent to the end user, and when they finish signing it, it attaches automatically back on to the record?... It is possible. The article below documents it but as this is a fair bit of coding, you may want to ask us to build this solution for you. It can take a few days but it will save your staff a ton of time per week!

What your staff see:
Zoho CRM & Zoho Sign: Send CRM Merged Template for Zoho Sign: The one button to rule them all

How?
So we're going to create a button. Let's use the example of a credit application you want to send to your customer, and when they complete it, the PDF version gets attached to their contact record... all from one click of a button:
ZohoCRM: Daily Follow Up and Remind Record Owner to Convert Lead

What?
An article to ensure I never spend this long on such a request again. The brief is: "Follow up when a lead is created and not converted within 1 day send an email and notification to sales person everyday for 3 days then escalate to a specified user".

Why?
Sorry Zoho! I tried using the interface to set up a workflow or any other mechanisms within ZohoCRM that allowed me to set up a daily reminder to the lead record owner but to no avail. An assignment rule wouldn't work in this case as it had to be the lead owner (there is no owner at assignment rule stage). A workflow email notification doesn't do the popup on the CRM as well. A workflow notify by email didn't give the option to remind daily... only weekly or monthly.

Spent a while trying not to use code but here we are. Code is our friend.

How?
So we'll run a workflow that triggers on the creation of a lead and runs a function which will simultaneously create a task with a reminder both on popup and email which repeats every day until an end date.

We then carry out the last bit of the brief with a separate workflow that runs exactly 4 days after the lead creation time and assigns it to the specified user (full name of user was given in the brief but removed here for privacy).

Finally, we delete any of these tasks when they get transferred to the contact record.

Zoho CRM: Client Script Confirmation Box and Popup Mailer

What?
This is an article just repeating a script from the Zoho Kaizen series allowing a confirmation box (something lacking in Zoho Creator - but that every app outside of Zoho has) as well as a popup to email from CRM with a rich-text interface.

Why?
The use-case here is non-existent. It's more of a play around to see what can be achieved and how much this can be customized. The task I've set for myself is as follows:
  • Trigger if the contact record has a tickbox called "Extra Confidential" ticked/checked=true
  • Popup a confirmation box to proceed or cancel.
  • Popup the email from CRM mailer with the to email address, bcc, subject and message content already populated.

How?
The example from the Kaizen series uses a record with canvas mode applied; but I wanted to try it without a canvas to see if we can have this functionality using the out-of-the-box ZohoCRM.
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.

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