Function-27: Create Activities for records based on specific criteria.

Function-27: Create Activities for records based on specific criteria.



Welcome back everyone!

Last week, we learnt how to update information between two modules via lookup fields. This week, let's look at a custom function that creates activities automatically based on specific criteria.

Business scenario:

The Workflow Rules feature takes care of most of the automation requirements in Zoho CRM. Some of you might be wondering why is there a need to rely on custom functions, when workflows, blueprints or schedules helps meet most of your requirements. While this is largely true, there are a few requirements which could not be met out-of-the-box using workflows.

Let's take the Activity module for example. It comprises of Tasks, Events and Calls. However, only Tasks can be created upon meeting workflow conditions, whereas Calls and Events cannot be. Sure, you can make the task description as "Make a call to the customer at 5PM in 2 days.". But won't you prefer it to be a lot simpler and productive to automatically create and schedule a Call record in the Activities module? This week's custom function helps you do just that. It allows you to create or schedule Calls and Events for a record through workflows. Include the custom function in the workflow to create Calls and Events that could be triggered either instantly on creation or while editing the records.

Getting started with the custom function:

Scenario : Create follow-up activities for a prospect based on deal stage.

  1. Go to Setup > Automations > Actions > Custom Functions > Configure Custom Function > Write your own.
  2. Provide a name for the custom function. For example: “Deal Follow-up call”. Add a description(optional).
  3. Select the module as Deal. Add a description (optional).
  4. Click “Free flow scripting”.
  5. Copy the code given below.
  6. Click “Edit arguments”.
  7. Enter the name as “deaId” and select the value as “Deal Id”.
  8. Save the changes.

The script:

Code for Version 2.0 API:

For tasks :
dealDetails = zoho.crm.getRecordById("Deals",input.dealId.toLong());
taskSubject = "Créer BAL pour " + ifnull(dealDetails.get("Account_Name"),"").get("name");
mp=map();
mp.put("Subject",taskSubject);
mp.put("Due_Date",today.toDate());
mp.put("Owner",ifnull(dealDetails.get("Owner"),"").get("id"));
mp.put("What_Id",input.dealId);
mp.put("$se_module","Deals");
mp.put("Stage","Non commencé");
createResp = zoho.crm.create("Tasks",mp);
info mp;
info createResp;

For events :
DealDetails = zoho.crm.getRecordById("Deals", input.dealId);
//info DealDetails;
startdate = ifnull(DealDetails.get("Contract_Start_Date"),"").toString("yyyy-MM-dd");
enddate = ifnull(DealDetails.get("Contract_End_Date"),"").toString("yyyy-MM-dd");
eventmap =map();
eventmap.put("Event_Title",ifnull(DealDetails.get("Deal_Name"),""));
eventmap.put("Who_Id",ifnull(DealDetails.get("Contact_Name"),"").get("id"));
eventmap.put("Owner",ifnull(DealDetails.get("Owner"),"").get("id"));
eventmap.put("What_Id",input.dealId);
eventmap.put("$se_module","Deals");
eventmap.put("Start_DateTime",startdate+"T09:00:00+05:30");
eventmap.put("End_DateTime",enddate+"T10:00:00+05:30");
create1 = zoho.crm.create("Events", eventmap);
info eventmap;
info create1;

For calls :
dealDetails = zoho.crm.getRecordById("Deals", input.dealId);
info ifnull(dealDetails.get("Modified_Time"),"");
modifiedtime = ifnull(dealDetails.get("Modified_Time"),"").toTime("yyyy-MM-dd'T'HH:mm:ss").addDay(1);
mp = map();
mp.put("Subject", "Cold Call");
mp.put("Owner", ifnull(dealDetails.get("Owner"),"").get("id"));
mp.put("Call_Type", "Outbound");
mp.put("se_module", "Deals");
mp.put("What_Id", input.dealId);
mp.put("Call_Start_Time", modifiedtime.toString("yyyy-MM-dd'T'HH:mm:ss+05:30"));
mp.put("which_call", "ScheduleCall");
create = zoho.crm.create("Calls", mp);
info mp;
info create;

Code for Version 1.0 API:

For Tasks:

