Power of Automation :: Automatically send an email to the Deal owner based on Project completion percentage

Power of Automation :: Automatically send an email to the Deal owner based on Project completion percentage

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 complex tasks and calculations. 


Considering the following customer use case: 


Some customers want to automatically create a project when a deal is closed in Zoho CRM.


We've been given a particular request to establish an automation that sends an automated email to the Owner of the deal associated with the created Project at every 25% completion of the project.


The following code can fulfil this requirement. Create a connection with the scopes "ZohoProjects.clients.ALL, ZohoCRM.modules.ALL, ZohoProjects.projects.READ" to Replace ‘connectionprojects’ with the connection name. Click this link below to learn how to create the connection. Attached a screenshot of the Arguments.


endPointV3 = "https://projects.zoho.com/api/v3/portal/";

// scopes: ZohoProjects.clients.ALL, ZohoCRM.modules.ALL, ZohoProjects.projects.READ

projectsAPIEndPoint = "https://projectsapi.zoho.com";

module = "Deals";

projectDetail = invokeurl

[

url :projectsAPIEndPoint + "/api/v3/portal/" + portalId + "/projects/" + projectId + "/crm/" + module.toLowerCase()

type :GET

connection:"connectionprojects"

];

if(projectDetail.get("deals").size() > 0)

{

dealId = projectDetail.get("deals").get(0).get("id");

response = zoho.crm.getRecordById("Deals",dealId);

toMailId = response.get("Owner").get("email");

projectDetail = invokeurl

[

url :projectsAPIEndPoint + "/restapi/portal/" + portalId + "/projects/" + projectId + "/"

type :GET

connection:"connectionprojects"

];

projectPercent = getAllProjectResponse.get("projects").get(0).get("project_percent").toNumber();

percent = projectPercent % 25;

if(percent == 0)

{

sendmail

[

from :zoho.loginuserid

to :toMailId

subject :"Project is reached " + projectPercent +"% "

message :"message"

]

}

}

return "success";


