Skip to content

The moment it happens

Get an email when someone unsubscribes

You hear about each unsubscribe and which message it came from.

Runs
The moment it happens
Apps
Customer.io
AI
Not needed
Access
none for receiving

Send this to your assistant

Create a ClickRuntime automation: when someone unsubscribes in Customer.io, email me their address and the name of the message they unsubscribed from.

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

An unsubscribe is a quiet form of feedback. A customer who clicks the link in a Customer.io email is telling you something about timing, frequency or relevance, but those clicks vanish into a count unless somebody watches. For high-value accounts, or for a service where you need to honor opt-outs everywhere, you want to hear about it the same day.

When Customer.io sends an unsubscribe event through its reporting webhook, this verifies the signature to confirm the request is genuine and then sends you a notification. You see who left and when, in near real time.

Lifecycle marketers, account managers and compliance-conscious teams use it to follow opt-outs closely. Each notification is sent only after the request signature has been checked, so you can trust that the person named really did opt out through your Customer.io workspace.

What you get out of it

  • React to unsubscribes from key accounts

    If a major customer opts out, the account manager can reach out with a personal note. That human touch can repair a relationship before it cools. If a major customer opts out, the account manager can reach out personally, and that human touch can repair a relationship.

  • Sync opt-outs with other systems

    Marketing tools that do not talk to Customer.io may keep sending. A notification gives you the name to suppress elsewhere, helping meet legal obligations. Marketing tools that do not talk to Customer.io may keep sending, and the notification gives you the name to suppress elsewhere.

  • Spot patterns after a campaign

    Several unsubscribes soon after a send suggest a content or frequency issue. You can adjust the next send while you still have time. Several unsubscribes soon after a send point to a content or frequency problem, which you can adjust for the next send.

  • Keep a dated opt-out record

    Each notification shows when someone left. In a dispute about whether a person was emailed after unsubscribing, you can show the timeline. Each notification shows when someone left, which gives you the timeline if there is a dispute about mail sent after opt-out.

  • Trust the alerts are real

    Signature verification prevents spoofed events. Only requests that Customer.io actually signed result in a notification. Only requests that Customer.io actually signed lead to a notification, so spoofed events never reach your inbox.

How it works

What happens, step by step

  1. When someone unsubscribes in Customer.io, Customer.io tells ClickRuntime straight away.

  2. ClickRuntime first checks that the message really came from Customer.io and rejects anything that doesn't.

  3. You get an email saying who unsubscribed and the subject of the message they unsubscribed from.

Before it runs live

  • Connect Customer.io
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Get an email when someone unsubscribesjust nowSucceeded
Email · Unsubscribesjo@acme.com unsubscribed from "Weekly product tips".

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 Customer.io 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_notification.pyexample
from clickruntime import on_event, notify, log

@on_event
def handle(event):
    if not event.is_verified:
        log.warning("rejected delivery with a bad X-CIO-Signature")
        return {"sent": False}
    e = event.json or {}
    if e.get("metric") != "unsubscribed":
        return {"sent": False}
    d = e.get("data") or {}
    notify.email_me("Customer.io unsubscribe",
                    f"{d.get('recipient') or d.get('identifiers', {}).get('email')} unsubscribed from \"{d.get('subject')}\".")
    return {"sent": True}

FAQ

Common questions

Does it work for topic-level unsubscribes?
It reacts to unsubscribe events that Customer.io sends via its reporting webhook. Whether subscription topics produce a separate event depends on your Customer.io setup, so check which events you enabled. Whether topic-level unsubscribes send a separate event depends on your Customer.io setup, so check which events you enabled.
Can I be told only about certain customers?
Yes. A filter on a customer attribute such as plan or account value can be added. Tell your AI assistant and confirm the new rule before it takes effect. A filter on a customer attribute, such as plan or account value, would limit notices to the customers you care about.
How do I set up the webhook?
In Customer.io you add the trigger link as a reporting webhook and choose the unsubscribe event. The signing secret is stored securely so the signature can be checked. The trigger link is added as a reporting webhook with the unsubscribe event chosen, and the signing secret is stored securely.
What permissions does it need?
none for receiving. 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 “Get an email when someone unsubscribes” from your assistant

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