What?
So this is a pretty cool feature in Zoho CRM that I hadn't used much but definitely worth an article. The ability to block field picklist options from being selected based on the profile of a user.

Why?
There were several alternatives we considered beforehand which still didn't fit the requirement: A client's first-line agents would have a lead record with the status "New Lead". The client wanted that if the status had changed to something else, the first-line agent would not be allowed to set it back to "New Lead". Automations and workflows could however (run as Administrators). Mapping a dependency field didn't fit the bill because we want "Lead Status" to be displayed to the first-line agents. Making this field read-only to first-line agents also wouldn't help as some of the options should be selectable. Two separate fields weren't quite right either: 1 as read-only (permission only to higher level) and 1 picklist as selectable means that the first-line agent would be referring to 2 status fields and not really knowing which one defines the stage the lead is at.

How?
Well this can be done through a validation rule. After working in Zoho CRM for over 3 years, this is the first time I'm using it so I'm documenting it.


What?
This is an article to document how to use the searchRecords function in CRM and to sort the results response.

Why?
This is unclear and not always working as coded below since each system (CRM, Creator, Books) seems to interpret this sorting feature differently. This article is an effort to find clear and working solutions. It is working again as of 2022-02-10.

How?
Two methods listed here, the standard searchRecords() and then the getRecords() functions:


What?
A very quick article on a cool snippet of code, another regular expression, I've been trying out to round up a number or at least to remove the trailing zeros. I could have added this to my Zoho Deluge - Some Useful Regular Expressions list but I felt this deserved its own article.

Why?
A client wanted the discount displayed on a template and if they gave 10% discount, it would display as 10.00%. And they need the decimal because sometimes they might offer 12.5%. But when it displays in a template, it isn't that pretty to look at: Instead, could they have 10% to display instead of 10.00%, and display 12.5% instead of 12.50%.

Well there might be a longer solution without using a regular expression (regex), as in check for the decimal point, check each digit thereafter to see if there are zeros... But I'm keen on avoiding using loops where possible so we don't breach a statement execution limit in the Zoho app function.

How?
If we're not going to use loops, then the next best thing I'm aware of is a regular expression.

What?
A very quick article on how to deal with an issue where a CRM template has been used and where the table of line items appears on a separate page (and to remind me of the CSS to fix this).

Why?
By default / out-of-the-box / vanilla, in a Zoho CRM Template, the table of line items will behave like this; specifically when there are a lot of line items as per my screenshot here:
Zoho CRM: Template: Empty Space Issue

How?
This has been raised a few times by multiple clients but the fix is rather quick as long as you can get to the HTML of the template:

What?
A very quick article to document a HTML Entity decoder in Zoho Creator.

