Skip to content

The moment it happens

Flag unsubscribes and hard bounces in Slack

Each time a contact unsubscribes or an address hard-bounces, Slack shows who and what happened.

Runs
The moment it happens
Apps
Brevo
AI
Not needed
Access
read+write

Send this to your assistant

Create a ClickRuntime automation: whenever someone unsubscribes or hard-bounces in Brevo, post the email and the event type to #email-health in Slack.

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

Every email list loses people, and two kinds of loss matter more than the rest. An unsubscribe is a customer telling you something about your emails, and a hard bounce is an address that no longer works and will damage your sender reputation if you keep mailing it. In Brevo both are handled automatically, which is helpful, but it also means nobody on your team ever sees them.

ClickRuntime creates a webhook in Brevo for these events. When someone unsubscribes or an address hard-bounces, Brevo calls it and a message goes to Slack with the contact and the event type. The post appears as the event happens, so you see each one in context.

Newsletter owners, account managers and customer success teams that want to react to individual churn signals use it.

What you get out of it

  • Unhappy readers can be asked why

    A single unsubscribe from a key customer can be a warning sign. A personal note the same day might save the relationship or at least teach you what went wrong.

  • Dead addresses are noticed promptly

    A hard bounce on a client's address means they changed jobs or their domain failed. Calling them or finding the new contact keeps the relationship from going dark. One call or message can reconnect a valuable account.

  • Sender reputation is protected

    A sudden wave of hard bounces suggests a bad list import. Seeing it in minutes lets you stop a campaign before mailbox providers start treating your domain as spam. A bad import caught after fifty bounces is much better than one caught after five thousand.

  • Campaign problems show up sooner

    If unsubscribes jump after a particular email, the channel makes that obvious. You can review the content or frequency before the next send. Unsubscribe spikes teach you what readers dislike, and acting on that lowers future list losses.

  • Customer records stay accurate

    Account managers can update the CRM when someone leaves or an email dies. Your records reflect reality instead of drifting out of date. Sales and success teams then work from contact details that are still valid, rather than chasing addresses that went dead months ago.

How it works

What happens, step by step

  1. When a contact unsubscribes or an email address hard-bounces, Brevo tells ClickRuntime straight away.

  2. The automation ignores every other kind of email event.

  3. It posts what happened and the email address to your #email-health Slack channel, such as "Hard bounce: old-address@northwind.example".

Before it runs live

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

What you get

RunsThe moment it happens
Flag unsubscribes and hard bounces in Slackjust nowSucceeded
Slack · #email-healthHard bounce: old-address@northwind.example

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
  • 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 Brevo 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.
unsubscribe_hard_bounce_alert.pyexample
from clickruntime import on_event, notify

LABELS = {"unsubscribed": "Unsubscribed", "hard_bounce": "Hard bounce"}

@on_event
def handle(event):
    body = event.json
    kind = body.get("event")
    if kind not in LABELS:
        return {"skipped": kind}
    notify.slack(f"{LABELS[kind]}: {body['email']}", channel="#email-health")
    return {"posted": kind}

FAQ

Common questions

What is the difference between a soft and hard bounce?
A hard bounce is a permanent delivery failure, such as an address that does not exist. A soft bounce is temporary, such as a full mailbox. This alert covers hard bounces and unsubscribes, so temporary problems do not fill the channel.
Does Brevo remove the contact automatically?
Brevo blocklists unsubscribed and hard-bounced contacts so they receive no further campaigns. The Slack message is for your awareness, and for follow-up elsewhere, such as updating a CRM. The workflow does not need to remove them.
How do I get the webhook created in Brevo?
The setup step creates the webhook using your Brevo API key, pointing at the ClickRuntime address and subscribing to the unsubscribe and hard bounce events. The key is stored as a secret. You can see the webhook in Brevo's settings afterward.
What permissions does it need?
read+write. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's 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 “Flag unsubscribes and hard bounces in Slack” from your assistant

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