Skip to content

The moment it happens

Sort lemlist replies and see only the interested ones

Every reply is labelled, and only leads who want to talk are sent to you.

Runs
The moment it happens
Apps
lemlist
AI
Yes, uses the built-in AI allowance
Access
API key

Send this to your assistant

Create a ClickRuntime automation: label each lemlist reply as Interested, Not interested, Out of office or Unsubscribe. Post the Interested ones to #hot-leads in Slack, and keep a count of each label.

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 cold outreach campaign in lemlist can generate hundreds of replies in a week, and most of them are not what the sender hopes for. Some say interested, some say not now, many are automatic out-of-office messages, a few ask to be removed. A salesperson who reads them in arrival order wastes hours on auto-replies while a warm prospect waits for an answer.

When a reply arrives, lemlist sends an event to ClickRuntime. ClickRuntime's built-in AI reads the text and classifies it, for example as interested, not interested, out of office or unsubscribe. Replies marked as interested are posted to Slack immediately with the lead and message, and the automation keeps a count of each category so you can see how a campaign is landing.

It is meant for sales development reps and founders running outbound themselves.

What you get out of it

  • Warm prospects get answered first

    A reply saying let's talk next week is worth more than fifty out-of-office notices. Sending only the interested ones to Slack means those leads get a response within minutes while they still have you in mind.

  • Reading time drops sharply

    Skimming a shared inbox of mixed replies is slow and tiring. With the classification done for you, your attention goes to the handful that need a human response. That time is better spent on prospects who want to talk.

  • Out-of-office messages stop distracting

    Auto-replies often contain a return date. Recognizing them lets you schedule a follow-up for that day rather than treating the lead as dead or wasting time reading them. That small detail often turns a no into a later yes.

  • Campaign quality shows in the counts

    A tally of interested, not interested and unsubscribe replies tells you whether a sequence is working. Ten interested replies out of 400 versus two out of 400 is a signal to rewrite the copy.

  • Opt-outs are noticed and respected

    People who ask to be taken off the list are identified as such. That helps you honor requests promptly, which protects your sender reputation and keeps you on the right side of anti-spam rules.

How it works

What happens, step by step

  1. When a lead replies to one of your lemlist campaigns, lemlist sends the reply to ClickRuntime straight away.

  2. AI reads the reply and labels it Interested, Not interested, Out of office or Unsubscribe.

  3. ClickRuntime keeps a running count of each label for the last 90 days, so you can see how campaigns are landing.

  4. Only Interested replies are posted to #hot-leads in Slack, with the lead's email, the campaign and their message.

Before it runs live

  • Connect lemlist
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Sort lemlist replies and see only the interested onesjust nowSucceeded
Slack · #hot-leadsInterested: dana@northwind.com (Q4 Ops outreach) > Sounds useful, send me some times next week.

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

  • Act only on the items that match your own rules, and skip the rest
  • Change what the AI looks for, or how it writes the result
  • Add another app, for example also send it to Slack
  • Combine it with other lemlist 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.
ai_reply_triage.pyexample
from clickruntime import on_event, ai, notify, state

LABELS = ["Interested", "Not interested", "Out of office", "Unsubscribe"]

@on_event
def handle(event):
    e = event.json or {}
    reply = (e.get("text") or "").strip()
    if e.get("type") != "emailsReplied" or not reply:
        return {"labelled": False}
    result = ai.generate(
        f"Label this cold email reply as one of {LABELS}.\n\nReply:\n{reply}",
        json_schema={"type": "object", "properties": {"label": {"type": "string", "enum": LABELS}},
                     "required": ["label"]},
        max_output_tokens=50,
    )
    label = result.json["label"]
    state.increment_metric(f"label:{label}", ttl_days=90)
    if label == "Interested":
        notify.slack(f"Interested: {e.get('leadEmail')} ({e.get('campaignName')})\n> {reply[:300]}",
                     channel="#hot-leads")
    return {"label": label}

FAQ

Common questions

What categories does the AI use?
The default set is interested, not interested, out of office and unsubscribe request, with an other bucket for anything unclear. You can ask for different labels, for example a separate category for referrals to a colleague, and review the change before it goes live.
How accurate is the classification?
It is good with clear replies and less sure with short or ambiguous ones, like a single word or a sarcastic comment. Because the interested ones are posted with the original text, you can read the message yourself and correct course if the AI got it wrong.
Do I need my own AI key for this?
No. The classification runs on ClickRuntime's built-in AI, so you do not need an OpenAI or Anthropic key. You need your lemlist connection and a Slack channel for the interested replies. The setup takes only a couple of minutes.
What permissions does it need?
API key. 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 for each event the app sends.
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 “Sort lemlist replies and see only the interested ones” from your assistant

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