dealDetails = zoho.crm.getRecordById("Potentials",input.dealId);
mp=map();
mp.put("Subject","No VM Call");
mp.put("Due Date",zoho.currentdate);
mp.put("SMOWNERID",ifnull(dealDetails.get("SMOWNERID"),""));
mp.put("State",ifnull(dealDetails.get("State"),""));
mp.put("Mobile",ifnull(dealDetails.get("Mobile"),""));
mp.put("SEID",input.dealId);
mp.put("SEMODULE","Potentials");
createResp = zoho.crm.create("Tasks",mp);
info createResp;

For Events:

dealDetails = zoho.crm.getRecordById("Potentials", input.dealId);
name = ifnull(dealDetails.get("First Name"),"") + " " + ifnull(dealDetails.get("Last Name"),"") ;
start = ifnull(dealDetails.get("Event Start date"),"").toTime().toString("yyyy-MM-dd 09:00:00");
end = ifnull(dealDetails.get("Event End date"),"").toTime().toString("yyyy-MM-dd 10:00:00");
eventMap = map();
eventMap.put("Subject", name);
eventMap.put("SMOWNERID", ifnull(dealDetails.get("SMOWNERID"),""));
eventMap.put("Start DateTime", start);
eventMap.put("End DateTime", end);
eventMap.put("SEID", input.dealId);
eventMap.put("SEMODULE", "Potentials");
createEvent = zoho.crm.create("Events", eventMap);
info createEvent;

For Calls:

dealDetails = zoho.crm.getRecordById("Potentials", input.dealId);
name = ifnull(dealDetails.get("First Name"),"") + " " + ifnull(dealDetails.get("Last Name"),"") + " - Call ";
created = ifnull(dealDetails.get("Created Time"),"");
time = (created.toDate().addDay(3)).toString("yyyy-MM-dd 10:00:00");
mp = map();
mp.put("Subject", name);
mp.put("Call Type", "Outbound");
mp.put("SEMODULE", "Potentials");
mp.put("SMOWNERID", ifnull(dealDetails.get("SMOWNERID"),""));
mp.put("SEID", input.dealId);
mp.put("Call Start Time", time);
mp.put("whichCall", "ScheduleCall");
create = zoho.crm.create("Calls", mp);
info create;

Adding to a workflow:

  1. Go to Setup > Automation > Workflow Rules.
  2. Click '+ Create Rule'.
  3. Select the Module for which this custom function has to be added and give it a name and a description(optional).
  4. Select "On a record action".
  5. Select "Create or Edit" and click on Next.
  6. Select the Condition as "All Records" and click Next.
  7. Choose "Custom Function" from Instant Actions.
  8. Select the option "Custom Function" (Created by users from your organization).
  9. Select the custom function you just added and click on Configure.
  10. Click on "Save and Associate".
  11. Save the workflow.