Creating custom functions in Zoho Projects is straightforward and well-documented. Zoho provides a range of built-in functions that you can use as a starting point, and you can also easily define your own functions using Zoho's scripting language, Deluge. Give it a try and see how it can save your time and boost your productivity!


      Zoho Campaigns Resources


        • Desk Community Learning Series


        • Digest


        • Functions


        • Meetups


        • Kbase


        • Resources


        • Glossary


        • Desk Marketplace


        • MVP Corner


        • Word of the Day


        • Ask the Experts


          • Sticky Posts

          • Customize User Invites with Invitation Templates

            Invitation Templates help streamline the invitation process by allowing users to create customized email formats instead of sending a one-size-fits-all email. Different invitation templates can be created for portal users and client users to align with
          • Zoho Projects - Q3 Updates | 2025

            Hello Users, The final quarter of the year 2025 has begun, and we at Zoho Projects are all set with a plan. New targets to achieve and new milestones to reach, influenced by the lasting imprint of the past quarter. 2025's Q3 saw some new features and
          • Introducing Version-3 APIs - Explore New APIs & Enhancements

            Happy to announce the release of Version 3 (V3) APIs with an easy to use interface, new APIs, and more examples to help you understand and access the APIs better. V3 APIs can be accessed through our new link, where you can explore our complete documentation,
          • Schedule Exports for Regular Project Updates

            Tracking project data often means exporting data at regular intervals. Instead of manually exporting data every time, users can schedule exports for Phases, Tasks, and Tasks in Zoho Projects. These exports can be set to run once, daily, weekly, or monthly
          • Set Custom Business Calendars and Holidays for Global Teams

            Managing a project across diverse teams means accounting for more than just tasks and deadlines; it means acknowledging how and when each team actually works. Users might follow different working days or observe region-specific holidays that cannot be

          Zoho CRM Plus Resources

            Zoho Books Resources


              Zoho Subscriptions Resources

                Zoho Projects Resources


                  Zoho Sprints Resources


                    Zoho Orchestly Resources


                      Zoho Creator Resources


                        Zoho WorkDrive Resources



                          Zoho CRM Resources

                          • CRM Community Learning Series

                            CRM Community Learning Series


                          • Tips

                            Tips

                          • Functions

                            Functions

                          • Meetups

                            Meetups

                          • Kbase

                            Kbase

                          • Resources

                            Resources

                          • Digest

                            Digest

                          • CRM Marketplace

                            CRM Marketplace

                          • MVP Corner

                            MVP Corner




                            Zoho Writer Writer

                            Get Started. Write Away!

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

                              Zoho CRM コンテンツ






                                ご検討中の方

                                  • Recent Topics

                                  • Email address for forwarding is not saving and there's no confirmation ema

                                    Steps to reproduce: 1. Enter my forward email in the email forward section of the account 2. Click save 3. See a notification stating saved successfully 4. Refresh the page, no forward email is saved 5. No email confirmation received at the forwarding
                                  • This domain is not allowed to add in Zoho. Please contact support-as@zohocorp.com for further details

                                    This is the error i keep getting when trying to use my Zoho Domain Mail. This domain is not allowed to add in Zoho. Please contact support-as@zohocorp.com for further details Find attached. I hope this can be resolved very quickly so i can go on and make
                                  • Auto CC - Moving Departments

                                    We have Auto CC e-mail replies to your support mailbox enabled. We have two departments: Helpdesk (helpdesk@domain.com) Delivery (delivery@domain.com) If we create a Helpdesk ticket, and reply, replies are CC'd to helpdesk@domain.com (OK) We then move
                                  • I have error AS101 when I try to add paypal@mydomain.com to Zoho

                                    Please help me with this. I tried to call the help line 4 times but don't get any response.
                                  • unable to send message reason 554 5.1.8 Email outgoing blocked

                                    unable to send message reason 554 5.1.8 Email outgoing blocked
                                  • Mailk got blocked / Inquiry About Email Sending Limits and Upgrade Options

                                    Dear Zoho Support Team, My name is Kamr Elsayed I created this account to use for applying for vocational training in Germany. As part of this process, I send multiple emails to different companies. However, after sending only 8 emails today, I received
                                  • SMTP email sending problem

                                    Hello, I've sent emails before, but you haven't responded. Please respond. My work is being disrupted. I can't send emails via SMTP. Initially, there were no problems, but now I'm constantly receiving 550 bounce errors. I can't use the service I paid
                                  • unblock my zoho mail account. outlines@zoho.com

                                    please unblock my zoho mail account, outlines@zoho.com
                                  • Unable to see free plan option

                                    Hello Zoho Support Team, I hope you are doing well. I am trying to sign up for Zoho Mail, but I am unable to see the option for the free plan. Could you please guide me on how I can access or activate the free plan? Thank you for your assistance.
                                  • Outgoing blocked: Unusual activity detected.

                                    I just made payment for my Zohomail Today and have been debited so i will like to be Unblocked because this is what it says (Outgoing blocked: Unusual activity detected) Thank you i await your swift responses
                                  • How to remove some users in zoho accounts

                                    How to remove some users in Zoho accounts.
                                  • Forwarder

                                    Hi, I tried to add a forwarder from which emails are sent to my main zoho account email . However, it asks me for a code that should be received at the forwarder email, which is still not activated to send to my zoho emial account. So how can I get the
                                  • Forwarder

                                    Hi, I tried to add a forwarder from which emails are sent to my main zoho account email . However, it asks me for a code that should be received at the forwarder email, which is still not activated to send to my zoho emial account. So how can I get the
                                  • DKIM cannot be enabled for the domain as no verified default selector present

                                    Hi Support Team, For Domain DKIM record trying to enable status. but showing error "DKIM cannot be enabled for the domain as no verified default selector present" So, please resolve the issue. Thank you.
                                  • I can't log in to my account on Thunderbird

                                    I've just had to rebuild my PC (calamitous mess from Microsoft with Win10/Win 11 'upgrade' - they confirmed I had to start with a new build). I have used Zoho mail for years via Mozilla Thunderbird, but now I've had to download the latest version of TBird,
                                  • Sorten the domain of zoho mail ids

                                    I recently created zoho mail id and am quite excited with the features. But one issue ig nobody wanna type this big zohoaccounts.com I mean silly bold Suggestion zmail.com (sound gmail) (attraction) or some genz words looks cool
                                  • Weekly Tips : Customize your Zoho Mail Notifications

                                    In a professional context, email communication remains one of the most crucial channels for staying connected and managing workflows. Keeping track of your emails, task updates, or important announcements can be overwhelming—especially if you are juggling
                                  • How to move emails to Shared Mailbox?

                                    Hello, I created a Shred Mailbox instead of using a distribution group. But I cannot move previous emails to certain shared mailbox. Is it possible move some emails from inbox to shared mailbox?
                                  • Email task creator when task is updated/marked complete

                                    I am looking for a way to notify the creator of a task in zoho todo when - Task is updated Task is closed Comments entered 1 and 2 are critical, and I cannot find a zoho flow to do this. There is no way that as a manager I will know when someone has completed
                                  • The attendees will now be redirected to the landing webpage when they exit the webinar, set by the organizer.

                                    Hello All, In the latest version of the Zoho Meeting iOS mobile app (v1.3.16), we have brought in the below enhancements:   Post Webinar Re-direction Revamped exit UI for Webinar Post Webinar Re-direction:  The attendees will now be redirected to the
                                  • Download API file contents from browser

                                    Hi Team - is there something being planned to be able to trigger file downloads from the browser via a deluge script? i.e. retrieve a file via API, trigger the file download directly from the browser. Or... using the convertToPdf function (https://www.zoho.com/deluge/help/functions/file/convert-to-pdf.html)
                                  • March 15, 2023: Zoho Docs is discontinued

                                    As of today (March 15, 2023) Zoho Docs is discontinued for all users. We would like to thank our customers for trusting us for so many years! Going forward, we're confident you'll enjoy using Zoho WorkDrive for all your advanced file management and collaboration
                                  • When using "locations" in zoho books, can you keep the two locations totally separate from each other?

                                    I am looking to add a location but I don't want to intermingle the banking or other accounts. I want that to be like two separate independent branches that use different banking accounts, accounts payable, and accounts receivable. The people who are in
                                  • Adding a Channel to SalesIQ

                                    I have a client that currently uses Zoho CRM and Zoho Desk. They would like a live chat to place on their website that has a mobile app and chat bots (something like SalesIQ). However, they would also like to have all this work over SMS as well. Does the SalesIQ API allow this? Can I add visitors without them being a visitor on a website? Thanks! Bryan Redeagle
                                  • DataPrep Bigquery Connection failed

                                    Hello everybody, I want to create a connnection beetwen Bigquery and Dataprep but when I try to connect my project I got this error Loading tables has failed. Table list fetched from the data source expired.
                                  • How Do I Refund a Customer Directly to Their Credit Card?

                                    Hi, I use books to auto-charge my customers credit card. But when I create a credit note there doesn't seem to be a way to directly refund the amount back to their credit card. Is the only way to refund a credit note by doing it "offline" - or manually-
                                  • Zoho Flow Needs to Embrace AI Agent Protocols to Stay Competitive

                                    Zoho Flow has long been a reliable platform for automating workflows and integrating various applications. However, in the rapidly evolving landscape of AI-driven automation, it risks falling behind competitors like n8n, which are pioneering advancements
                                  • Important Features Missing

                                    Hey all I love linkthread, but i am missing some important features. I want to be able to include my Google Tag Manager. I have all the important stuff in my GTM Container: Facebook Pixel, LinkIn Pixel, Zoho Pagesense and so on. So i am able to do retargeting
                                  • Zoho SignForms: Prefill parameters with spaces render as “+” in the document (even when using %20)

                                    Hello Zoho Sign team, we are using SignForms with prefill parameters passed via URL. Spaces in parameter values are being rendered as “+” in the finalized document—even when we URL-encode spaces as %20. This is critical for us because we prefill addresses
                                  • Currency selector (based on variable) usage in comparsion

                                    Hi, I've developed a currency selector based on the following topic, and it's working well in pivot tables and charts: https://help.zoho.com/portal/en/community/topic/how-can-i-allow-my-users-to-choose-a-currency-for-the-dashboard I also have a comparison
                                  • Customize Column in Projects - Default View for Template?

                                    Is there a way to have the columns you'd like to see added to a template? I want my customized columns to show up every single time I create a project from that template. It appears I can customize them in the template but when I create the project they do not transfer over.  Template: See below how the columns in order are : Task, Owner, Status, Assigned, Website URL, Blog H1..etc. When I create a project from that same template it comes out as: Task, Owner, Status, Tags, Start Date, End Date, etc
                                  • Ask the Experts 24: Analytics, data administration, and mobile experience with Zoho Desk

                                    Hello Everyone! Welcome back to the Ask the Experts(ATE) series! We were so focused on our Autumn 2025 release that we didn't host an ATE session last month. In this month's ATE, we'd like to expand our areas for discussion: we'd like to listen to your
                                  • Multi-Page Forms in Zoho Creator!

                                    Let’s make long applications easier to handle by dividing them into pages, adding a progress bar, and guiding users step by step through complex data entry. This would be a total game-changer for the user experience and could significantly boost completion
                                  • Unable to Receive Emails on Zoho Mail After Office 365 Coexistence Setup – Error: 553 Relaying Disallowed

                                    Hello, My domain name is bigniter.com, and I’ve been using Zoho Mail as my email service provider without any issues. Recently, I followed the steps outlined in the Zoho documentation to enable Coexistence with Office 365: 🔗 https://www.zoho.com/mail/help/adminconsole/coexistence-with-office365.html#multi-server
                                  • Email login error

                                    Login successfully but email page error
                                  • Shared Mailboxes Disappeared

                                    Zoho Mail users in our company haven't been able to see their Shared Mailboxes for the past few hours. I've checked with App and Web Access, but they can't access them. When I send emails to their addresses, I get no error messages. They're still visible
                                  • 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
                                  • why cant i access my email account. it keeps asking me for reverifiying my account by entering my password.

                                    I cant access my account. it keeps asking me for reverifcaton by entering my password. once its entered it asks for it over and over.
                                  • Free webinar alert on October 16 - Less Complexity, More Security: Workplace + Directory

                                    Hello Zoho Workplace Community! Security and productivity shouldn't be at odds—and with Zoho, they're not. Discover how Zoho Workplace + Directory delivers seamless collaboration with enterprise-grade security, all in one integrated ecosystem. Join our
                                  • Email Recall Feature In Zoho Mail Which Should Also Work For Outside Organisation Members

                                    Add a feature to recall or undo sending an email within a configurable short time window (e.g., 30 seconds to 2 minutes) after hitting send, similar to Gmail’s undo send. Currently the sent email can not be recall If the recipient is not from within your
                                  • Next Page