Clean up HubSpot contacts from your Amazon SES suppression list

By General Input

Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.

Integrations

  • Amazon SES
  • HubSpot
  • Slack Bot

Type

Agentic Task

Categories

  • Sales
  • Marketing

Every morning at 8am, pull the email addresses Amazon SES added to my account suppression list in the last 24 hours and clean up the matching records in HubSpot, so my team stops emailing people who already hard bounced or filed a spam complaint.

Start with the Amazon SES List Suppressed Destinations operation, scoped to the last 24 hours using its start and end date filters. Page through the results so nothing is missed on a heavy day. For each entry, capture the email address, the reason SES recorded (BOUNCE or COMPLAINT), and the time it was added.

For each suppressed address, locate the person in HubSpot using Search Contacts, matching on the email property. Then apply the treatment that fits the reason using Update Contact.

A COMPLAINT reason means the recipient explicitly reported the mail as spam. Mark that contact as opted out of marketing email so no further campaigns go to them.

A BOUNCE reason means the address is undeliverable rather than unwanted. Flag the email address as invalid on the contact record, using the dedicated contact property set aside for that, and leave subscription and opt out status alone. Do not opt a bounced contact out of marketing email. If no suitable property exists to hold the flag, say so in the Slack summary instead of writing the flag somewhere it does not belong.

Two hard rules. Never delete, merge, or archive a contact. Write changes to contact properties only, so the record and its history, notes, and deal associations stay intact. If a contact already carries the correct flag from an earlier run, leave it alone and do not count it as a new update.

If a suppressed address has no matching HubSpot contact, do not create one. Collect those addresses separately for the summary.

Finish by posting one summary to Slack with Send a Message. Keep it short. This is a receipt of what changed, not a deliverability report. Cover how many addresses were suppressed in the window, which contacts were updated and under which reason, and every suppressed address that had no matching HubSpot contact, so I can trace which imported list it came from. If nothing was suppressed in the last 24 hours, post a single line saying so rather than an empty report.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery boardLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsA searchable RFP answer library your bid team drafts fromLinkedIn Ads budget pacing dashboard for every client account