For Zoho Services only:


I'm actually part of something bigger at Ascent Business Solutions recognized as the top Zoho Premium Solutions Partner in the United Kingdom.

Ascent Business Solutions offer support for smaller technical fixes and projects for larger developments, such as migrating to a ZohoCRM.  A team rather than a one-man-band is always available to ensure seamless progress and address any concerns. You'll find our competitive support rates with flexible, no-expiration bundles at https://ascentbusiness.co.uk/zoho-services/uk-zoho-support.  For larger projects, talk to our experts and receive dedicated support from our hands-on project consultants at https://ascentbusiness.co.uk/zoho-services/zoho-crm-implementation.

The team I manage specializes in coding API integrations between Zoho and third-party finance/commerce suites such as Xero, Shopify, WooCommerce, and eBay; to name but a few.  Our passion lies in creating innovative solutions where others have fallen short as well as working with new businesses, new sectors, and new ideas.  Our success is measured by the growth and ROI we deliver for clients, such as transforming a garden shed hobby into a 250k monthly turnover operation or generating a +60% return in just three days after launch through online payments and a streamlined e-commerce solution, replacing a paper-based system.

If you're looking for a partner who can help you drive growth and success, we'd love to work with you.  You can reach out to us on 0121 392 8140 (UK) or info@ascentbusiness.co.uk.  You can also visit our website at https://ascentbusiness.co.uk.

Zoho

Zoho Deluge: Shopify API: Get all active products with GraphQL and Pagination

What?
An article to resolve my frustration in being able to ONLY retrieve the first 100 products using GraphQL, so page 1 of Shopify products.

Why?
Our use-case is that we retrieve the 100 most recently modified products at the end of each day and run some Deluge code against it to ensure that the data in Shopify is the same as in Zoho. In this case, Shopify is considered the source of truth and Zoho is the data to be overwritten, ensuring that Product IDs, Variant IDs, Inventory IDs, Current Selling Price, Inventory Level, and Barcode all match.

Our problem is that sometimes more than 100 products are modified in a day... We need to be able to do more than 100 or at least resume from a record... We need pagination.

How?
To resolve this, I'm building on top of my initial GraphQL query which will now retrieve 10 products per page and loop through 3 pages for use in Zoho Deluge. If this works, we can increase the number of pages as well as the number of products per page:
Zoho Analytics: Determine profits from invoices and purchase orders

What?
An article on the reasoning and steps to generate a dataset using Zoho's ANSI-SQL queries to generate the margins of each invoice in ZohoBooks.

Why?
We need to create a profits/losses dashboard in Zoho Analytics as we can't control the out-of-the-box PNL report that comes with Zoho Books. We needed a dataset that took into account "Delivery" as a separate line item on the purchase order.

I'm writing this article as it had gone through several partners before us and even Zoho themselves without a solution. This took my team the best part of two months to find a solution.

How?
Disclaimer! There may be many ways of doing this, this is just one way that we used that worked for 90% of the invoices. There are invoices that may be associated to sales orders changed after being confirmed or missing associated purchase orders altogether.


Zoho Cliq: Integrate OpenAI and soon ChatGPT

What?
A quick article on my adaptation of some code posted by Poorvik Palanikumar on the Zoho Community Forums to connect a ZohoCliq to the OpenAI API and ChatGPT... Note that I have another article for those who want to integrate ChatGPT with ZohoZIA.

Why?
Previously, I would edit the message handlers of a Cliq Bot I created but it would only understand the questions I have programmed it to and respond with the responses I programmed it to answer with. Any variations of the questions it did not understand, it would return a response similar to Siri or Ask Google where it includes the keywords in a "Search the web..." task.

ChatGPT by OpenAI is viral at the time of print and although the solution below only connects to the OpenAI API, it is not currently connected to ChatGPT. The plus side however is that it is connected to the Internet unlike ChatGPT which only has information up to 2021.

How?
The basics of setting this up would be to setup a bot in ZohoCliq and then to edit either a message handler or participation handler. As for the usage, simply ask the Cliq Bot a question and it will forward the query and respond with the response from the OpenAI API.
ZohoRecruit: Create Linking Table for Candidates and Associated Job Openings

What?
This article is just in case it comes up again (has twice now) where a client wants a report on candidates and associated job openings in Zoho Recruit.

Why?
We're creating a custom module where our client wants to query Zoho Recruit via the API but couldn't find a database table to determine who has been associated to what job. In Zoho Recruit reports (Analytics), you can include the "Associate" module which then allows you to link the Candidates to the Job Openings; but my client needed to be able to query this via API and the "Associate" table or whatever it is, was not visible in API...

How?
So we created a custom module called "Candidates x JobOpenings" (with alternative API name as "CustomModule6"). Just to add to the complexity of the task, the client has their own reference for Candidates which they called "Candidate Ref" and their own reference for the JobOpening called "Vacancy Ref". The below outlines the custom module we created and how we populated with associated candidates:
ZohoCRM: Import Attachments

What?
An article for myself really as I couldn't find much online to address the errors I encountered below but also to document the import process of a bunch of files into a ZohoCRM system.

Why?
Our use-case here is a data migration for a client from a legacy CRM to ZohoCRM. They have a lot of files they want attached to their respective records in CRM. This took me a while as our own documentation is scatty and the online forums weren't too helpful either.

How?
In the example below, we are going to document how to import files associated to CRM Contact records. There's first the preparation of an "Attachments.csv" file that needs the correct values in each column and the "Attachments.zip" containing the files to attach that needs some formatting as well:
Zoho CRM: Manage a subform using Client Script

What?
This is an article with a snippet of code demonstrating how to manage a subform using a Zoho CRM Client Script.

Why?
A client wanted an automation on-the-fly that when selecting a specific value in a field, a row would be added to a subform contained herein.

How?
Well I won't go in to detail on how to add a client script, this article is just to show the snippet of code used in the client script which will manage a subform.
Zoho Analytics: Set Up Widget Displaying Sales Person

What?
A quick article to display a value in a column in a widget in Zoho Analytics.

Why?
Because I keep forgetting how to do it.

How?
I've done this for a query that amalgamated all the deals against a deal owner and needed to repeat this for all the invoices against a sales person.

It adds to the effect on loading the page that a widget has clearly defined values based on the filters I select on a dashboard.

Zoho Deluge: Generate a loop or list of any size

What?
This is an article on a trick I picked up from one of our interviewees as well as apparently in one of the Zoho documentation manuals. It uses leftpad to create a string of a length, converts it to a list, then lets you generate an array or list of any size.

Why?
My use case here is to run a schedule that will populate a list with the upcoming dates for the next week (and for any numbers of weeks thereafter). This needs to be dynamic as it is a schedule run daily checking the availability of a staff member for the upcoming week.

How?
As mentioned, using leftpad takes 2 parameters, the first is the string to start with, the second is the number of spaces to pad with.

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

Accreditation

Badge - Zoho Creator Certified Developer Associate
Badge - Zoho Deluge Certified Developer
Badge - Certified Zoho CRM Developer

Donate & Support

If you like my content, and would like to support this sharing site, feel free to donate using a method below:

Paypal:
Donate to Joel Lipman via PayPal

Bitcoin:
Donate to Joel Lipman with Bitcoin bc1qf6elrdxc968h0k673l2djc9wrpazhqtxw8qqp4

Ethereum:
Donate to Joel Lipman with Ethereum 0xb038962F3809b425D661EF5D22294Cf45E02FebF

Please publish modules in offcanvas position.