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.
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
When someone unsubscribes in Customer.io, Customer.io tells ClickRuntime straight away.
ClickRuntime first checks that the message really came from Customer.io and rejects anything that doesn't.
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
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 Customer.io steps into one automation
Under the hood
The code that runs this automation
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?
Can I be told only about certain customers?
How do I set up the webhook?
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 Slack alerts for bounces and spam complaints
Each bounced or spam-flagged email shows up in Slack with the person and the message, as it happens.
See how it worksGet weekly Customer.io campaign numbers by email
Each Monday you get one table of sends, opens and clicks per campaign for the past week.
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 “Get an email when someone unsubscribes” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.