The moment it happens
Hear 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.
- Runs
- The moment it happens
- Apps
- lemlist
- AI
- Not needed
- Access
- API key
Send this to your assistant
Create a ClickRuntime automation: when a lemlist email bounces or a lead unsubscribes, post the email address, campaign and event type to #deliverability in Slack.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Cold email lives or dies on deliverability. In lemlist, a sudden cluster of bounces tells you that a list was bad or a domain has a problem, and a spike of unsubscribes tells you that the message or the targeting is off. Most senders only see these numbers in a campaign report after the sequence has finished, when hundreds more emails have already gone out to the same bad list.
Whenever lemlist records a bounce or an unsubscribe, ClickRuntime is notified and posts the lead and the campaign name to Slack. The person managing outreach sees each one as it happens and can pause a campaign before the damage spreads.
Agencies sending on behalf of several clients can use it to see which client's campaign is struggling. Each alert is a chance to protect the domain.
What you get out of it
Bad lists are stopped early
If the first fifteen emails in a sequence bounce, the list is probably poor. Seeing those bounces in Slack within minutes lets you pause the campaign instead of finishing a send that harms your domain.
Domain reputation is protected
Repeated bounces teach mailbox providers that your domain sends to dead addresses, and future emails land in spam. Quick action keeps the reputation you spent months warming up. Fixing the list early is far cheaper than recovering the domain.
Unsubscribes reveal mismatched targeting
Several people opting out of one campaign signals the wrong audience or an unwelcome message. Spotting it in real time lets you adjust before the rest of the list receives it.
Compliance is easier to show
Each unsubscribe is posted with a timestamp, so you can demonstrate that opt-outs were noticed promptly. That helps if a recipient later complains or an inbox provider asks questions. That clarity helps when several senders are active at once.
Client campaigns get individual attention
With the campaign name in each message, an agency can tell at a glance which client account is running into trouble and who needs to look into it. That keeps both sender and recipient on good terms.
How it works
What happens, step by step
When an email bounces or a lead unsubscribes in lemlist, lemlist tells ClickRuntime straight away.
ClickRuntime ignores every other kind of lemlist activity.
It posts a one-line message to #deliverability in Slack saying Bounced or Unsubscribed, with the lead's email and the campaign.
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
- Add an AI step, for example to summarize, sort or draft a reply
- 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, notify
EVENTS = {"emailsBounced": "Bounced", "emailsUnsubscribed": "Unsubscribed"}
@on_event
def handle(event):
e = event.json or {}
kind = EVENTS.get(e.get("type"))
if not kind:
return {"posted": False}
notify.slack(f"{kind}: {e.get('leadEmail')} in {e.get('campaignName')}", channel="#deliverability")
return {"posted": True, "type": kind}FAQ
Common questions
Is a bounce the same as an unsubscribe in the alert?
Can I be alerted only after a certain number of bounces?
Does it handle hard and soft bounces differently?
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 worksSort lemlist replies and see only the interested ones
Every reply is labelled, and only leads who want to talk are sent to you.
See how it worksPost new orders and sign-ups to Slack
When something happens in your shop, app or form, the details land in the right channel straight away.
See how it worksKeep exploring
Set up “Hear about bounces and unsubscribes in lemlist” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
