Function-32: Send mass emails to specific groups of leads or contacts

Function-32: Send mass emails to specific groups of leads or contacts



Welcome back everyone!

Last week, we learnt how to get the timezone of your leads and display them in the record. This week, let's look at a function that lets you send mass emails to specific sets/groups of users from the List view page of the module.

Business scenario:

Although the ways in which people communicate with each other has grown to an extent where there are lots of different ways, the most simplest but effective means would be emails. Especially in the case of businesses. No matter if it's for a deal, lead qualification, campaign etc, emails are quite important. However, depending on the scenario, time and season, there might eb different emails that need to be sent to different leads or contacts. When the leads/contacts are not in succession, you would have to send the emails from the individual records page. Wouldn’t it be great if you can select the list of leads or contacts in the List view page of the module and send the emails in one go? The Function (custom function) for today helps you do just that.

Add this function to a button in the Leads or Contacts module. You can use this function multiple times to store different templates of emails and send them as necessary. This ensures your emails are sent to the right people at the right time and help you with your business.

Getting started with the custom function:

  1. Go to Setup > Customization > Modules > Leads > Links and buttons > Create new button.
  2. Provide a name for the button. For example: "Marketing mails - 1". Add a description(optional).
  3. Select the placement of the button as List View page.
  4. Select the action to be performed as "Writing function".
  5. Copy the code given below.
  6. Click “Edit arguments”.
  7. Enter the name as “leadId” and select the value as “Lead Id”.
  8. Click Save&Execute Script.
  9. Save the script.
  10. Select the profiles who can view this button.
  11. Click Save.

The script:

Code for Version 2.0 API:

leadIdsList = input.leadId.toList("|||");
for each leadIdStr in leadIdsList
{
resp = zoho.crm.getRecordById("Leads", leadIdStr.toLong());
email = ifnull(resp.get("Email"),"");
sendmail
(
To : email 
From : zoho.adminuserid 
Subject : "{subject_of_the_email}" 
Message : "{message_content}" 
)
}
return "LeadID" + input.leadId;

Code for Version 1.0 API:

leadIdsList = input.leadId.toList("|||");
for each leadIdStr in leadIdsList
{
resp = zoho.crm._getRecordById("Leads", leadIdStr.toLong());
email = ifnull(resp.get("Email"),"");
sendmail
(
To : email
From : zoho.adminuserid
Subject : "{subject_of_the_email}"
Message : "{message_content}"
)
}
return "LeadID" + input.leadId;
------------------------------------------------------------------------------------

Note:

  • The code is zoho.crm._getRecordById in case you're still using the previous version 1.0 of our APIs.

Found this useful? Try it out and let me know how it works! If you have questions, do not hesitate to ask! Share this with your team if you find it useful. Do check out other custom functions shared in this series here.

See you all next week with another interesting custom function. Ciao!

Update: As you must be aware, API V1.0 will be deprecated and support for version 1.0 API will be available only till Dec 31, 2018. Version 1.0 compatible Functions will continue to work until Dec 31, 2019. You're advised to migrated to API Version 2.0 at the earliest. Check this announcement for more. We've updated the post to include the Version 2.0 compatible Function.