HubSpot Ideas


Delete contact option in workflows

Include an option in workflows to delete a contact. So if they meet the criteria to be entered into the workflow, it would then delete them from our database entirely. This would be helpful for those who come to our site and fill out forms with information which is a 100% clear sign that we do not want to market / sell to them in any way.

Atualizações da HubSpot
August 15, 2022 05:47 AM

Hey folks,


You can now self-enroll into the Public Beta for this feature. Follow the steps below.


1. Click on your profile picture in your HubSpot portal. You will see a dropdown menu.

2.  From the menu, select "Product Updates". It will take you to a new page.

3. On the panel on the left, click Betas.

4. You should now be able to see all the Betas available to you. Click "Join Beta" on the Beta you would like to join. In this case, it is "[Public Beta] Workflow Action to Delete Contacts"

Status atualizado para: In Beta
May 12, 2022 07:23 AM

Hi everyone,


I'd like to thank you all for taking the time to submit, vote and comment on this Idea. My name is Bhargava, and I’m the Senior Product Manager for HubSpot’s Privacy and Consent tool.


I'm happy to announce that this feature is now In Beta. This is currently a private beta, but we are planning to roll it out to all Marketing Hub Pro portals soon. For early access, you may message me here.


We’ll be sure to update you here and on our Product Updates blog as soon as this feature is Delivered.


Kind Regards,


Status atualizado para: Being Reviewed
April 21, 2022 12:00 PM

72 Comentários
Conselheiro(a) de destaque

To my knowledge, there is no means to do this.  


What I do is whatever criteria that you have that determines that a person should be deleted, add them to a list, via the workflow.  Then in Lists, create a folder to hold all the lists that contain deletable contacts and add the lists to this folder.  This way, you can go to that folder, see all lists containing all contacts that should be deleted and then periodically you can  purge them.


Granted it's a manual process, but one that works.




This would be incredibly helpful for list hygiene!

Status atualizado para: Not Currently Planned
Alunos da HubSpot

Hi folks,


Thank you for taking the time to submit, upvote, and comment on this Idea. At this time there are no plans to implement this Idea. While we greatly appreciate your feedback, using automation to delete contacts is super risky, as one mistake could lead to the deletion of an entire portal.


The thread will remain open for voting and commenting, but for now, there are no plans to move forward with development. 


If anything changes we'll be sure to share an update on this thread!




Ideas Forum Manager



The only reason why this is not introduced is because HubSpot charging model is by the number of contacts in each of our portals.

Therefore the higher the nmber the more they can charge, therefore they don't want an auto 'reduce the number of contacts' function.


Really dissapointed - will probably move to another provider in the near future.


Adding another reply to this idea as having the ability to have a workflow that removes contacts based on specific criteria would be incredibly useful for so many reasons. I understand the hesitance as automation for removing a contact can seem like a big step but trust your users to decide for themselves if this is something they want to implement, don't hinder the system because you're afraid that your users aren't cogent enough to use the feature. 


Use case Example - We are a Community Management (HOA) provider, our contracts (and therefore our only clients) are specifically the boards of these associations but we often have residents or homeowners who use our website to submit service requests via a specific form we have created. There is ABSOLUTELY no potential for them to ever be clients and legally we cannot keep their contact data without consent but they still need the ability to submit the forms. These forms go through a workflow already to send them to the appropriate department in our organization and to mark them as non-potential or inactive but I can't use that same workflow to delete them? I have to put them all into a list and manually delete them all once a week and what if someone puts in two requests, instead of a whole new email being generated they become "reconversions" which is a narrow way to define multiple form submissions.

This is an underlying issue that I think greatly affects the HubSpot platform, in an effort to make the system foolproof you water it down for power-users who are used to more flexible environments and honestly is the biggest issue I have using HubSpot. While I appreciate the cosmetic updates I think a focus on some of these more user-requested changes would be really impactful.


Hi @JoeMayall can you please elaborate on what you mean by "one mistake can lead to the deletion of an entire portal"? I'm not quite sure how a deletion of one contact can delete a whole portal? 

Alunos da HubSpot

@ziadi Sure!


For example, if the incorrect enrollment criteria is used in a Workflow (say, "Create Date is Known" instead of "Create Date is Unknown"), and there's a "Delete Contacts" option, the Workflow will delete every contact in the blink of an eye.


Such a scenario would be a disaster, and we want to avoid it at all costs.

Top colaborador(a)

My company is interest in this feature for security and compliance needs, especially to delete employee contacts created by Inbox.




Participante | Parceiro Diamante

Is see this as a very useful feature if the implementation of the deletion function is done very carefully.


The first caveat that I see necessary is the deletion is not a hard delete but instead a soft delete. What I mean by this is when a contact has been deleted it gets moved to a recycling bin and will sit there for up to 1 year for default settings and the account admin can reduce this time in the settings. This would reduce the risk HubSpot is addressing with a workflow being able to delete all of your contacts in one fell swoop if a simple mistake has been made. Right now any user in the platform with bulk delete permissions has the ability to delete an entire CRM's database, but just the same every user has the ability to recover any contact, company, deal, etc that has been deleted in the last 90 days. 


The next thing I see necessary is that the workflow is time-based, meaning that it runs on a routine basis, either daily at a certain time, weekly on a certain day and time, or monthly on a certain day of the month at a certain time. As the workflow runs an email would have to be sent internally to the contact owners letting them know that the following contacts they own are going to be deleted and if they need them to stay in the system they can click on a link taking them to a page allowing them to keep the necessary contacts and if the deletion has already occurred then they could recover their contacts from this same page. 


