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 Deluge

Zoho Deluge: Search Records with Special Characters (COQL)

What?
This is an article to remind me how to search for CRM records by a value that may contain an ampersand or parenthesis.

Why?
I wrote this article because some searches will work for me and sometimes it won't. Escaping the ampersand with a backslash or url encoding to %26 wasn't working for me. I spent several hours trying to write a script that could search for the existing records by company name. The issue is that if you use zoho.crm.searchRecords() this will work fine for company names without special characters such as the ampersand or parentheses. But what if amongst your records you may want to find:
Company Name: Father & Sons (Incorporated)
Contact Name: O'Reilly

How?
Well I've tried various replace methods with regular expressions but the only method reliable enough I have found to work each time is using the CRM Object Query Language or Zoho's COQL. Similar to SQL but subject to similar issues of escaping special characters...
Zoho Deluge: Setup an API Connection for InvokeURL

What?
This is slightly different to my article Zoho Deluge: Get Refresh/Access Token API v2 (Zoho to Zoho service) and different to my Zoho CRM: APIv2 using PHP & cURL (3rd-Party to Zoho), in that this details how to setup a connection to use in an invoke URL statement. Specifically for Zoho Books, Subscriptions or Inventory.

Why?
Setting up a connection avoids the hassle of having to generate access/refresh tokens using OAuth2.0. Usually used with an invokeUrl:
response = invokeUrl
[ 
	url: "https://books.zoho.com/api/v3/estimates?organization_id=12346789" 
	type: GET
	connection: "joelconnector" 
];

How?
So in the following example, we are going to setup a connection in Zoho Books on an EU datacenter:
  1. First determine what datacenter your client is using
  2. Register the App
  3. Setup the Connector
Zoho Deluge: Get Image Uploaded in Creator Form

What?
So this is an article to document the methods I use to get an image uploaded in a form to display in a report or on another page.

Why?
There might be different articles out there and discussion forums that do cover this but it takes me so long to find the solution with the right syntax.

How?
So I'm going to start with 1 method and then update this article with other methods.
Zoho Deluge: Convert Xero Date (Unix Timestamp) to Standard Date String

What?
So this is a super quick note that I'll probably remember anyway but just in case, I'm writing this article so I don't spend time researching it later.

Why?
I'm synchronizing Xero Invoices with Zoho CRM Invoices and noticed that Xero stores its dates in Unix Timestamps.

How?
We're going to filter out the unix seconds from the date provided by Xero then apply a toTime() function to it.
Zoho Deluge: Push Multi-Select Picklist containing Commas from CRM to Creator

What?
A very quick article on how to push a multi-select picklist from CRM to Creator.

Why?
We're trying to create a record in Creator off a button on the CRM Potential/Deal record. The CRM module has a multi-select picklist which will use commas to delimit but one of the options has a comma in its value.
// What I have in CRM:
{"My_MultiPicklist":["Option1","Options 2, 3"]}

// What Creator understands: FAILS
{"My_MultiPicklist":["["Option1","Options 2, 3"]"]}
With workaround .toString()
// What Creator understands: FAILS
{"My_MultiPicklist":["Option1","Options 2"," 3"]}

How?
So the way to push this value over to Creator is by converting the list to a string... notably comma delimited:
Zoho Deluge - Connect to Xero API

What?
This is an article to document a standalone function which generates an access token from within Zoho CRM so you can access your Xero instance. There are 3rd-party API libraries and SDKs out there but as usual with financial technologies (fintech), I don't trust them. Here's how to do it in pure Deluge with a Zoho CRM custom function.

Why?
It is quite a common request so I'm using this article to refine a generic method of connecting to any client's Xero. The aim is to have a function that initializes a valid connection and then append code to do what we want to do in Xero such as synchronizing invoices or contacts.

How?
So the key thing to remember here is that a Refresh Token in Xero expires immediately after use. You use a Refresh Token to generate a new Access Token which can be reused over the next 30 minutes. In the response, you will also get a new Refresh Token which you should store away for later use when you want to generate a new Access Token.

Zoho Deluge: Push Item to Shopify API

What?
The following is a script template that I can quickly adapt for Zoho and Shopify integration. This will take an item from Zoho Inventory and post it to Shopify.

How?
Pretty quick to do in Zoho Deluge but first you need to go register the app in your client's Shopify store:
Zoho Deluge: Duplicate/Clone a Record

What?
This is an article with the snippet of code required to duplicate or clone a record in Zoho CRM using Zoho Deluge.

Why?
The aim here is to have a scheduled task that on the 1st of every month, takes the invoices for the month before, and duplicates each one for the new month.

How?
First you have to get all the applicable fields from the settings API.

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