Typically a ticket that is closed will reopen because of the automate settings for the ticket pipeline.
If you go to settings - Objects - Tickets - Pipelines - select the ticket pipeline from the drop down list - Automate
On this page here is a section titled “Update ticket Status”
As you can see from the screenshot, when a customer replies to an email…the ticket status will change to “Waiting for support”
This rule does not take into account the current state of the ticket. In my case, if a customer replies to an email that is associated with a ticket in this pipeline the status of that ticket will change from whatever it is now to “Waiting for support”. It does not consider the current status of the ticket, it does not consider whether the ticket has is open or closed or if it has been closed for 5 year. If someone replies to an email thread that is in HubSpot and is associated with that ticket and it is in a pipeline with that configuration, that ticket will change status to “waiting on support”.
There are several factors that affect this:
- association of email threads to ticket. This is a sticky subject because depending on how your users interact with email and track email in hubspot this can be really messy.
- example. Using the google chrome sales extension with gmail that is integrated with hubspot. Depending on how the auto-associations in the sales extension are configured, the association of email to tickets can be a complete and utter nightmare.
- Configuration of the Automate functions for the ticket pipeline
- You can disable the update ticket status feature, but that might not be something you want to do…changing the status based on a legitmate reply from a customer is an effective way of letting an the ticket owner know that there has been activity and attention is needed on the ticket.
- In my specific case, I was most concerned about very old tickets reopening blowing up stats and trends
- When a ticket that is 3 years old reopens incorrectly and you close it again…the time to close stats get affected because now you have a ticket in the calculation that too 1100 days to close.
- Archiving old tickets to a pipeline…“Support Pipeline Archive” for example…this is a different pipeline and as such can be configured with a different automate configuration, one that doesn’t change the status at all or at least not to a status that is an “Open” Status. From here you can build other workflows that take other actions…create a task, send a notification, create a new ticket with details from the original archived ticket.
- Moving tickets to an archive pipeline can also be automated as well. Lets say you are okay with the ticket reopening for 5 days after the ticket is initially closed. This would give the customer up to 5 days to reply or respond to the last email and trigger the ticket to reopen. When the ticket has been closed for 5 days with no reply…move the ticket to an archive pipeline. If the customer replies to the email associated with that ticket, have a workflow create a new ticket, copy the body of the last email to the a note that references the original ticket, give it status of new and put it into an unassigned queue for the next agent to pick up. The original ticket remains closed and there is a new interaction created.
At the end of the day, the biggest factor in ticket / email associations seems to be related to where your email interactions with a customer happening. “Where” meaning which interface you are composing and replying to email associated with a ticket.
- Hubspot
- Inbox
- Company Page
- Contact page
- Ticket Page
- Email client
- Gmail
- with sales extension enabled
- auto associate tickets enabled
- auto associate tickets not enabled
- without sales extension enabled
- with sales extension enabled
- Outlook
- with sales extension enabled
- auto associate tickets enabled
- auto associate tickets not enable
- without sales extension enabled
- with sales extension enabled
- Other
- Gmail
and a bunch of other considerations…how your email or email reply gets associated in Hubspot can vary pretty significantly. Association of email to a ticket and the configuration of a ticket pipeline if not considered properly can make managing tickets pretty unweildly.
In order to track reopened tickets…i created a series of properties and a workflow to catch these and notify me when it occurs.
- Properties
- Last Close Date
- important: Created using the API with the type: datetime
- Reopen Time (date picker)
- Reopen Count (number)
- Last Close Date
workflow
Enroll
- ticket in “Support Pipeline”
- Ticket status is any of “closed”
enroll tickets in the support pipeline when they are closed
Action
- Copy “Close date” to “Last Close Date”
Capture the exact time dd:hh:mm:ss that the ticket was closed. Important to make the “Last Close Date” value a datetime for two reasons. 1.) current time capture does not include hh:mm:ss just the date. 2.)You cannot copy a datetime value (Close Date) to a date picket value and keep the exact time. See NOTE at end for why this “Last Close Date” Can be really useful.
Delay
- delay up to 30 days until one of the following happens
- Property value changed
- Close Date is unknown
- Property value changed
30 days or whatever interval (up to 1 year minus 1 minute) you wish to assign is the limit of time that you want to allow the ticket to reopen before being archived.
Condition met if the close date changes to “unknown”. Close date = “unknown” means that the ticket has reopened.
Condition not met (i.e. the ticket did not reopenwithin the 30 day delay)
- set property value
- Ticket pipeline and status = "Support Archive (closed)
enrollled tickets that don’t reopen within 30 days get moved to pipeline “Support Archive” pipeline with the status closed.
Condition met
condition is met i.e. the ticket status changes to an open status (reopened)
- Set property value
- set Reopen time to the date of this action was executed
capture the reopen time dd hh:mm:ss is not important in this case, but can be useful in tracking the last time that the ticket reopened
- Increase-decrease property value
- increase Re-open Count by 1
increment the “Re-open count” by 1 when the ticket reopens. This can be helpful for troubleshooting when there are many cross association of multiple email threads associated with multiple tickets.
-
Send in-app notification
- Ticket property ID: Ticket name reopened to Ticket owner (and whoever else you wish to know the ticket reopened)
-
Send other notifications (email slack etc…)
Send notifications to whomever you choose with the details of the ticket reopening.
End
Last Close Date: Capturing the last close date details as part of the enrollment process provides the information needed to essentially undo the reopen if the reopen happed erroneously.
Example:
A ticket that had previously been closed for 2 years…suddenly reopens because of an incorrectly associated email gets a reply that triggers a change in status. The result of this is that there is now a ticket whose time to close is 2 years which will completely skew weekly stats for time to close, even though it is not a ticket that was open that long.
Having the date time of the original close, allows you to change the status fo the ticket back to a close state and you can manually set the close date back to its original close time.
The “Last Close Date” and the “Reopen Count” can also be used as indicators that the ticket had previously been closed and reopened…or reopened multiple times.
Reopen count can also be used to help identify behavior or specific agents /employees who may not be following best practices for closing or associating tickets.
Not sure if any of this is helpful, but it has helped me track activity and problem areas in the past for troubleshooting purposes and reporting.
James