Why?
Sometimes when receiving data from a third-party, we may receive some strings containing "&" or " " and obviously want to display these as decoded HTML entities. (Zoho if you're listening) Ideally, Zoho may add this to their zoho.encryption namespace such as zoho.encryption.htmldecode(string). But at time of print, it doesn't exist and in the meantime, I've made a function that does this.

How?
Not sure how else to do this but I simply wrote a function in Zoho Creator for each instance that I knew a HTML entity would be submitted. So it doesn't decode every HTML in existence, only the ones I know will happen.


What?
This is a bit of an odd article with not 100% certainty on what the cause/outcome would be for your case but worked for us. This documents the steps taken to edit/modify the header on a sales order inventory template.

Why?
A client raised an issue that they had previously hard-coded the address of their organization into the body of a template (just below the header... they weren't using the header section) but then they changed address and couldn't change the template. So they had something like:
copyraw
${Organization.Organization Name}
${Organization.Street}
${Organization.City}
${Organization.Country}
${Organization.Postal Code}
11 My Street, My City, My State, My Zip, My Country
  1.  ${Organization.Organization Name} 
  2.  ${Organization.Street} 
  3.  ${Organization.City} 
  4.  ${Organization.Country} 
  5.  ${Organization.Postal Code} 
  6.  11 My Street, My City, My State, My Zip, My Country 
They wanted to get rid of the "11 My Street, My City, My State, My Zip, My Country" but when editing the template, they couldn't put the cursor in there or even delete the box the address was in.

How?
So you're going to say this is a strange issue and an even stranger fix, but I've tested this solution by getting a colleague to refresh the page and check it out as well as the client to go in and confirm the change was successful...:
Category: Zoho :: Article: 800

What?
This is the function to get the line item order/transaction from eBay if you give it the eBay Item ID as a parameter.

Why?
Mostly for debugging but here's the code that will quickly get the XML of a GetItemTransactions request to eBay.

How?
You'll need an access token for eBay which I documented on how you can generate one in my article: Zoho Creator: Push to eBay Listings. Then you can use the following code, note that the parameter is the eBay Item ID:

What?
This is an article documenting how to parse the notification from eBay and using it to create an order in Shopify.

Why?
Previously, we would receive an eBay notification and create an order record in Zoho Creator. We did the same for when Shopify would process an order. You can see my following articles for more information on these:
This time, the objective is to have an eBay notification be sent to Zoho CRM (can receive webhooks) which forwards it to Zoho Creator, which in turn generates an order in Shopify. This article is primarily for myself as I need to do this for some other clients and I just want to continuously refine and improve my code below.

How?
I'm going to show you the code first of how to parse the eBay Transaction data and then the code to create a Shopify Order:

What?
So this is going to be an article with a bunch of pictures showing step-by-step of how I setup a recurring data source in Zoho Analytics via FTP.

Why?
The use-case here is that I have a client who wants to import data via FTP (SFTP - to be precise) and have this available to their Zoho apps. My aim(s) are:

  1. Setup recurring FTP connection.
  2. Make data readily available to ZohoCRM.

How?
Well, let's setup the FTP connection first in Zoho Analytics:

What?
So this is an article expanding on my article Zoho Deluge - Connect to Xero API and explores how instead of a schedule, we can get Xero to tell ZohoCRM whenever an invoice or contact gets updated in Xero.

Why?
I used to use ZohoCRM schedules to pull when an invoice has been paid, but ZohoCRM schedules run only every 2 hours. You can set up 2 schedules: one that runs on even hours and one that runs on odd hours to change this to every hour. It's not enough for some, so the below details on how you can get Xero to tell Zoho when a contact or invoice has been updated immediately.

How?
Here's an overview of how we achieve this:
  1. Set up a Zoho CRM function to receive the webhook.
  2. Setup a webhook in Xero.
  3. [Optional for Method #2] Setup a PHP script on a server that will validate the Xero webhook.
You're going to need to respond to Xero with valid and invalid HTTP statuses as their webhook validation process is a little stricter than Zoho's.

What?
A very quick article to remind me how to send a text message using Twilio API in Zoho Deluge.

Why?
The use-case here is that we want local sense dialing where specific numbers are used both for outbound and inbound but local to the customer and we want to remind our customer that they have an appointment in 1 hour with us.

How?
The code is actually pretty straightforward but you will need to follow these steps to get the credentials:

What?
An article with a quick snippet of code which builds up the address from a Lead record to geocode into latitude and longitude coordinates to feed a third-party API which returns a timezone.

Why?
Our use-case is that we have a field called "Customer's Time Zone" on the lead record in ZohoCRM. It should be auto-populated...

How?
As mentioned, we're going to use the address on the Lead record; use Zoho's GeoCode function to convert this into a latitude and longitude, then we're going to use a free TimeZone API (one that returns a timezone given a lat/lng). The added feature is that we are going to loop through picklist options (500 timezones) in CRM to select the most relevant one. If all this fails, then it defaults to a module called "States" which stores a default timezone and can be searched for with the "State" field on the Lead record.

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

RSS Feed

Related Articles

Joes Revolver Map

Joes Word Cloud

table   where   files   user   create   time   windows   using   first   need   parameter   server   find   used   field   source   joomla   zoho   code   system   added   data   display   page   work   google   mysql   database   license   form   file   order   error   client   case   would   script   function   website   report   date   uploaded   creator   note   value   deluge   list   following   name   version   JoelLipman.Com

Accreditation

Badge - Certified Zoho Creator Associate
Badge - Certified Zoho Creator Associate

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
© 2024 Joel Lipman .com. All Rights Reserved.