Customer Relationship Management Systems

Zoho People: Get Performance Records over API

What?
Took us a while to find this and perhaps others would have a quicker way but here's the instructions on getting the records from the performance module in Zoho People API.

Why?
Cos it took us a while. The online forums seem to go back over a decade and the documentation seems to have gaps; or simply modules are so custom/bespoke the documentation has started to genericize.

My client has seen the Goals or Objectives report under "Organization Reports" but would like some additional fields/columns added to it. Turns out, it's a system report you can't change. Enter Zoho Analytics... well almost, Analytics will sync with Zoho People but I wasn't able to select the performance modules (Client Review and Placement Tech Survey having been disabled)...

How?
So this might seem obvious but after trying to scan the meta data (snippets at the bottom of this article), the simplest way was right in front of us. We're going to use the interface to find the form where staff have been entering employees goals, then we're going to query it and push it to Zoho Analytics.
Zoho CRM: JS Widget: Generic Script to pass the Record ID to a CRM function

What?
There's documentation out there but as this took me a couple of days to simply install a JS widget hosted by Zoho and pass the record ID via a button to it, I'm adding it here in case I need to refer to it in future.

Why?
We have an Accounts module which holds all the companies we deal with in our Zoho CRM. I want our sales team to be able to click on a button off the CRM account record which will call an API returning all the credit information about a company. Unfortunately, if you do this simply using Zoho Deluge in a button, there are no new lines/carriage returns or styling that you can apply, which pops up as a message box to the sales person; but all on one line and not that readable. Using a JS Widget, we can popup a window over the Zoho CRM which displays a more clear HTML & CSS styled message box.

How?
There are links to how to create a widget in detail which I'll link to at the bottom of this page. What follows are the quick steps to create a widget.html file and how to get whatever the Zoho Deluge CRM function returns.
Zoho CRM & Zoho Sign: Send CRM Merged Template for Zoho Sign

What?
I think I have a similar article on this website but the article below documents the full process to create a button that will map the values/fields from the record into a CRM Mail Merge template and send it off for signing, then return the Signed document attached to the initial record (where the button was).

Why?
If anyone has the envious task of sending a document out for signing by a customer, you will know this takes a while to do:
  1. You have to find the contact record in CRM for example
  2. Click on "Send for Zoho Sign"
  3. Select the template document or upload one
  4. Add the fields that you will complete, and the ones that other recipients will complete
  5. Send it for your end-user to complete and sign it
  6. This comes back to a section called "ZohoSign Documents", download the attachment
  7. Go back to the contact record, and upload the file to the attachment...
Some customers say this is unworkable and takes far too long, especially the part of adding the various field placeholders onto the template document; every time.

What if I told you we can code a single button on the record which does all of that for you; with only you needing to approve the document before it gets sent to the end user, and when they finish signing it, it attaches automatically back on to the record?... It is possible. The article below documents it but as this is a fair bit of coding, you may want to ask us to build this solution for you. It can take a few days but it will save your staff a ton of time per week!

What your staff see:
Zoho CRM & Zoho Sign: Send CRM Merged Template for Zoho Sign: The one button to rule them all

How?
So we're going to create a button. Let's use the example of a credit application you want to send to your customer, and when they complete it, the PDF version gets attached to their contact record... all from one click of a button:
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:

What?
This is a very quick article with examples of managing a multi-user or multi-lookup field in CRM using Zoho Deluge.

Why?
Sometimes you might need this when data mapping fields from one module to another, sometimes you need to manage existing multi-lookups/users in a record.

How?
So the key point to remember is that all multi-select lookup and multi-user lookup fields are held in temporary CRM modules called a "LinkingModule" (as opposed to standard modules and custom modules).
Zoho Books: Get Invoice Payment Terms via API

What?
A quick article on getting the payment terms in Zoho Books along with their IDs.

Why?
I often need to send through an automatic payment term on the creation of an invoice but lots of my clients set their due dates differently.

How?
The following snippet of code will query the metadata api in Zoho Books and return a JSON of what the payment terms are.

Zoho Deluge: Connect to Shopify

What?
A quick article showing 2 ways of connecting to Shopify's REST API with a custom app.

Note that this is not for an app embedded in the Shopify instance but for a third-party app, such as a Zoho Creator app, to connect to the data within Shopify.

Why?
At time of print, we have woken up to the news that including a username and password, or a client and secret in the endpoint of a URL will no longer be supported in the Zoho Deluge invokeURL task...

This article exists because I spent 2 hours going down the rabbit hole of trying to use OAuth2 and following the usual steps: Grant Code, Refresh Token, Access Token. I also went down the rabbit hole of installing app-bridge and configuring a JWT which was an absolute waste of time with regards to what I was attempting to do.

How?
Let me show you how we used to connect and then what the new code will be. The preamble to both of these is how to get the values to include in the invokeURL headers and payload.
PHP Script: Make your own Thumbnail Generator via API

What?
Looking for an online tool that will take an image and make a thumbnail copy? This article is for me if I ever want to recreate an online tool capable of receiving an image URL and which both generates and outputs a thumbnail image and makes it downloadable via URL.

Why?
Performance. I have a client with about 10k images of products that they want to appear in a dropdown menu of a JavaScript widget. When the user first loads up the webpage containing the widget, 10k images are downloaded. I have put in a lazy loading process where it will load the first few images and as the user scrolls down the dropdown, more are loaded. This still gets buggy on certain mobile devices as some images are over 1Mb.

So I needed a tool that every time a new product is added, a thumbnail gets generated and stored in the same application. Trawling through the first few pages of Google, all the online tools that did the same had a pricing page. I can understand why you would need to limit users so I don't blame them. But if you can, why not make your own?

How?
So you will need a webserver of your own running PHP 8. The following PHP script was only tested using PHP version 8.x so I can't say whether it will work for previous versions.

I cannot take credit for this script, as I asked OpenAI's ChatGPT to write it initially, and to build upon it as I kept moving the goal posts, figuratively speaking, and changing the requirements. I am impressed however that every version it iterated, worked exactly as I asked with only 1 error where it mixed a method with a comment but thereafter, a working script every time.

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

Joes Word Cloud

Please publish modules in offcanvas position.