Skip to content

Weekly

Get a weekly list of suppressed addresses

Every Monday you see which addresses SES stopped sending to last week, and why.

Runs
Weekly
Apps
Amazon SES
AI
Not needed
Access
ses:ListSuppressedDestinations

Send this to your assistant

Create a ClickRuntime automation: every Monday at 9am, email me the addresses added to my Amazon SES suppression list in the last 7 days, with the reason for each.

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

Amazon SES automatically adds an address to the account suppression list after a hard bounce or a spam complaint, and from then on it silently refuses to send to that person. This is protective, but it means that a customer who mistyped their email at sign-up, or whose mailbox was full for a day, stops receiving receipts and reset links without anyone being told. A sales team may keep mailing a lead who was suppressed weeks ago and wonders why nobody replies.

Each week, the automation asks SES for the suppressed destinations added since a start date and emails you the list, with the reason (bounce or complaint) and the date each address was added. You see who stopped receiving mail and why.

Support teams, developers and email marketers who need to know which customers can no longer be reached will find it practical.

What you get out of it

  • Customers who cannot be reached are identified

    A list of newly suppressed addresses tells you which accounts are not getting your emails. Support can contact them another way and correct the address. Support can then reach out by phone or another channel, and fix the address in your database.

  • Typos at sign-up can be fixed

    Many hard bounces come from a misspelled domain. Seeing them in a weekly list lets you correct gmial.com to gmail.com and have a verified address on file. A verified address means the next receipt actually arrives.

  • Complaints are visible to the business

    An address added after a complaint tells you somebody did not want a message. Reviewing these shows which emails annoy readers, and helps you adjust content or frequency. That feedback is hard to get any other way.

  • List hygiene becomes a routine

    A short weekly review stops the list from decaying. Removing dead addresses from your own database keeps your bounce rate low and your reputation healthy. Cleaner lists also lower your cost per delivered message.

  • Sales and support avoid wasted effort

    Reps stop writing to contacts that will never receive the message, and support knows when a customer's missing email has a technical cause. The weekly list closes that gap and saves awkward conversations.

How it works

What happens, step by step

  1. Every Monday, ClickRuntime pulls the addresses Amazon SES stopped sending to.

  2. It keeps the ones added in the last week.

  3. You get one email listing each address, whether it was a bounce or a complaint, and the date.

Before it runs live

  • Connect Amazon SES

What you get

RunsWeekly
Get a weekly list of suppressed addressestoday, 9:00Succeeded
Email · SES suppression listkim@northwind.example BOUNCE 2026-10-15 ops@acme.example COMPLAINT 2026-10-17

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

  • Run it at a different time, more or less often, or only on weekdays
  • 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 Amazon SES 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.
weekly_suppression_list_report.pyexample
from datetime import datetime, timedelta, timezone
from requests_aws4auth import AWS4Auth
from clickruntime import on_trigger, credentials, http, notify

REGION = "us-east-1"

@on_trigger
def run(event):
    auth = AWS4Auth(credentials.secret("AWS_ACCESS_KEY_ID"), credentials.secret("AWS_SECRET_ACCESS_KEY"), REGION, "ses")
    end = datetime.now(timezone.utc)
    params = {"StartDate": (end - timedelta(days=7)).isoformat(), "EndDate": end.isoformat(), "PageSize": 1000}
    rows = []
    while True:
        page = http.get(f"https://email.{REGION}.amazonaws.com/v2/email/suppression/addresses",
                        auth=auth, params=params).json()
        rows += page.get("SuppressedDestinationSummaries", [])
        if not page.get("NextToken"):
            break
        params["NextToken"] = page["NextToken"]
    lines = [f"{r['EmailAddress']}  {r['Reason']}  {str(r['LastUpdateTime'])[:10]}" for r in rows]
    notify.email_me(f"{len(rows)} addresses added to the SES suppression list", "\n".join(lines) or "None this week.")
    return {"added": len(rows)}

FAQ

Common questions

Does an address stay suppressed forever?
Until you remove it. SES keeps it on the account-level list, and you can delete an address after the cause is fixed, for example when a customer confirms that their mailbox now works. AWS also offers a feature to remove addresses in bulk.
What is the difference between a bounce and a complaint here?
A bounce means the receiving server rejected the message, typically because the address does not exist. A complaint means the recipient marked the message as spam. The report shows which reason applies to each address.
Can I remove addresses automatically?
The report only lists them. Removal is a decision that needs a person, because removing an address that really is invalid will cause more bounces and harm your reputation. Decisions about suppressed contacts stay with your team.
What permissions does it need?
ses:ListSuppressedDestinations. 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 each time it runs (weekly). Checks that find nothing to do and stop right away aren't counted.
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 a weekly list of suppressed addresses” from your assistant

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