---
title: "Automatically Track Your Sales Cycle in Zoho CRM"
url: "https://www.joshasbury.com/posts/automatically-track-your-sales-cycle-in-zoho-crm/"
description: "How to automate sales cycle date tracking in Zoho CRM so teams can measure stage movement without relying on manual updates."
---


Table Of Contents

- [Introduction](#introduction)
- [You Can’t Rely on your CRM default dates](#you-cant-rely-on-your-crm-default-dates)
- [How To Automate Date Stamps in Zoho CRM](#how-to-automate-date-stamps-in-zoho-crm)
- [Create Custom Date and Sales Cycle Formula Fields](#create-custom-date-and-sales-cycle-formula-fields)
- [Set Defaults with Zoho CRM’s Workflow Rules](#set-defaults-with-zoho-crms-workflow-rules)
- [In Summary](#in-summary)

* * *

## Introduction

As I wrote in an [earlier post](/posts/date-stamp-everything-in-your-crm), it’s important to automate the tracking of key dates in your CRM. Relying on the platform’s defaults is prone to errors and will, likely, cause you to create all sorts of workarounds to rationalize the duration of your sales cycle.

This article serves as a relatively simple example of how to do this inside Zoho CRM. Hopefully, it’ll get you started and allow you to build more complex scenarios in the future. Running through every scenario in a blog post is a) hard, and b) unlikely to be read anyway, so please [reach out](/contact) to me if you’d like some guidance on your particular situation.

* * *

## You Can’t Rely on your CRM default dates

You are probably thinking that Salesforce, Zoho, and Hubspot track opportunity stage change dates. And you are right. However, relying on their logic can give you erratic results and will likely prove frustrating.

For example, let’s say a sales rep moves a deal from Introduction to Demonstration on 10/1/2023. Salesforce will log the opportunity stage change date, and it’s visible in the opportunity history report. on 10/15/2023, the rep accidentally moves the deal to Scoping and moves it back to Demonstration.

In this scenario, your opportunity history dates will look like this:

| Stage         | Opportunity History Date | Reality   |   |   |
|---------------|--------------------------|-----------|---|---|
| Demonstration | 10/1/2023                | 10/1/2023 |   |   |
| Scoping       | **10/15/2023**           | N/A       |   |   |
| Demonstration | **10/15/2023**           | 10/1/2023 |   |   |

You now have **two** erroneous dates in the system. Your Scoping date is wrong, **and** your Demonstration date is incorrect. When you go to run a report, you’ll see a deal that is in Demonstration with an erroneous Scoping date, and you’ll mistakenly erase 15 days from your Demonstration cycle.

While it’s possible to workaround limitations like this with some cleverly crafted reports, you won’t be able to rely on them because reports are too limited or there will always be a scenario for which you didn’t account.

* * *

## How To Automate Date Stamps in Zoho CRM

I will run through a couple of examples which will hopefully get you started.

For the purposes of this overview article, I’ll focus on Zoho CRM’s automation capabilities, but Salesforce and other systems have similar concepts.

Tip

Salesforce has a sometimes-excellent tool to automate processes called [Salesforce Flow Builder](https://help.salesforce.com/s/articleView?id=sf.flow.htm&language=en_US&type=5). If you’re not familiar with it, I recommend taking some tutorials or reading Salesforce Ben’s [**Complete Guide to Salesforce Flow**](https://www.salesforceben.com/introduction-salesforce-flow/).

* * *

## Create Custom Date and Sales Cycle Formula Fields

We will be using Zoho’s process automation tool – [Workflow Rules](https://www.zoho.com/crm/workflow-rules.html?src=sfa-hub). Before we start automating things, though, we need to create some new, custom fields so we can track our dates and sales cycles.

From within Zoho CRM’s Setup-&gt;Customization section, click on **Deals** and **Layouts**. Click on the layout you want to edit, and you will see the Zoho Module Layout page.

![Zoho Module Layout Page](/images/posts/20231001/zoho-module-layout-page_hu_b8d58011239132eb.webp "Zoho Module Layout Page")

Drag and Drop custom fields onto the module layout screen

I like to keep things tidy by having a section of the page dedicated to “Key Dates”, and I created a section to accommodate that.

Once done, drag a **Date field** (note Date/Time) onto the page, and name it something like “Entered Introduction.” Create similar fields for each of your sales cycle stages.

Now drag a **Formula field** onto your screen. We will use this to calculate the sales cycle of each stage.

Here is the `formula` I use to calculate the **Introduction Sales Cycle** length:

```javascript
If(IsEmpty(${Deals.Entered Introduction}),0,
  If(${Deals.Is Open?},
    Datecomp(Now(),${Deals.Entered Introduction})/1440,
    Datecomp(${Deals.Closing Date},${Deals.Entered Introduction})/1440
    )
  )
```

The formula does a few things. It checks to see if there is a value in the “Entered Introduction” field. If there *is* a value, then it won’t overwrite what’s already there – preserving our historical data and mitigating the issue I articulated above.

The formula, then, checks to see if the deal is open or closed. If it’s open, the sales cycle is ongoing and the number of days will be the difference between `today and the date the deal entered Introduction`. If the deal is closed, the sales cycle has finished, and the cycle is the difference between `the deal close date and the Entered Introduction date`.

Info

Note that I divide the results of the calculation by 1440 since Zoho’s Datecomp function returns a value in minutes, and we care about days here.

Now, simply create additional formula fields for all of your sales stages.

* * *

## Set Defaults with Zoho CRM’s Workflow Rules

Now, we just need to establish some defaults in Zoho CRM, and this is easily done with their snazzy **Workflow Rules**.

![Zoho Workflow Rules Page](/images/posts/20231001/zoho-crm-workflow-rules-page_hu_9e6bc16004e06416.webp "Zoho Workflow Rules Page")

Click **Create Rule**. Choose “Deals” as the Module, and name it something meaningful. Since this rule will establish defaults every time an opportunity is created, I am naming it **Deal Creation - Set Defaults**.

![Create a new Zoho CRM Workflow rule](/images/posts/20231001/zoho-crm-workflow-create-rule_hu_99c6899295b281bf.webp "Create a new Zoho CRM Workflow rule")

Tell Zoho CRM to execute this rule whenever a Deal is created.

![Execute the rule whenever a deal is created](/images/posts/20231001/execute-rule-whenever-a-deal-is-created_hu_63400dc3f7d42f4b.webp "Execute the rule whenever a deal is created")

Execute the rule whenever a deal is created

And we also want this rule to execute for all Deals.

![Execute for all deals](/images/posts/20231001/execute-for-all-deals_hu_1158910fe6f7541.webp "Execute the rule whenever a deal is created")

Finally, just tell the workflow what to do. In this case, we want to update fields when the deal is created.

![Choose Field Update when prompted](/images/posts/20231001/set-field-defaults-choice_hu_65f204159f2df484.webp "Choose Field Update when prompted")

Set the **Entered Introduction Date** to the date that the workflow executes. This will ensure the date is always set accurately.

![Set entered Introduction Date to the execution date.](/images/posts/20231001/set-entered-intro-date-to-today_hu_be7c786859be3620.webp "Set entered Introduction Date to the execution date.")

Save the workflow and create a new deal to ensure your “Sales Cycle Introduction” is calculating correctly. If it’s not, check your formula field. Since the deal is only in Introduction, your other cycle times should be zero.

![Deal page showing the calculated sales cycle.](/images/posts/20231001/sales-cycle-test-1_hu_53c920c2a5e53a83.webp "Deal page showing the calculated sales cycle.")

Now, we need to update cycle dates when the deal stage is **updated**. Let’s go back to the workflow page, and create a new rule called "

![Create a rule to run when deal stage is updated.](/images/posts/20231001/zoho-crm-workflow-create-rule-update-stage_hu_3df33bf3309e1317.webp "Create a rule to run when deal stage is updated.")

Tell the workflow rule to fire whenever the Deal’s **Stage** is updated.

![Tell the rule to run when the deal stage is updated.](/images/posts/20231001/deal-stage-update_hu_c222ad75851b25f7.webp "Tell the rule to run when the deal stage is updated.")

Add a condition for when the Stage is “Demonstration” and click “Done.”

![Add condition for when the stage is demonstration.](/images/posts/20231001/condition-demonstration-stage_hu_cd930e6d063904a9.webp "Add condition for when the stage is demonstration.")

Click “Instant Actions-&gt;Field Update” and choose “New Update.”

Name the field “Set Entered Demonstration Date to Today” and tell the automation to set the “Entered Demonstration Date” to the “Execution Date.”

![Set Entered Demonstration Date to today.](/images/posts/20231001/set-entered-demonstration-date-to-today_hu_c38216415f2aad2d.webp "Set Entered Demonstration Date to today.")

Click “Add Another Condition” and repeat the above process for your other sales stages.

![Add another condition.](/images/posts/20231001/add-another-condition_hu_ebdc750c87a08f23.webp "Add another condition.")

Save the workflow and go back to the deal you created earlier. Change your deal stage to “Demonstration” and check to ensure the sales cyle is updating correctly.

Change to other stages to ensure your other cycle dates are updating without impacting your Demonstration and Introduction sales cycles.

![Deal page showing the calculated sales cycle.](/images/posts/20231001/sales-cycle-test-2_hu_70c7f1f17a5aed78.webp "Deal page showing the calculated sales cycle.")

If everything looks correct, **you’re done!** If something is amiss, check the logic in your Formula fields or in the logic to update the Date fields.

* * *

## In Summary

This is a super-easy way to automatically track the most important dates of your sales cycle. There are a number of applications to this, and I’ll likely get into those in future posts. However, just taking these simple steps will ensure that you are able to quickly and easily understand your sales cycle.

* * *

Header photo by Melanie Deziel on Unsplash

