Customer Relationship Management Systems

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 CRM / Deluge: Send an email with a CRM Quote using a given CRM template

What?
A noteworthy article in my opinion on how to send a CRM quote record using a template the customer created from a button.

Why?
Yes you can do this already by going to the record, clicking on the ellipsis or three horizontal dots button in the top right and selecting "Send Mail" then selecting which inventory template to use... This is too many steps for some. Instead, we've been asked to create a button that sits on the view page of a record and the staff simply click on and it does all the aforementioned.
How?
The difficult part here was to figure out how to convert the CRM record into a PDF using a customer's template.
ZohoCRM: ZDK Client Script to retrieve Contact Email

What?
An article on one of my first client scripts for ZohoCRM. This retrieves and populates an email field based on when a contact is selected in a lookup field.

Why?
I could do a normal automation/workflow on save of the record, but the client wants the email to be prefilled in the field as soon as a contact is selected.

How?
This needs to behave like a formula field which changes and displays before saving the record. At time of print however, I can't get a formula field to retrieve a field from another CRM record.
Zoho CRM & Zoho Inventory: Upload Image to Item Record using Deluge

What?
A quick article on how to upload an image to the product/item listing in Zoho Inventory.

Why?
We're enhancing the out-of-the-box integration from eBay to Zoho Inventory bespoke for a customer. We want the photo on eBay to be downloaded and uploaded to the Zoho Inventory record for the respective record. As Zoho Books and Zoho Subscriptions uses the same database tables as Zoho Inventory, and there's more documentation on the API for Zoho Books, we're going to apply this solution to Zoho Books.

How?
We're not going to go into detail on how to parse an eBay response here (see my other articles on eBay webhooks). Instead, all we want is the URL of an image to be downloaded, then uploaded to the Zoho Inventory or Zoho Books item record.
Zoho CRM & Creator: Download attachment and upload to Creator file field

What?
A super quick article on how to download an attachment from CRM and upload to a "file upload" field in Creator.

Why?
My use case here is that we are creating a Creator app that will show the attachments on a CRM contact record (and be clickable). The complication here is that the user can use the Creator form to add a new attachment that will eventually be uploaded back to CRM.

How?
At time of print, things have moved on and based on the Zoho official forums, this used to be a daunting task. Not anymore at least from what I've seen.
Zoho CRM: Schedule a Meeting using Deluge

What?
Following on my article of creating a task using Zoho Deluge and scheduling a call using Zoho Deluge, here's an article on creating a Meeting or an Event using Zoho Deluge.

Why?
Because at time of print, I couldn't find that much information on how to build up a JSON request to create a meeting (previously known as Event) in Zoho CRM. Here's a quick snippet of code to remind me.

How?
Similar to how to create a call or task, but with some variation:
Zoho CRM: Using a function for validation rules (or restricting specific picklist options by user profile)

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.