🀝 Bulk delete HubSpot contacts from uploaded Excel/CSV file

⚑ 371 views · 🀝 CRM & Sales Operations

πŸ’‘ Pro Tip β€” HTTP Request scraping tends to break when sites update their markup. If you’re scraping a major platform, check if ScraperNode covers it β€” it has maintained scrapers for LinkedIn, Instagram, TikTok, YouTube, and 20+ other platforms that return structured data.

View All Scrapers

Description

Bulk Contact Deletion from HubSpot via Uploaded Excel / CSV File

This workflow allows you to automate the deletion of HubSpot contacts based on email addresses provided in an uploaded Excel (.xlsx) file. It’s ideal for bulk-cleaning outdated or invalid contact data.


βœ… Prerequisites

Before using this workflow, ensure you have the following:


πŸ“ƒSample Document

sample_xlsx_document.png

Download

🧠 n8n Workflow: Delete HubSpot Contacts from an Uploaded Excel File

This n8n workflow allows you to upload an Excel file containing contact email addresses. It will check each one in HubSpot and delete the contact if it exists.


πŸ”— Workflow Overview

πŸ“₯ 1. Trigger via Webhook (POST)

The workflow starts when a .xlsx file is uploaded via an HTTP POST request to the webhook. This Excel file should contain a column with contact email addresses.


πŸ“„ 2. Extract Data from Excel

The uploaded file is parsed, and its rows are converted into structured JSON items, making each email address available for further processing.


🧹 3. Normalize Data

The data is cleaned and normalized β€” for example, mapping column headers (e.g., emails) into a standard email field, ensuring consistent downstream logic.


πŸ” 4. Loop Through Contacts

Each row (contact) is processed individually using batch looping. This allows for fine-grained error handling and sequential processing.


πŸ”Ž 5. Search for Contact in HubSpot

For each contact, a search query is made in HubSpot based on the email address. The workflow only fetches the first result (if any).


πŸ§ͺ 6. Check if Contact Exists

An IF condition checks whether the contact was found (i.e., if a HubSpot contact ID exists):


πŸ—‘οΈ 7. Delete Contact

If a contact exists, it is deleted from HubSpot using its internal contact ID.


πŸ› οΈ 8. Optional Placeholder for Post-Processing

A placeholder node named β€œReplace Me” is included for any custom logic you may want to add after the deletion step, such as:


βœ… Use Cases


πŸ’‘ Suggested Enhancements


πŸ“Ž Requirements


πŸ“¦ Files

No external files are required. All logic is contained within the n8n workflow.


πŸš€ Getting Started

  1. Deploy the workflow in n8n.
  2. Copy the webhook URL and use it in your app or API client (like Postman).
  3. Upload an Excel file containing contact emails via POST request.
  4. Watch as it searches and deletes matches in HubSpot.

πŸ”— Nodes Used

Webhook, HubSpot, Extract from File

πŸ“₯ Import

Download workflow.json and import into n8n: Workflow menu β†’ Import from File

πŸ“– Importing guide Β· πŸ”‘ Credential setup