Articles

Zoho CRM: ZDK Client Script: Auto-Select Pipeline based on User Department

What?
A super quick article on how to pre-select the pipeline on deal creation within CRM based on the department specified on a user's profile.

Why?
A client asked that when staff create a deal/opportunity record in CRM, the pipeline is automatically pre-selected based on the user.

How?
So there's a bit of a pre-amble for setting up the fields, we'll then use a client script to automatically read the user's record, retrieve the department, and set the correct pipeline option.
Zoho Creator: Error Code 2945: EXTRA KEY FOUND IN JSON

What?
A quick article on how I resolved this error and how the online forums and documentation did not.

Why?
I don't often do this to create a Creator record but I'm going to use the shortcode function zoho.creator.createRecord() and wanted to update the first name of a name field but I was getting the following error:
{ "code": 2945, "description": "EXTRA_KEY_FOUND_IN_JSON" }

How?
So the quick answer is to build a nested map in your request instead of using the Creator/JavaScript period/dot character...
Zoho Books: Generate Bank Text File for Download

What?
This is an article to document how we created a button off a Bill record in ZohoBooks which generates a text file to be sent to a bank and downloads it to the staff member's workstation.

Why?
Why is this a challenge? The file contains bank details and should not be stored anywhere. Generating a text or CSV file and then having it emailed to anyone is an easy task but here we cannot have that file sat on someone's mailbox. It must be downloaded (as in browser downloads it to the computer immediately) and then removed from wherever it was downloaded from...  All within ZohoBooks without using any other apps or software.

How?
Here's how to use it:
  • Staff member clicks on button
  • File downloads to their workstation
Here's what's happening in the background:
  • File is generated
  • FIle is attached to the last record of the source data
  • File identifying number is returned from being attached
  • File is opened in a new tab/window to trigger downloading.
  • File is deleted from attachments based on its identifying number (allows other attachments to remain intact)
ZohoBooks: Error Code 15: Ensure Billing Address has less than 100 characters

What?
Another article on something I learned today despite never running into this issue before; but sending a billing/shipping address included in a request to create or update an estimate in ZohoBooks will fail...

Why?
I have a function to push a ZohoCRM quote to a ZohoBooks estimate and a client asked that the address on the CRM record 'pulls through'. Sending the address in the same request however gives me the following error:
{ "code": 15, "message": "Please ensure that the billing_address has less than 100 characters." }

How?
So the quick answer is 2 separate API calls after you have sent the code to either create or update the estimate in ZohoBooks. You will need the returned estimate ID and I'm not 100% sure the attention/phone number goes along as my client didn't include these in her estimate template... But I'm sending them anyway.
Zoho Creator: Sendmail a list of attachments

What?
This is a very quick article on sending an email with Deluge which needs a dynamic number of files attached to it.

Why?
This came up during a call with another developer and it occurred to me that perhaps this isn't clearly documented. But there are tips found across the web just not specifically addressing this.

How?
Here is the code for a test function which downloads 2 files from a public domain, no user wall. The key here which the official documentation is missing is the .setParamName() but for those who have spent time to find this function, they'll already know this.

Zoho Deluge: Proper Case for Names

What?
This is an open article without any completion in mind; to set the proper case of a name, as in capitalize the first letter, lower case the rest but then with exceptions.

Why?
Some of the Zoho Apps are incredibly case-sensitive and consider some records containing people's names as duplicates, when actually they are the same entity but may have uppercased a letter in their name while the other entry does not...

This article is a start and adaptation of my previous article Convert to Proper Case in T-SQL which I had previously used for the migration of a HR system. This is intended to work using Zoho Deluge.

How?
There are a number of combinations that I won't have thought of but the below code sufficed for my current task, common English and some European names:

Zoho Creator: Find Duplicates by Customer Name for Large Datasets

What?
There are other sources on the web which show you how to deduplicate a contact but usually involve entering a customer name or other key to check if there are already records in the system with that key. I can't sit there entering one customer at a time. Even a loop would hit a statement execution limit.

Why?
My use-case is that I need this done over a dataset of 20k+ contact records and that's only half of the production system's contacts. I needed a quick bit of code to find any duplicates, all within the Zoho Creator app using Zoho Deluge and avoiding the use of any third-party APIs.

How?
My team of developers actually helped me solve this one as I was slowly dispairing...

Zoho Deluge: Get the Week Number if Week starts on a Monday

What?
A quick article on determining the week number of the year if your week starts on a Monday and not a Sunday.

Why?
I think it's the US system which generally says that a week starts on a Sunday but in the United Kingdom, the week generally starts on a Monday. So let's say there's a schedule that has to be run weekly and include all the orders of a specific week...

Just to confuse everyone in the world, the day index for a Sunday is 7 (ie. myDate.toString("u") returns 7) and the week commences on a Sunday (ie. myDate.toStartOfWeek("EEEE") returns Sunday). In other words, the day counting starts at 7, followed by 1 for Monday, 2 for Tuesday, and so on...

How?
The logic behind this would be to take the date of the order, check if the order date is a Sunday, subtract a day, and return the week number:

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.