delete-no-email-contacts

Delete no-email contacts in HubSpot using the CRM Search API with batched operations.

58|16|Updated Mar 26, 2026
One-click install
npx skills add https://github.com/TomGranot/hubspot-admin-skills --skill delete-no-email-contacts
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: delete-no-email-contacts
Source: https://github.com/TomGranot/hubspot-admin-skills/tree/main/skills/delete-no-email-contacts
Command: npx skills add https://github.com/TomGranot/hubspot-admin-skills --skill delete-no-email-contacts

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires requests, python-dotenv, and includes scripts (resource) components.

What problem does it solve?

Contacts without an email address cannot be reached and inflate HubSpot billing, resulting in wasted resources and skewed data.

Core Features & Use Cases

  • Detects no-email contacts using HubSpot CRM Search API and provides an initial count.
  • Deletes no-email contacts in safe, batched operations with an abort threshold and 90-day recovery window via HubSpot.
  • Generates a CSV audit trail before deletion and provides post-execution verification.
  • Suitable for regular CRM hygiene routines and large-scale data cleanup projects.

Quick Start

Run the Before State to audit no-email contacts, review the counts, then run the Execute to delete them in batches with safety checks.

Frequently Asked Questions about delete-no-email-contacts

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I remove no-email contacts from HubSpot in bulk?

You can batch-delete no-email contacts from HubSpot using a CRM Search API workflow that audits records, generates a CSV trail, and archives them in batches with an abort threshold and 90-day recovery window.

What is the safest way to clean up HubSpot contacts without email addresses?

Safely cleaning up HubSpot contacts without emails requires an audit-first approach that exports a CSV audit trail and uses batch-archiving. This provides a 90-day recovery window and an abort threshold to prevent accidental mass deletion.

Do I need a private app token to delete contacts in HubSpot via API?

Yes, deleting HubSpot contacts via this API workflow requires a private app token with read and write access to contacts. You must store this token in a .env file as HUBSPOT_ACCESS_TOKEN before running the audit and execution scripts.

Can I recover HubSpot contacts after a batch deletion?

Yes, deleted HubSpot contacts can be recovered within a 90-day recovery window. The skill uses HubSpot's batch-archive workflow rather than permanent deletion, ensuring you can restore records if the removal was unintended.

How does an abort threshold work during HubSpot contact cleanup?

An abort threshold halts the batch deletion process if the detected volume of no-email contacts exceeds a safe limit. This prevents unexpectedly archiving massive datasets and protects large portals from runaway operations during CRM hygiene routines.

Why do no-email contacts inflate HubSpot billing and skew data?

No-email contacts inflate HubSpot billing because they count toward your portal's contact tier limits while remaining unreachable. They also skew marketing analytics and data hygiene metrics, making regular CRM cleanup essential for resource optimization.