Welcome back everyone!
Last week, we learnt how to auto-update tasks from other modules. This week, let's look at a custom function that helps you get the total count of Activities and Note right inside your lead records.
Business scenario:
On an average how many times should I call a lead before moving on? I’m sure most of you would have faced this dilemma at one point or the other. Effective prospecting takes time and effort. Notes and Activities are important CRM utilities that helps keep a tab of your client interactions. Zoho CRM provides a list of all the activities related to a lead like Tasks, Calls and Events right within your lead records. Keeping a count of the Activities related your lead records does come in handy. What if you want to qualify the lead as Lost after a specific number of calls? However, such data is not readily available inside the lead records. That is where this week’s custom function comes to the picture. It updates the total count of Notes, Events, Tasks and Calls in corresponding custom fields inside the lead records. Include these fields in your Lead views, sort accordingly to take necessary action.
So, if you are looking for options to sort lead records based on the count of Calls or Events, look no further. This custom function is tailor-made for you.
Pre-requisites:
- Add the required custom fields in the Leads Layouts. Go to Setup > Customization > Module and Fields > Leads > Layouts, drag and drop the required custom fields. The names of the custom fields are case sensitive. So, names should be 'Notes Count', Task Count', 'Event Count', 'Call Count' and 'Activity Count'. The details fetched from the respective record modules gets updated in these custom fields.
- In the Leads module, click Add Columns and select the created custom field to display in the module. Click the Field name and select Asc or Desc, to sort the leads based on the interaction count.
Getting started with the custom function:
- Go to Setup > Customization > Modules > Select the required module > Links and Buttons > +Create new button.
- Provide a name for the button. For example: “Activity Count”. Add a description(optional).
- Choose View page from the drop-down list.
- Select Writing custom function from the subsequent drop-down.
- Provide a name for the custom function. Add a description(optional).
- Click “Free flow scripting”.
- Copy the code given below.
- Click “Edit arguments”.
- Enter the name as “contactId” and select the value as “Contact Id”.
- Save the changes.
- Click Save to create the button.
The script:
Code for Version 2.0 API:
RelatedTasks = zoho.crm.getRelatedRecords("Tasks", "Leads", leadId.toLong());
RelatedEvents = zoho.crm.getRelatedRecords("Events", "Leads", leadId.toLong());
RelatedCalls = zoho.crm.getRelatedRecords("Calls", "Leads", leadId.toLong());
RelatedNotes = zoho.crm.getRelatedRecords("Notes", "Leads", leadId.toLong());
total = RelatedTasks.size() + RelatedEvents.size() + RelatedCalls.size();
mp = map();
mp.put("Task_Count", RelatedTasks.size());
mp.put("Event_Count", RelatedEvents.size());
mp.put("Call_Count", RelatedCalls.size());
mp.put("Notes_Count", RelatedNotes.size());
mp.put("Activity_Count",total);
update = zoho.crm.update("Leads", leadId.toLong(), mp);
info mp;
info update;
return "success";
Code for Version 1.0 API:
leadIdStr = input.leadId.toString();
RelatedTasks = zoho.crm.getRelatedRecords("Tasks", "Leads", leadIdStr);
RelatedEvents = zoho.crm.getRelatedRecords("Events", "Leads", leadIdStr);
RelatedCalls = zoho.crm.getRelatedRecords("Calls", "Leads", leadIdStr);
RelatedNotes = zoho.crm.getRelatedRecords("Notes", "Leads", leadIdStr);
total = RelatedTasks.size() + RelatedEvents.size() + RelatedCalls.size();
mp = map();
mp.put("Task Count", RelatedTasks.size());
mp.put("Event Count", RelatedEvents.size());
mp.put("Call Count", RelatedCalls.size());
mp.put("Activity Count",total);
mp.put("Notes Count", RelatedNotes.size());
update = zoho.crm.updateRecord("Leads", leadIdStr, mp);
info mp;
info update;
return "success";