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 Creator

Zoho Creator: isBlank and isNull: Before or After?

What?
A really quick article to test when to use isNull and isBlank.

Why?
So I've noticed that looking at people's Zoho Deluge code, there will often be a check on a null before or after the variable:
if(v_Test.isBlank())
{
    ...
}
VS
if(isBlank(v_Test))
{
    ...
}
isBlank() can be used to check if the string only contains blanks or if a value is null...

How?
Consider the following test function:
Zoho Creator: Input Color Picker

What?
An article on creating a color picker from a specific palette using an input field of a radio type.

Why?
At the time of print, this feature is not provided out-of-the-box and getting our users to learn about hexadecimal color references and Red Green Blue (RGB) values is somewhat difficult. What would be nice-to-have is if they could be presented with a bunch of colors and they click on one to select it.

Zoho Creator: Input Color Picker: the Button

When are colors used? Well in this use-case, we are using it to color events in a calendar associated with specific staff. Probably not the most essential part of a system but important to some staff...

How?
In an earlier article, I've shown how to change a radio type field in ZohoCreator into a Carousel type of interface. This time, we're going to repurpose and restyle a radio type field into a color picker.
Zoho Creator: Render to PDF with margins and page numbers

What?
There are already articles out there that document this but I use this more and more and would rather just find it on my site than going through multiple bookmarks.

Why?
This use-case is for a customer who simply wanted a quote template to be rendered for PDF or print format. I have another article for a different client who wants a pretty advanced HTML template (well it's a HTML table with rowspans and the borders need to merge cells). But here we're simply going to use ZohoCreator and its PDF rendering options.

What's wrong with just using CSS? It looks beautiful on ZohoCreator pages but then you hit the PDF button and it pretty much vomits your output back to the 90s. The code snippet below is just for a standard template with a modern design.

How?
Ok, admittedly, when first designing the template, there could have been a fair few improvements right out of the gate. Then the client comes back and says things like "can we add this?", "can it say this instead?", "can it be in a bigger font?"... without pushing back too much, it can end up looking like those old websites with HTML tables. We're going to use a HTML table again but that's because I want to send it to the PDF renderer in ZohoCreator and want all the data to stay aligned. Using only DIV layers can cause a few unexpected layouts in ZohoCreator.
ZohoCreator: Basic Widget with Zoho Data

What?
A follow on from my article Zoho Creator: Create a Widget which uses JavaScript back from 2020 with a few adjustments now in 2024.

This widget will only work within Zoho Creator. If you want a solution which sits on an external website and which talks to Zoho, then setup an externally hosted web app with the usual JavaScript frameworks and have it send AJAX commands to a server which reads/writes information to your Zoho instance via API. No need for the Zoho Widget SDK.
Why?
At time of print, I felt the documentation was a little sparse on how to connect a JS widget to the data held in Zoho Creator. Having this example for future use might save me some time. The following is the early version of a JS widget used for a customer and before I added all the layers of complexity, I want to have here an example that demonstrates a basic search on a table of data and returns one record as a result.

The use-case here is that we are enhancing a quote builder form in Zoho Creator. The JS widget (aka the Quote Builder) will need to post a new quote to the system as well as show previous orders.

How?
We're going to use the Zoho Extension SDK. You should refer to my previous linked article but the revised instructions here should also help. Then lastly, I'll post the snippet of code using in the widget to connect to Zoho based on a parameter passed in the URL that a Zoho Creator Page can receive and pass to the JS widget.
ZohoCreator: Using .toFile and Uploading to a Creator field

What?
This is a quick article on generating a file with the Zoho Deluge function .toFile() and uploading it to a file upload field within Zoho Creator.

Why?
The use-case here is that we want a file to be hosted within Zoho Creator for use by a JS widget that will download the CSV (in this case a Text *.txt) file for use by a dynamic auto-suggester dropdown; one of those fancy ones that includes photos and a bit of fuzzy logic.
Zoho Creator: Get Images in Report to be Exported to PDF

What?
This is an article to document how to produce a report which when exported to PDF will display images without a user wall.

Why?
Our client needs to send a report to suppliers that include photos of the faulty products. These display fine in a Zoho Creator report and even show up on the preview when exporting to PDF. But when you download the PDF and view this outside of the Zoho instances, the photos don't display.

This is because the photos were just links in the Zoho Creator image field, links to another Zoho app that is behind a user wall (ie. login and password as a Zoho User).

How?
So I'll go over what happens in the real world process; then cover some technical information; and even include the function that makes it work:
Zoho Creator: Error Code 2945: EXTRA KEY FOUND IN JSON

What?
A quick article on how I resolved this error and how the online forums and documentation did not.

Why?
I don't often do this to create a Creator record but I'm going to use the shortcode function zoho.creator.createRecord() and wanted to update the first name of a name field but I was getting the following error:
{ "code": 2945, "description": "EXTRA_KEY_FOUND_IN_JSON" }

How?
So the quick answer is to build a nested map in your request instead of using the Creator/JavaScript period/dot character...
Zoho Creator: Sendmail a list of attachments

What?
This is a very quick article on sending an email with Deluge which needs a dynamic number of files attached to it.

Why?
This came up during a call with another developer and it occurred to me that perhaps this isn't clearly documented. But there are tips found across the web just not specifically addressing this.

How?
Here is the code for a test function which downloads 2 files from a public domain, no user wall. The key here which the official documentation is missing is the .setParamName() but for those who have spent time to find this function, they'll already know this.

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