SKILL·F6A025

review-bounced-contacts

TomGranot
Updated 1 month ago
9 views
47
14
47
View on GitHub
Otherdata

About

This skill automates a weekly manual review process for contacts with 3+ email bounces, helping developers decide whether to delete or attempt recovery for each contact. It prevents over-suppression by ensuring a human reviews auto-flagged data before permanent action. The process includes a scripted pre-filtering stage using the HubSpot API to prepare the review list.

Quick Install

Claude Code

Recommended
Primary
npx skills add TomGranot/hubspot-admin-skills -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/TomGranot/hubspot-admin-skills
Git CloneAlternative
git clone https://github.com/TomGranot/hubspot-admin-skills.git ~/.claude/skills/review-bounced-contacts

Copy and paste this command in Claude Code to install this skill

Documentation

Review Bounced Contacts

A weekly manual review process for contacts flagged with 3+ bounces. The bounce monitoring workflow auto-suppresses these contacts, but a human should decide whether to permanently delete or attempt recovery.

Prerequisites

  • Bounce monitoring workflow active (run /bounce-monitoring-workflow first)
  • email_health_flag custom property exists on contacts
  • HubSpot API token in .env (for scripted pre-filtering)

Step-by-Step Instructions

Stage 1: Before — Pull the Review List

Use the HubSpot API to search for contacts where email_health_flag is set:

from hubspot import HubSpot
from hubspot.crm.contacts import PublicObjectSearchRequest

api_client = HubSpot(access_token=os.getenv("HUBSPOT_API_TOKEN"))

search = PublicObjectSearchRequest(
    filter_groups=[{
        "filters": [{
            "propertyName": "email_health_flag",
            "operator": "EQ",
            "value": "true"
        }]
    }],
    properties=["email", "firstname", "lastname", "company",
                "hs_email_bounce", "hs_email_hard_bounce_reason_enum",
                "lifecyclestage", "hubspot_owner_id"]
)

results = api_client.crm.contacts.search_api.do_search(search)

Export results to a CSV for review.

Stage 2: Execute — Review Each Contact

For each flagged contact, check:

  1. Is the email domain active? Run a quick MX record lookup or visit the domain.
  2. Is this a known customer or high-value contact? Check lifecycle stage and deal history.
  3. What is the bounce reason? Hard bounce (invalid mailbox) vs. soft bounce (mailbox full, temporary error).

Decision matrix:

Domain active?High value?Bounce typeAction
NoAnyAnyDelete
YesNoHardDelete
YesNoSoftKeep suppressed, recheck next quarter
YesYesHardAttempt to find updated email
YesYesSoftKeep suppressed, monitor

Stage 3: After — Execute Decisions

  1. Delete contacts marked for deletion via the HubSpot UI or API batch delete.
  2. Clear the email_health_flag on all reviewed contacts.
  3. Log the review results (deleted count, kept count, recovery attempts) for the quarterly report.

Stage 4: Rollback

  • Deleted contacts can be restored from HubSpot's recycling bin within 90 days.
  • Contacts kept as suppressed can be restored to marketing status via a workflow or manual update in the UI.

Frequency

Run weekly, ideally Monday morning. Should take 5-15 minutes depending on volume. If volume exceeds 50 contacts per week, investigate the root cause (bad list source, form spam, etc.).

GitHub Repository

TomGranot/hubspot-admin-skills
Path: skills/review-bounced-contacts
0
FAQ

Frequently asked questions

What is the review-bounced-contacts skill?

review-bounced-contacts is a Claude Skill by TomGranot. Skills package instructions and resources that Claude loads on demand, so Claude can perform review-bounced-contacts-related tasks without extra prompting.

How do I install review-bounced-contacts?

Use the install commands on this page: add review-bounced-contacts to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.

What category does review-bounced-contacts belong to?

review-bounced-contacts is in the Other category, tagged data.

Is review-bounced-contacts free to use?

Yes. review-bounced-contacts is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.

Related Skills

llamaguard
Other

LlamaGuard is Meta's 7-8B parameter model for moderating LLM inputs and outputs across six safety categories like violence and hate speech. It offers 94-95% accuracy and can be deployed using vLLM, Hugging Face, or Amazon SageMaker. Use this skill to easily integrate content filtering and safety guardrails into your AI applications.

View skill
cost-optimization
Other

This Claude Skill helps developers optimize cloud costs through resource rightsizing, tagging strategies, and spending analysis. It provides a framework for reducing cloud expenses and implementing cost governance across AWS, Azure, and GCP. Use it when you need to analyze infrastructure costs, right-size resources, or meet budget constraints.

View skill
quantizing-models-bitsandbytes
Other

This skill quantizes LLMs to 8-bit or 4-bit precision using bitsandbytes, achieving 50-75% memory reduction with minimal accuracy loss. It's ideal for running larger models on limited GPU memory or accelerating inference, supporting formats like INT8, NF4, and FP4. The skill integrates with HuggingFace Transformers and enables QLoRA training and 8-bit optimizers.

View skill
sports-betting-analyzer
Other

This Claude Skill analyzes sports betting markets including spreads, over/unders, and prop bets by examining historical trends and situational statistics to identify value bets. It provides structured markdown output with actionable recommendations for educational purposes. Developers should use this for sports betting analysis tools while noting it's designed for entertainment/education only.

View skill