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.
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
When a lead replies to one of your lemlist campaigns, lemlist sends the reply to ClickRuntime straight away.
AI reads the reply and labels it Interested, Not interested, Out of office or Unsubscribe.
ClickRuntime keeps a running count of each label for the last 90 days, so you can see how campaigns are landing.
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
Build your own
Need it to work differently?
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
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?
How accurate is the classification?
Do I need my own AI key for this?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get a Slack message when a lemlist lead replies
Each reply shows up in Slack with the lead's name, the campaign and the start of their message.
See how it worksHear about bounces and unsubscribes in lemlist
Bounced addresses and opt-outs are posted with the lead and campaign, so you can fix a bad list early.
See how it worksGet error alerts with a plain-English explanation
When one of your jobs or systems fails, #ops gets the error and a one-line guess at the cause, without the same error twice in an hour.
See how it worksKeep exploring
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.