Note:

  • You can use the code on any module. Change the name of the module from 'Deals' to whichever module you prefer and update the code accordingly.
  • To schedule the action to be performed after a specific period of time from which the condition is met, select "Scheduled Actions" instead of "Instant Actions".

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.

    Access your files securely from anywhere











                            Zoho Developer Community





                                                  • Desk Community Learning Series


                                                  • Digest


                                                  • Functions


                                                  • Meetups


                                                  • Kbase


                                                  • Resources


                                                  • Glossary


                                                  • Desk Marketplace


                                                  • MVP Corner


                                                  • Word of the Day


                                                  • Ask the Experts



                                                            • Sticky Posts

                                                            • Zoho CRM Functions 53: Automatically name your Deals during lead conversion.

                                                              Welcome back everyone! Last week's function was about automatically updating the recent Event date in the Accounts module. This week, it's going to be about automatically giving a custom Deal name whenever a lead is converted. Business scenario Deals are the most important records in CRM. After successful prospecting, the sales cycle is followed by deal creation, follow-up, and its subsequent closure. Being a critical function of your sales cycle, it's good to follow certain best practices. One such
                                                            • User Tips: Auto-Create Opportunity/Deal upon Quote Save (PART 1)

                                                              Problem: We use quotes which convert to sales orders but Users / Sales Reps do not create opportunities / deals and go straight to creating a quote. This leads to poor reporting. Implementing this solution improves reporting and makes it easier for users.
                                                            • Custom Function : Automatically send the Quote to the related contact

                                                              Scenario: Automatically send the Quote to the related contact.  We create Quotes for customers regularly and when we want to send the quote to the customer, we have to send it manually. We can automate this, using Custom Functions. Based on a criteria, you can trigger a workflow rule and the custom function associated to the rule and automatically send the quote to customer through an email. Please note that the quote will be sent as an inline email content and not as a PDF attachment. Please follow
                                                            • Function #50: Schedule Calls to records

                                                              Welcome back everyone! Last week's function was about changing ownership of multiple records concurrently. This week, it's going to be about scheduling calls for records in various modules. Business scenario Calls are an integral part of most sales routines.. Sales, Management, Support, all the branches of the business structure would work in cohesion only through calls. You could say they are akin to engine oil, which is required by the engine to make all of it's components function perfectly. CRM
                                                            • Function #37: Create a Purchase Order from a Quote

                                                              Welcome back everyone! Last week, we learnt how to calculate the total number of activities for a lead and further take note of the activity count for particular dates. For instance, from the period of Demo to Negotiation. This week, let's look at a function that lets you create a Purchase Order instantly from a Quote. Business scenario: In any form of business, one of the most important things to do is to document the transactions. Naturally, negotiation, signing an agreement, placing an order,


                                                            Manage your brands on social media



                                                                  Zoho TeamInbox Resources



                                                                      Zoho CRM Plus Resources

                                                                        Zoho Books Resources


                                                                          Zoho Subscriptions Resources

                                                                            Zoho Projects Resources


                                                                              Zoho Sprints Resources


                                                                                Qntrl Resources


                                                                                  Zoho Creator Resources



                                                                                      Zoho CRM Resources

                                                                                      • CRM Community Learning Series

                                                                                        CRM Community Learning Series


                                                                                      • Kaizen

                                                                                        Kaizen

                                                                                      • Functions

                                                                                        Functions

                                                                                      • Meetups

                                                                                        Meetups

                                                                                      • Kbase

                                                                                        Kbase

                                                                                      • Resources

                                                                                        Resources

                                                                                      • Digest

                                                                                        Digest

                                                                                      • CRM Marketplace

                                                                                        CRM Marketplace

                                                                                      • MVP Corner

                                                                                        MVP Corner







                                                                                          Design. Discuss. Deliver.

                                                                                          Create visually engaging stories with Zoho Show.

                                                                                          Get Started Now


                                                                                            Zoho Show Resources


                                                                                              Zoho Writer Writer

                                                                                              Get Started. Write Away!

                                                                                              Writer is a powerful online word processor, designed for collaborative work.

                                                                                                Zoho CRM コンテンツ




                                                                                                  Nederlandse Hulpbronnen


                                                                                                      ご検討中の方




                                                                                                            • Recent Topics

                                                                                                            • Inactive User Auto Response

                                                                                                              We use Zoho One, and we have a couple employees that are no longer with us, but people are still attempting to email them. I'd like an autoresponder to let them no the person is no longer here, and how they can reach us going forward. I saw a similar
                                                                                                            • Weekly Tips : Customize your Compose for a smoother workflow

                                                                                                              You are someone who sends a lot of emails, but half the sections in the composer just get in your way — like fields you never use or sections that clutter the space. You find yourself always hunting for the same few formatting tools, and the layout just
                                                                                                            • Custom Bulk Select Button

                                                                                                              Zoho CRM offers the ability to select multiple records and invoke a Custom Button This functionality is missing from Recruit Currently we can only add buttons in the detail page and list But we cannot select Multiple Records and invoke a function with
                                                                                                            • Need support in setting up the company email and few other setups

                                                                                                              Need support in setting up the company email and few other setups
                                                                                                            • Power of Automation :: Smart Ticket Management Between Zoho Desk and Projects

                                                                                                              Hello Everyone, A custom function is a software code that can be used to automate a process and this allows you to automate a notification, call a webhook, or perform logic immediately after a workflow rule is triggered. This feature helps to automate
                                                                                                            • Need to set workflow or journey wait time (time delay) in minutes, not hours

                                                                                                              Minimum wait time for both Campaigns workflows and Marketing Automation journeys is one hour. I need one or the other to be set to several minutes (fraction of the hour). I tried to solve this by entering a fraction but the wait time data type is an integer
                                                                                                            • Remote Server is misconfigured

                                                                                                              Dear Team, I am unable to use email id as remote server is misconfigured. It would be really great if you could help on this and get this resolved. Thanks & Regard Rohit Gupta
                                                                                                            • BUG - Google Business Buttons - Add a button to GBP Post

                                                                                                              I am experiencing an issue with the "Add a button" feature when creating posts for my Google Business Profile (GBP) through Zoho Social. When I schedule or publish a GBP post and include a call-to-action button with a specific URL, the post itself publishes
                                                                                                            • This mobile number has been marked spam.

                                                                                                              Dear zoho team, I am very happy to use zoho,because it india 🇮🇳 own app, but when we login into zoho account we facing some issue, please solve below issue ASAP. Add your mobile number As an added security measure for Accounts, you need to verify and
                                                                                                            • Do you have software like Windows software?

                                                                                                              We want swadeshi software
                                                                                                            • Support for Custom Fonts in Zoho Recruit Career Site and Candidate Portal

                                                                                                              Dear Zoho Recruit Team, I hope you're doing well. We would like to request the ability to use custom fonts in the Zoho Recruit Career Site and Candidate Portal. Currently only the default fonts (Roboto, Lato, and Montserrat) are available. While these
                                                                                                            • Trying to export a report to Excel via a deluge script

                                                                                                              I have this code from other posts but it gives me an error of improper statement, due to missing ; at end of line or incomplete expression. Tried lots of variations to no avail. openUrl(https://creatorapp.zoho.com/<username>/<app name>/XLSX/#Report:<reportname>,"same
                                                                                                            • Need help to create a attach file api

                                                                                                              https://www.zoho.com/crm/developer/docs/api/v8/upload-attachment.html Please help me to create it... It's not working for while. Do you have some example?
                                                                                                            • Export view via deluge.

                                                                                                              Hi, Is it possible to export a view (as a spreadsheet) via deluge? I would like to be able to export a view as a spreadsheet when a user clicks a button. Thanks     
                                                                                                            • Zoho Inventory's latest shipping integration updates at a glance.

                                                                                                              Hello Users, We would like to share some important news about our latest improvements in the Shipping integration capabilities of Zoho Inventory that we achieved in 2024 with some of our major integration partners in key editions across APAC, North America,
                                                                                                            • IP Address Blocked

                                                                                                              Hi Team. Hope you're doing good. I'm unable to access Zoho with my IP address. I have to use VPN to access it. IP: 39.44.12.153 This is happening with all the Zoho products, the admin console and the mail.
                                                                                                            • Outdated state in mexico

                                                                                                              Hello Zoho team, the drop down to add the state for customers, when they introduce their state in mexico has a city named “Distrito Federal” that name changed many years ago to “ciudad de mexico”. could you please update this so my clients can find the
                                                                                                            • Possible to generate/download Quote PDF using REST API?

                                                                                                              See title. Is there any way after a quote has been created to export to a PDF using a specified template and then download it? Seems like something that should be doable. Is this not supported in the API v2.0?
                                                                                                            • Creating an invoice to be paid in two installments?

                                                                                                              Hi there, I own a small Photographic Services business and have not been able to find a way to fit my billing system into Zoho, or any other Accounting software. The way my payments work is: 1. Customer pays 50% of total price of service to secure their
                                                                                                            • Bug in allowing the user to buy out of stock items

                                                                                                              Hi i want to allow the user to buy out of stock items, according to the commerce documentation if i disable Restrict "Out of stock" purchases it will, but it doesnt work, so i want to know if it had any relation with zoho inventory, and if theres any
                                                                                                            • Replace Lookup fields ID value with their actual name and adding inormation from subforms

                                                                                                              Hi everyone,  I wanted to see if someone smarter than me has managed to find any solutions to two problems we have. I will explain both below.  To start we are syncing data from Zoho CRM to Zoho Analytics and I will use the Sales Order module when giving
                                                                                                            • Can a Zoho Sites page be embedded into another website (outside Zoho)

                                                                                                              Hi All, We have a request from a client - they'd like to take one of our information pages created in Zoho Sites and embed it into their own website? I was told through an email with Zoho that this was possible >>Thank you for your patience regarding
                                                                                                            • Bug in allowing the user to buy out of stock items

                                                                                                              Hi i want to allow the user to buy out of stock items, according to the commerce documentation if i disable Restrict "Out of stock" purchases it will, but it doesnt work, so i want to know if it had any relation with zoho inventory, and if theres any
                                                                                                            • Transition Criteria Appearing on Blueprint Transitions

                                                                                                              On Monday, Sept. 8th, the Transition criteria started appearing on our Blueprints when users hover over a Transition button. See image. We contacted Zoho support because it's confusing our users (there's really no reason for them to see it), but we haven't
                                                                                                            • Zoho CRM Sales Targets for Individual Salespeople

                                                                                                              Our organistion has salespeople that are allocated to different regions and have different annual sales targets as a result. I am building an CRM analytics dashboard for the sales team, which will display a target meter for the logged in salesperson.
                                                                                                            • Transfer all Related Data to new Account Owner

                                                                                                              Currently when I change the account Owner I only see the option to change only the open deals But I want the new account owner to take over all the related modules and all the deal stages Is it not possible right now? Am I missing something? Do I really
                                                                                                            • Can i connect 2 instagram accounts to 1 brand?

                                                                                                              Can i connect 2 instagram accounts to 1 brand? Or Do i need to create 2 brands for that? also under what subscription package will this apply?
                                                                                                            • Add an external email to the allowed list

                                                                                                              I need to allow an external email to raise a ticket on Manage Engine ServiceDesk Plus. The external email is a outside of our domain and is not a domain user. The email address that needs to be allowed to raise a ticket request is noreply@formsatack.com.
                                                                                                            • How to Calculate MTTR (Mean Time to Resolve)

                                                                                                              We want to calculate MTTR (Mean Time to Resolve) in our Zoho Analytics report under Tickets. Currently, we are using the following fields: Ticket ID Ticket Created Time Ticket Closed Time Ticket On Hold Time We are planning to calculate MTTR (in days)
                                                                                                            • How to export project tasks, including the comments

                                                                                                              Hi, how can I export the project tasks, whereby I can also see the comments associated to a specific task? The use-case is that often we use comments to discuss or update a task related ideas. I would like to export the tasks, where we can also see the
                                                                                                            • Unable to see Zoho contacts in Zoho app on ios

                                                                                                              Hi Support Team, I am a new user, I have created my account and installed zohomail app on iOS 16 which works. I was also able to import my Gmail contacts into Zoho Contacts, which I can see. The problem is that I can’t see these imported cobalts in Zohomail
                                                                                                            • Does Zoho Sheet Supports https://n8n.io ?

                                                                                                              Does Zoho Sheet Supports https://n8n.io ? If not, can we take this as an idea and deploy in future please? Thanks
                                                                                                            • Bigin Android app update: User management

                                                                                                              Hello everyone! In the most recent Bigin Android app update, we have brought in support for the 'Users and Controls' section. You can now manage the users in your organization within the mobile app. There are three tabs in the 'Users and Controls' section:
                                                                                                            • Share records with your customers and let them track their statuses in real time.

                                                                                                              Greetings, I hope everyone is doing well! We're excited to introduce the external sharing feature for pipeline records. This new enhancement enables you to share pipeline records with your customers via a shareable link and thereby track the status of
                                                                                                            • Live webinar: Discover Zoho Show: A complete walkthrough

                                                                                                              Hello everyone, We’re excited to invite you to our upcoming live webinar, Discover Zoho Show: A Complete Walkthrough. Whether you’re just getting started with Show or eager to explore advanced capabilities, this session will show you useful tips and features
                                                                                                            • Deal Stage component/widget/whatever it is... event

                                                                                                              Deal Stages I am trying to access the event and value of this component. I can do it by changing the Stage field but users can also change a Deal Stage via this component and I need to be able to capture both values. Clicking on 'Verbal' for instance,
                                                                                                            • Create advanced slideshows with hybrid reports using Zoho Projects Plus

                                                                                                              Are your quarterly meetings coming up? It’s time to pull up metrics, generate reports, and juggle between slides yet again. While this may be easier for smaller projects, large organizations that run multiple projects may experience the pressure when
                                                                                                            • Add an option to disable ZIA suggestions

                                                                                                              Currently, ZIA in Zoho Inventory automatically provides suggestions, such as sending order confirmation emails. However, there is no way to disable this feature. In our case, orders are automatically created by customers, and we’ve built a custom workflow
                                                                                                            • Formula field with IF statement based on picklist field and string output to copy/paste in multi-line field via function

                                                                                                              Hello there, I am working on a formula field based on a 3-item picklist field (i.e. *empty value*, 'Progress payment', 'Letter of credit'). Depending on the picked item, the formula field shall give a specific multi-line string (say 'XXX' in case of 'Progress
                                                                                                            • CRM x WorkDrive: File storage for new CRM signups is now powered by WorkDrive

                                                                                                              Availability Editions: All DCs: All Release plan: Released for new signups in all DCs. It will be enabled for existing users in a phased manner in the upcoming months. Help documentation: Documents in Zoho CRM Manage folders in Documents tab Manage files
                                                                                                            • Next Page