Mass deletion of HubSpot records using Make automation platform

Need help with automated bulk removal of old records

I’m struggling with removing thousands of old tasks from our HubSpot account. We have over 10,000 tasks that are more than 30 days old and need to be cleaned up. Manual deletion would take forever since you have to delete each one individually.

I’ve been searching for built-in HubSpot features but couldn’t find any automated cleanup options. So I decided to try Make platform to create an automation workflow for this bulk deletion process.

However, my attempts with Make haven’t been successful so far. Has anyone managed to set up a similar automation? I’m looking for a way to automatically identify and remove records based on their age using Make’s integration with HubSpot API.

Any guidance on the proper workflow setup or alternative approaches would be greatly appreciated. The goal is to have this run automatically rather than doing manual cleanup every month.

Been there with similar cleanup projects. One thing others haven’t mentioned - HubSpot’s object dependencies will mess you up. Some tasks are linked to deals or contacts and won’t delete cleanly. Run a quick test query first to find tasks with associations. The API throws dependency errors on these and breaks your batch processing. I handle this with a second Make scenario that runs after the main cleanup to catch failed deletions and review them manually. Also, HubSpot keeps audit logs of bulk deletions for compliance, so document your cleanup criteria first in case anyone asks questions later. Much smoother when you handle these edge cases upfront instead of troubleshooting mid-deletion.

The batch API works, but you’ll still hit Make’s complexity issues and risk failures mid-cleanup.

I’ve dealt with this exact situation multiple times. Honestly? Latenode handles this way better than Make, especially for bulk operations like yours.

Latenode lets you build a workflow that:

  • Pulls tasks older than 30 days from HubSpot
  • Automatically splits them into proper batch sizes
  • Deletes them with built-in retry logic
  • Emails you a summary when it’s done

The big win is bulletproof error handling. When HubSpot throws random API errors or rate limits (and it will), Latenode just deals with it. Your workflow keeps running.

I built something similar last year for a client with 25k+ old contacts. Took 20 minutes to set up, then ran flawlessly overnight. Zero babysitting needed.

You can even schedule it monthly so this cleanup mess never happens again.

Check it out: https://latenode.com

Had the same problem six months ago - old deal records everywhere. HubSpot’s API will timeout if you try to delete too many at once, so I learned to process them in chunks of 100 with 2-second delays between batches. Set up your Make scenario with ‘Search for Records’ first (filter by date created), then pipe those into ‘Delete Record.’ Definitely add error handling since some records won’t delete due to dependencies or permissions issues. Fair warning - deleted tasks can’t be recovered, so test on a small batch first. Took me 3 hours to clear 8,000 records, but that beat weeks of manual deletion. One weird thing: HubSpot sometimes returns already-deleted records in search results, so don’t worry when some deletions fail - that’s totally normal.

export everything to csv before running deletion scripts - trust me on this. i accidentally deleted important tasks once and it sucked. also heads up that make’s hubspot connector gets weird with big datasets. it’ll randomly quit halfway through for no reason.

Yeah, the timeout issue is real, but I found a better way. Skip the regular HubSpot module in Make and use the HTTP module with direct API calls to the batch endpoints instead. HubSpot’s batch delete API handles up to 100 records per request - way more efficient than deleting one by one. Set up a filter to grab tasks older than your cutoff date, then use “Set multiple variables” to group the record IDs into batches of 100. Hit the /crm/v3/objects/tasks/batch/archive endpoint with a POST request containing the record IDs. I cleared 15,000 old tasks in about 90 minutes this way. Just make sure your HubSpot API key has delete permissions for objects, or you’ll get auth errors partway through.