Daily
Reactivate addresses that bounced temporarily
People whose mailbox had a temporary problem get your emails again, and you see who was reactivated.
- Runs
- Daily
- Apps
- Postmark
- AI
- Not needed
- Access
- Server token (write)
Send this to your assistant
Create a ClickRuntime automation: every day at 6am, reactivate Postmark bounces on my Transactional server that are soft bounces and can be reactivated, and email me the addresses.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Postmark deactivates an address after it bounces so you stop sending to it. That is the right call for a dead mailbox, but it also catches people whose inbox was just full or whose server was down for an hour. Those customers silently stop receiving receipts, renewal notices and password resets, and nobody on your team knows unless they complain.
Every day, ClickRuntime lists the inactive bounces in your Postmark server, keeps the ones marked as reactivatable (the CanActivate flag) with a temporary type such as a full mailbox or a transient failure, and reactivates those addresses. It then emails you the list of who was switched back on, so you can see what changed.
It is useful for any product where a missed message has a real cost, like subscription billing, appointment reminders or account security.
What you get out of it
Temporary problems stop costing you customers
A person with a full mailbox last Tuesday has room again by Thursday. Reactivating them means the next invoice or reset link reaches them, instead of being suppressed forever over a problem that already went away.
Hard bounces stay suppressed
Only addresses Postmark flags as safe to reactivate are touched. Dead mailboxes and spam-related blocks remain inactive, so you do not hurt your sender reputation by retrying addresses that will never work.
Support tickets about missing email drop
Many tickets saying a receipt never arrived trace back to a quietly deactivated address. Clearing the temporary ones daily removes a recurring cause, so your support team spends less time looking up suppression status in Postmark.
You keep a record of every reactivation
The emailed list names each address that was switched back on. If one bounces again, you can see it was already given a second chance and decide to leave it off, rather than guessing at the history.
Manual list cleanup disappears
Someone no longer has to open the bounce list, scan type labels and click Activate address by address. For a server with hundreds of bounces a month, that is a recurring chore handed over completely.
How it works
What happens, step by step
Every day, ClickRuntime lists the Postmark addresses that were switched off after a bounce.
It keeps only temporary problems, such as a full mailbox, that Postmark allows to be turned back on.
Those addresses are reactivated so they get your emails again.
You get an email listing who was reactivated.
Before it runs live
- Connect Postmark
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
- 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 Postmark steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, notify
API = "https://api.postmarkapp.com"
@on_trigger
def run(event):
headers = {"Accept": "application/json", "X-Postmark-Server-Token": credentials.secret("POSTMARK_SERVER_TOKEN")}
bounces = http.get(f"{API}/bounces", headers=headers, params={
"count": 500, "offset": 0, "type": "SoftBounce", "inactive": "true"}).json()["Bounces"]
reactivated = []
for b in bounces:
if b.get("CanActivate"):
if http.put(f"{API}/bounces/{b['ID']}/activate", headers=headers).status_code == 200:
reactivated.append(b["Email"])
if reactivated:
notify.email_me(f"Reactivated {len(reactivated)} soft bounces", "\n".join(reactivated))
return {"reactivated": len(reactivated)}FAQ
Common questions
Which bounce types count as soft?
What if an address keeps bouncing after reactivation?
Does reactivating addresses hurt my sender reputation?
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 yesterday's Postmark stats each morning
One email tells you how many messages went out, the bounce rate and any spam complaints.
See how it worksGet bounces and spam complaints in Slack
Support sees each bounce or complaint with the address, type and subject, once.
See how it worksKnow the moment your website goes down
Your team hears in Slack when the site stops responding or slows down, and again when it's back.
See how it worksKeep exploring
Set up “Reactivate addresses that bounced temporarily” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
