HubSpot Ideas

kathigross

Undo email send

We need this option! Unless we send from Gmail, we cannot "unsend" from Hubspot. Using HubSpot to send emails is a better option for me and I need a way to "unsend" from the platform. 

96 Replies
CarolineJames
Participant

we would love to see it ❤️

APerezgrovas
Member

I have a suggestion that I believe would greatly enhance the user experience for many of us who rely on HubSpot for email communications.

It would be incredibly useful to have an "Undo Send" button for emails, as Gmail has.

masn79
Member

Every company needs this!

DJones52
Member

+1 on this!

CRoberts46
Member

more than 4 years later, yet here I am saying "same here". come on Hubspot this should be a basic feature

MWoolley9
Member

pretty mind-boggling how this feature isn't standard and not added yet since it's been an idea for over a year.

SBattershell
Member

HubSpot let's go already. This has 235 upvotes! Sales teams especially need this!!! This should've been done. 

arielowens
Contributor

I just had a team member ask if this was possible in Hubspot, very similar to other email platforms like Gmail. Would love this option! 

KLeon1
Member

We've been patiently (and not so patiently) asking for this update for four years.  Many of us work very quickly when emailing and a little typo is bound to happen every now and then... to be able to unsend and make those edits allows us to save face and provide a more professional reception on the customer end.  I've been a hubspot user for all of one month and I've already found this submission... that's how quickly I needed it.  Please roll this out!  We beg of ye.

AP2024
Participant

Requesting a 10-second delay and Undo feature after clicking send that would allow the agent to stop the send and edit their message. This is helpful as we've found that proof-reading accuracy increases approximately 1000% after a person clicks Send. 🙂

 

Including a screenshot from our previous CRM which offered this "Undo" feature after selecting Send.

 

AP2024_0-1731526979830.png

 

MDavis499
Member

PLEASE DO THIS FEATURE. Especially in the Inbox with the conversation threads, where a few times now I have been typing a reply to one person, go to hit send and then at the same second another person in the thread replies, re-assigning my email to send to the wrong person! I've sent clients internal team conversations by accident because of this.

scarlettrowe
Member

Please implement a temporary holding system for emails at the least. Example Python code:

 

import smtplib
import time
import threading
from queue import Queue

# In-memory queue to hold emails during the delay
email_queue = Queue()

# Email configuration (replace with actual credentials)
SMTP_SERVER = 'smtp.example.com'
SMTP_PORT = 587
SMTP_USERNAME = 'your_username'
SMTP_PASSWORD = 'your_password'

# Email object structure
class Email:
def __init__(self, recipient, subject, body, sender, delay, email_id):
self.recipient = recipient
self.subject = subject
self.body = body
self.sender = sender
self.delay = delay
self.email_id = email_id
self.timestamp = time.time() # When email was added to the queue

# Dictionary to allow email cancellation
pending_emails = {}

def send_email(email):
"""Sends the email using an SMTP server."""
try:
with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as server:
server.starttls()
server.login(SMTP_USERNAME, SMTP_PASSWORD)
message = f"From: {email.sender}\nTo: {email.recipient}\nSubject: {email.subject}\n\n{email.body}"
server.sendmail(email.sender, email.recipient, message)
print(f"Email sent to {email.recipient}: {email.subject}")
except Exception as e:
print(f"Failed to send email: {e}")

def process_email_queue():
"""Continuously process the email queue and send emails after the delay."""
while True:
email = email_queue.get()
if email:
time_to_wait = email.delay - (time.time() - email.timestamp)
if time_to_wait > 0:
time.sleep(time_to_wait) # Wait for the remaining delay time
if email.email_id in pending_emails: # Check if email is still pending
send_email(email)
del pending_emails[email.email_id] # Remove after sending
email_queue.task_done()

def schedule_email(recipient, subject, body, sender, delay=10):
"""Schedules an email to be sent after a delay."""
email_id = f"{time.time()}-{recipient}" # Unique email ID
email = Email(recipient, subject, body, sender, delay, email_id)
pending_emails[email_id] = email
email_queue.put(email)
print(f"Email scheduled to {recipient}: {subject}. Undo available for {delay} seconds.")
return email_id

def cancel_email(email_id):
"""Cancels a scheduled email."""
if email_id in pending_emails:
del pending_emails[email_id]
print(f"Email {email_id} canceled successfully.")
return True
print(f"Email {email_id} not found or already sent.")
return False

# Start the email processing thread
threading.Thread(target=process_email_queue, daemon=True).start()

# Example Usage
if __name__ == "__main__":
email_id = schedule_email(
recipient="test@example.com",
subject="Hello World",
body="This is a test email.",
sender="sender@example.com",
delay=10 # Delay in seconds
)

# Simulate user action: Cancel the email after 5 seconds
time.sleep(5)
cancel_email(email_id)

 

Jacobdownie
Member

It's been a few years I've been using hubspot now and this is still a very much needed feature. It would be nice if a company like yours would actually listen to it's customers for once.

KKoval
Member
I do not think they respond to client feedback.
KAunkst
Member

This woudl be a great option to add to the functionality of Hubspot

JulianLonsdale
Member

I literally can't believe a system like Hubspot doesn't provide this feature.