Lastly, the delete functionality would have to look at the number of contacts that are going to impacted by this run of the workflow. If more contacts are going to be impacted by this capability than a specific threshold set at the delete function in a workflow and a threshold set at the account level then the action does not run. Instead it send an email to the specific people assigned in the step letting them know that the action could not be taken as it would cause too deletions and was prevented as a safety percaution. The recipient would then be allowed either choose to allow the workflow to proceed or stop it. 


If all of these caveats were implemented and any more that the community or HubSpot deemed worthy it would be a truly powerful tool to help people keep their database in better check. And, I think this would be more effective then an active list that people check whenever the remember. 


However, implementing all of this functionality is rather complex and requires more work then a simple delete step in a workflow. 


@JoeMayall  If your users have a valid use case for wanting to automatically delete contacts, it's up to them to assume the risk. For example, we use an integration with a phone system (Dialpad) and every single call in or out gets created as a new contact with just a phone number in hubspot. This results in a lot of garbage contacts. We'd like to automatically delete them via a workflow. You are calling your users ignorant to avoid telling the truth that hubspot wants contact lists to bloat so that you can charge for overage. As a partner I don't appreiciate this.


I work with software development tools. Flexibility > Ease-of-use. Ease-of-use can be added later once base feature exist.

On top of this I imagine that contacts deleted via workflow could be kept backed up for one month. Would not add much cost for HubSpot and would allow us customers to review the automatic deletions and allow us to restore if we run into any issues.


In conclusion I also doubt that there is a technical issue to implement this feature. It is probably rather as @jk12 pointed out a question about revenue for HubSpot...


HubSpot is a great service, but our company is no longer a HubSpot customer. I will unsubscribe to the topic. Thanks for all thoughts shared on this topic!

Alunos da HubSpot

Hey folks!

I wanted to share some helpful resources for those looking to remove contacts for billing purposes. If that is your goal, I would suggest looking into Marketing Contacts and learning more from your HubSpot Renewal Manager.


In short, Marketing Contacts provides increased flexibility for HubSpot customers to determine which contacts they want to pay for.  There's also a "set as Marketing Contact" workflow action, so you can automate the process to save time and money. If you'd like to learn if Marketing contacts is right for you, you can learn more at the resources below.





Here is why we want to automate deleting contacts via a workflow (but can't)


GDPR laws require us to determine how long customer data or contact data may be stored and to what purpose?

After deciding this, we wanted to automate the entire process. 



we considered the lead time of our sales opportunities (deals) and decided we want to store contact data for at least 12 months. After this, losing the historical data the contact or lead shoud be considered new anyway. So I created an active list and built three filters in an AND hierarchy:

- property last contacted is more than 365 days ago (so no interaction in the last year between contact and our sales team)

- property last engagment is more than 365 days ago (so no interaction whatsoever betweem contact and our marketing stuff)

- property last activity data is more than 365 days ago (so not even an internal note, task or edit of the contact data in the properties by any of our users)

My conclusion: contacts ending up on this list are definitely not relevant any more. We could safely delete them and consider any future interaction (contact, engagement or activity) as a new contact! This completely results in GDPR compliancy so thats great!

(Of course this is an example: any company should determine how to build such a list and select OR instead of AND operators.


Next step is to automate deletion of all contacts on this list via a workflow: the problem is: you cant. So can you please fix this so we can automate GDPR compliancy in terms of contact data storage terms?


This is so helpful, I need to remove for instance staff members who are being created as contacts because of HubSpot's conversation inbox tool. We can't delete it as we need to keep an eye on leads emailing information.


It's almost like HubSpot is saying that we are can't understand data quality control. Pretty poor form from HubSpot's side given it's now 2021.


Almost critical for us to delete lapsed contacts from a GDPR perspective! 


+1, this would be very helpful for a variety of use cases.


If Hubspot is concerned about the mass deletion of contacts, build in an extra safeguard.


The decision not to implement this is a clear case of business interests (contacts staying in paid marketing contact status without manual intervention) taking priority over user experience.

HubSpot Employee

Minha cliente precisa deletar tickets via workflow, ter essa automação seria muito útil para gerenciar qualquer tipo de registro sob condições específicas.

Status atualizado para: Being Reviewed
Equipe de Produto da HubSpot

You are able to do this with Operations Hub by using a custom code action where you talk to your own HubSpot API key - see below for node.js. 

Set your HubSpot API key as a secret (called HAPIKEY in this code)

const hubspot = require('@hubspot/api-client')

exports.main = (event) => {
  const hubspotClient = new hubspot.Client({
    apiKey: process.env.HAPIKEY

  // Archive a contact by ID
    .then(resp => {
      console.log('Contact archived')


Status atualizado para: In Beta
Equipe de Produto da HubSpot

Hi everyone,


I'd like to thank you all for taking the time to submit, vote and comment on this Idea. My name is Bhargava, and I’m the Senior Product Manager for HubSpot’s Privacy and Consent tool.


I'm happy to announce that this feature is now In Beta. This is currently a private beta, but we are planning to roll it out to all Marketing Hub Pro portals soon. For early access, you may message me here.


We’ll be sure to update you here and on our Product Updates blog as soon as this feature is Delivered.


Kind Regards,