Articles

ZohoCRM: Get All eBay Active Listings

What?
Another one of these articles talking about getting all the active product listings from eBay for a specific client.

Why?
Our use-case scenario here is that we want to get an inventory level or stock check of all the products that are currently listed in a client's eBay store; we want to get the stock level and then use this data to synchronize with data held in Zoho Inventory...

How?
So we're going to use a ZohoCRM function to get this file which we can run on demand. Why not in Zoho Inventory or any other Zoho app? Because we like to challenge ourselves...

ZohoDeluge: Inserting a new line character in a CSV

What?
A super quick article on something that almost deserves its own article: using new lines in ZohoDeluge.

Why?
My use-case here is that I was generating a comma separated values (CSV) file given some lists and strings and although the same code worked great on one Zoho CRM, another client's ZohoCRM was not accepting "\n" as a new line character and instead would render/display it as "\n"...

What I have
Me,Myself,I\na,b,c
What I want
Me,Myself,I
a,b,c

How?
So in this article I just want to list some various methods of inserting a new line character.
ZohoDeluge: Get All eBay Orders Given a From and Till Date

What?
An article on how I can query all the orders for yesterday without using the eBay GUI Selling website.  I've included the code to parse out the information as well.

Why?
Because I need this function too often either for debugging/monitoring purposes but it's easier to use an access token then getting the OAuth access codes from the client.

How?
I'm going to split this into 2 code snippets that were in practice added to the same function and that worked at time of print.  Note that this uses the old Trading API as the new API is only available in Sandbox???  I won't go into how to generate an Access Token to your client's eBay store as that's covered in my article: Zoho Creator: Push to eBay Listings.
Zoho Creator: Disable/Hide the add and delete subform row options

What?
A really quick article on how to hide these using CSS... at least until Zoho have this as a setting using the GUI.

Why?
Our use-case is that we have a subform which gets autopopulated with a list of services. The client does not want their operations team adding/deleting rows and instead simply specifying quantity (defaulting to zero) alongside each serviceable item.

How?
So at time of print, this is the only way I know: add a note field to inject some CSS into it and hide the delete icon as well as the "Add new row" link.
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 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.
Joel's guide to MidJourney Prompts: fire mage, steampunk victorian, detailed, full body hyperrealistic female

What?
So this is an article for me to store prompts for the MidJourney AI text-2-image discord tool.

Why?
The results from the MidJourney bot are beyond unpredictable however with the correct prompts you can direct it to focus on the elements you want from a brief.

How?
A "prompt" is a text-to-image expression using words and phrases to instruct the Midjourney Bot (or any other AI text-2-image generator) which the bot can break down into "tokens" and then match with its training data to generate the image.
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:

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

Please publish modules in offcanvas position.