The moment it happens
Classify Smartlead replies and flag the interested ones
Every reply is read and labelled, and only the interested leads are posted for you.
- Runs
- The moment it happens
- Apps
- Smartlead
- AI
- Yes, uses the built-in AI allowance
- Access
- API key
Send this to your assistant
Create a ClickRuntime automation: read each new Smartlead reply and label it interested, out of office or unsubscribe. Post the interested ones to #pipeline in Slack with the lead's email, campaign and reply.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A cold-email campaign in Smartlead can bring in hundreds of replies a week, and most of them are not what you hoped for: out-of-office messages, unsubscribe requests, "not now" and wrong-person forwards. Hidden among them is a handful of "yes, send me a quote". Sorting them by hand means reading everything in the master inbox, and the interested prospect waits for hours while a rep clears the junk. A warm lead cools quickly when nobody answers.
When a reply arrives, Smartlead sends it to ClickRuntime as a webhook. ClickRuntime's built-in AI reads the text and labels it, for example interested, not interested, out of office, unsubscribe or wrong person, and only the interested ones are posted to Slack with the prospect, company, campaign and the reply itself. The others are left in the inbox.
Outbound teams and agencies that run several campaigns for clients will find it most useful.
What you get out of it
Interested prospects get a fast answer
A positive reply surfaces in Slack within seconds, so a rep can respond while the prospect is still at their desk. Speed to reply is a major factor in whether a meeting is booked. Fast replies also signal to the prospect that your company is organized and responsive.
Reps stop sorting junk
Out-of-office notes, unsubscribes and bounces are sorted away automatically. Salespeople see only the replies that need a person, and the time saved goes to writing better follow-ups. Reading hundreds of automatic replies is the least motivating part of outbound work, and it disappears.
Unsubscribe requests are noticed
Classifying opt-outs as their own category means they are recognized and honored promptly, which protects sender reputation and reduces the risk of spam complaints that damage deliverability. Handled promptly, they also keep you on the right side of anti-spam rules.
Agencies can report on quality
Counting interested replies per campaign shows which messaging works. An agency can show a client concrete numbers and adjust copy, rather than reporting only on sends and opens. That makes renewals easier, because the proof of value is plain.
Coverage continues outside working hours
Replies that arrive overnight or at weekends are still classified, and interested ones wait in the channel at the top, ready for the first person to start the day. No one needs to check a phone in the evening to keep leads from going stale.
How it works
What happens, step by step
When a lead replies to one of your Smartlead campaigns, Smartlead sends the reply to ClickRuntime straight away.
AI reads the reply and labels it interested, out of office, unsubscribe or other.
Only interested replies are posted to #pipeline in Slack, with the lead's email, the campaign and the first part of their message. Everything else is left alone.
Before it runs live
- Connect Smartlead
- 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 Smartlead steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, ai, notify
LABELS = ["interested", "out of office", "unsubscribe", "other"]
@on_event
def handle(event):
e = event.json or {}
reply = ((e.get("reply_message") or {}).get("text") or "").strip()
if e.get("event_type") != "EMAIL_REPLY" or not reply:
return {"labelled": False}
label = ai.generate(
f"Label this reply to a sales email as one of {LABELS}.\n\n{reply}",
json_schema={"type": "object", "properties": {"label": {"type": "string", "enum": LABELS}},
"required": ["label"]},
max_output_tokens=50,
).json["label"]
if label == "interested":
notify.slack(f"Interested: {e.get('sl_lead_email')} ({e.get('campaign_name')})\n> {reply[:300]}",
channel="#pipeline")
return {"label": label}FAQ
Common questions
What categories does the AI use?
Does it reply to the prospect automatically?
What if the AI labels a reply wrongly?
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 ping when Smartlead marks a lead Interested
When a lead's category changes to Interested, you see the lead and their reply in Slack.
See how it worksEmail yourself yesterday's Smartlead numbers
Each morning a table shows sends, opens and replies for every active campaign.
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 “Classify Smartlead replies and flag the interested ones” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
