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/Deluge: Calculating with Timezone Offset

What?
This is an article to remind me how to calculate various times for an appointment booking system based on the timezones of each party.

Why?
The use-case scenario is that our Creator server uses the US datacenter but has it's server timezone set to "US/Eastern" or "America/New_York" (-05:00). Our sales person is on the west coast in the timezone "America/Los_Angeles" (-08:00). And our customer is in "Europe/Luxembourg" (+01:00).

We want to tell our customer they have an appointment at 4pm their time in Luxembourg; tell the agent/salesperson to call the customer at 7am in Los Angeles; and tell headquarters or the system calendar that the appointment is at 10am.

How?
So adding a datetime field and calling this one the "Customers Appointment Time" is the wrong first step. Reason being is that datetime fields hold the time zone they are set in (ZohoCreator > Settings > Date and Time Settings); so as soon as you try to insert a date time and perhaps accompany that value with a timezone, several calculations happen in real-time making it really difficult to extract and use.
Zoho Creator/Deluge: UnPredictable exception, Invalid statement found

What?
Just a quick article if you get the above error and what to look for.

Why?
I was writing a function with perhaps too many for each loops within a for loop.

How?
The following is 1 fix for the error:
Execution Failed
UnPredictable exception, Invalid statement found   Line:(20)
I cannot guarantee that this error doesn't appear for other reasons but I will add to this article if I encounter any.
Zoho Creator: Copy Subform to other Subforms

What?
A quick article on a snippet of code which copies one subform to other subforms in the same form.

Why?
I'm creating an appointment/booking system and I want the user to be able to set entries in a subform called "Mondays" then to click a button which copies it to the remaining working days.

How?
So I have a form with 6 subforms which list staff/employee shifts from Monday to Saturday.
Zoho Creator: Change Radio into Tabs

What?
This is an article to serve as a guide in terms of styling a radio group into a group of Tabs. This is only a guide or reference which was applied for one client but would need adapting to match the colors or style the next client wants.

Why?
The scenario is that my client has quite a long Creator form and instead of scrolling down while entering data, they would prefer if they could have tabs along the top to display each section.

How?
The way we do this is by applying our own stylesheet and overriding certain CSS elements that the vanilla or out-of-the-box Zoho Creator ones provide.
Zoho Creator: Public URL of an Image field / Upload to Shopify API

What?
This is an article to document how I downloaded an image held in a Zoho Creator form, and sent it to an API wanting the publicly accessible link or URL of the image.

Why?
I've got some other articles on handling images in Zoho Creator (see "Sources" below), the most relevant one being my article Zoho Deluge: Get Image Uploaded in Creator Form which has one method of getting a public link.

My use-case scenario here is that while I could upload the link from Creator to eBay's Picture Services successfully, Shopify would not accept any links I gave it. Why not use the links that eBay returns? Well eBay returns URLs to images that have been resized to 400x400 (even with tweak to return 800x800). I wanted a way to upload my image directly to Shopify in 3024x3024 resolution (or the size that the client wants: iPhone res). I then found that Shopify does accept a Base64Encoded version of the image and the below is how I achieved this.

How?
First-off, let me list the various formats that Zoho Creator says that public link exists.
Zoho Creator / eBay: Get all Active Products

What?
This is an article to document a function used in Zoho Creator to retrieve the Product IDs of all the active products in a client's eBay store.

Why?
The use-case was that I wanted to retrieve a list of all the listed active products in a fixed price item listing. The example below is a function which, if given the page number and the number of entries per page, returns these in JSON as a Zoho Map datatype.

How?
I'm not going to go into detail on how I create an access token to query the eBay Trading API as you can read this in my article: Joellipman: Zoho Creator: Push to eBay Listings.
Zoho Creator / Shopify: Get all Active Products

What?
This is an article to document a function used in Zoho Creator to retrieve the Product IDs of all the active products in a client's Shopify.

Why?
The use-case was that I wanted to search Shopify using a Product SKU. Community forums could only suggest looping through all the products.

I then felt that actually I just need the Product IDs. This method could do with some refinement and perhaps if I find a better way to do this, then I'll put it here. But I like this snippet of code albeit a brute force to loop through every active product and list their IDs.

How?
So here's the function I came up with. It loops through a maximum of 2500 products sorted in order of ID ascending (starting with ID=0) retrieving 250 per call and using since_id to not list the same one twice.
Zoho Creator: Receive eBay Order Notifications via Webhook

What?
This is an article to document how I got a client's eBay to notify the seller every time a buyer bought a fixed price item. This uses the Trading API even though I'm aiming for the Platform Notifications API...

Why?
A follow on from my article Zoho Creator: Push to eBay Listings. I have a Creator app that needs to receive the orders from an eBay account as soon as the order or transaction is made on a Fixed Price item.

How?
So first of all, you'll need an access token: please visit my article and read the first part on how to get a valid Access Token for the rest of these steps. Once we have an access token, we will check what notifications already exist (if any), and then we will create a function that subscribes the application so that any order is sent to a URL, specifically a CRM REST API function that will forward the payload data to Zoho Creator (Yes you will need CRM version Enterprise or Zoho One [that supports functions] for this process).

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