Bulk Delete HubSpot Contacts from Uploaded Excel/CSV File

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:

A valid HubSpot App Token with permissions to search and delete contacts. An Excel (.xlsx) file with a column labeled emails containing the contact emails to be deleted. n8n self-hosted or cloud environment with: Webhook node enabled and accessible. HubSpot node credentials configured. Basic familiarity with n8n node configuration for custom adjustments (optional).

๐Ÿ“ƒSample Document

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): โœ… Yes โ†’ proceed to delete the contact. โŒ No โ†’ skip deletion and continue to the next.

๐Ÿ—‘๏ธ 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: Logging Notifications Writing to external storage

โœ… Use Cases

Bulk delete old or bounced email addresses from HubSpot. Clean up contacts based on external suppression lists. Automate regular CRM hygiene processes.

๐Ÿ’ก Suggested Enhancements

โœ๏ธ Log results to Google Sheets or a database ๐Ÿ“ฌ Send completion report via email or Slack ๐Ÿ” Add retry logic for temporary API failures ๐Ÿ” Validate email format before making requests

๐Ÿ“Ž Requirements

n8n (self-hosted or cloud) HubSpot App Token (set up in n8n credentials) Excel file (.xlsx) with a column for email

๐Ÿ“ฆ Files

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

๐Ÿš€ Getting Started

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

0
Downloads
170
Views
8.84
Quality Score
beginner
Complexity
Author:Akhil Varma Gadiraju(View Original โ†’)
Created:8/13/2025
Updated:8/25/2025

๐Ÿ”’ Please log in to import templates to n8n and favorite templates

Workflow Visualization

Loading...

Preparing workflow renderer

Comments (0)

Login to post comments