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.
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.
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.
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.
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)
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.