Skip to content

Every 2 hours

Get Slack alerts for deals that are stalling in Zoho CRM

Each morning Slack lists open deals that have gone quiet, with a suggested next step for each.

Runs
Every 2 hours
Apps
Slack, Zoho CRM
AI
Yes, uses the built-in AI allowance
Access
ZohoCRM.modules.deals.READ; chat:write

Send this to your assistant

Create a ClickRuntime automation: every weekday at 9, find open Zoho CRM deals that haven't moved stage or had activity for 14 days, and post them in #sales with a suggested next step for each.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A sales manager reviews the pipeline in a weekly meeting, but by then a deal that went quiet two weeks ago has often gone cold. Reps are busy with active conversations and don't notice the ones that stopped replying.

Every morning #sales gets a short list of deals that have stalled, how long they've been quiet, and one suggested next step for each. Reps act on them the same day instead of finding out at the weekly review.

What you get out of it

  • Catch deals before they go cold

    A daily nudge surfaces quiet deals while they can still be revived.

  • A next step, not just a warning

    Each alert suggests something specific to do, which makes it easier to act.

  • Shared view of risk

    The whole sales team sees which deals need help, not only the owner.

  • Better pipeline meetings

    Weekly reviews start from deals already followed up rather than surprises.

How it works

What happens, step by step

  1. Every weekday morning, ClickRuntime queries Zoho CRM for open deals.

  2. It works out how long each one has been without a stage change or activity.

  3. AI suggests one next step for each stalled deal based on its stage and last notes.

  4. The list is posted in #sales, and deals already flagged recently are left out.

Before it runs live

  • Connect Slack, then invite the app to the channel (type /invite @ClickRuntime there)
  • Connect Zoho CRM

What you get

RunsEvery 2 hours
Get Slack alerts for deals that are stalling in Zoho CRMtoday, 9:00Succeeded
Slack · #salesAcme warehouse rollout, Proposal, $18k, quiet 16 days: send the Northwind case study and suggest a 15-minute call.

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Run it at a different time, more or less often, or only on weekdays
  • Change what the AI looks for, or how it writes the result
  • Add another app, for example also send it to Google Sheets
  • Combine it with other Slack and Zoho CRM steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
slack_alerts_for_stalling_zoho_crm_deals.pyexample
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, http, ai, state, notify

ZOHO = "https://www.zohoapis.com/crm/v6"

@on_trigger
def run(event):
    zh = {"Authorization": f"Zoho-oauthtoken {credentials.connection('zoho', 'work')}"}
    cutoff = (date.today() - timedelta(days=14)).isoformat()
    query = ("select Deal_Name, Stage, Amount, Last_Activity_Time from Deals "
             f"where Stage not in ('Closed Won', 'Closed Lost') and Last_Activity_Time < '{cutoff}T00:00:00+00:00' limit 50")
    deals = http.post(f"{ZOHO}/coql", headers=zh, json={"select_query": query}).json().get("data", [])
    flagged = state.get("flagged") or {}
    recent = (date.today() - timedelta(days=3)).isoformat()
    deals = [d for d in deals if flagged.get(d["id"], "") < recent]
    if not deals:
        return {"stalled": 0}
    lines = "\n".join(f"{d['Deal_Name']} | {d['Stage']} | {d.get('Amount')} | last activity {d['Last_Activity_Time'][:10]}" for d in deals)
    tips = ai.generate(f"For each stalled deal, one short next step, one per line:\n{lines}", max_output_tokens=600).text
    notify.slack(f"*Stalled deals ({len(deals)})*\n{tips}", channel="#sales")
    for d in deals:
        flagged[d["id"]] = date.today().isoformat()
    state.set("flagged", flagged)
    return {"stalled": len(deals)}

FAQ

Common questions

What counts as stalling?
Open deals with no stage change or activity for the number of days you set. Larger deals can be given a shorter window.
Will the same deal appear every day?
It appears again only if it's still stalled after a few days, so the list stays focused on what's new or still unresolved.
Where do the suggestions come from?
AI reads the deal's stage, amount, age and last notes and suggests a single next step, such as sending a case study or proposing a call.
What permissions does it need?
ZohoCRM.modules.deals.READ; chat:write. Nothing else in your accounts is used.
Does it need AI?
Yes. It uses ClickRuntime's built-in AI, so you don't need an OpenAI or Anthropic key. Every plan includes a monthly AI allowance.
How many runs does it use?
One run each time it runs (every 2 hours). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Get Slack alerts for deals that are stalling in Zoho CRM” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.