Streamline Your Ticket Closure Process in HaloPSA

By  
Jen Butler
April 7, 2025
20 min read
Share this post

Let’s be honest: ticket closure can be a huge mess in our MSPs.

You open a ticket and see open tasks, unlogged appointments, and missing resolution notes. But it’s marked “closed.” Now someone has to go figure out what really happened. Did those tasks get completed? Those HDMI cables delivered? Is the client still waiting for a response or an appointment?  

If you're closing tickets without making sure everything’s actually done, you’re probably dealing with

  • Billing issues. Tasks or appointments didn’t get logged, so you’re not billing for all the work.
  • Dispatch cleanup. Someone has to re-open the ticket or hunt down details later.
  • Incomplete data. Tickets don’t have the info you need for reporting or future troubleshooting.
  • Wasted time. You’re touching the same ticket multiple times just to wrap it up.

This stuff adds up. And the bigger your ticket volume, the more it costs you in time and money.

To add insult to injury, often that “someone” who ends up doing the legwork to close the gap is usually someone from dispatch or billing, and it's usually not a good use of their time especially when the technician responsible is already off-site half-completing another batch of tickets.

After 11 years in the MSP world, I’ve seen this pattern over and over again. It’s not that technicians are lazy or trying to avoid work. It’s that the system allows this to happen, and no one’s taken the time to fix it.

So let’s use HaloPSA to keep people accountable, ensure tickets are worked to completion, and eliminate the need to play catch up when it’s time to bill for the great solutions we’ve provided for this client over the last term!

One Possible Solution

I have a video working through this solution that you can watch here.  

Basically, we need to create a system that enforces good habits without relying on people to remember every little detail.

To achieve this goal, we’re going to use HaloPSA to:

  • Reduce the ability to close a ticket
    • Block ticket closure if there are open tasks, appointments, or to-dos
    • Remove “closed” or “completed” from quick status changes  
  • Update your Ticket Workflow to allow for ticket closure
    • Add “Resolve” action that checks the ticket first before allowing technician to advance
    • Create Custom Fields
      • One single selection field for the lookup trigger
      • Two rich text fields; one for displaying our message, and one for controlling the HTML.
    • Use simple SQL lookups and custom fields to flag missing pieces
    • Make the process clear, so techs know what to do before they close a ticket
      • Canned Text Values should clearly explain why they cannot close the ticket.  

In addition to the video, I also shared all the custom field setups, canned text, and SQL in this GitHub gist.

In Conclusion

This isn’t about making life harder for your techs. It’s about:

  • Making it easier to bill accurately
  • Giving dispatch less to clean up
  • Making sure the ticket tells the full story
  • Creating better data for the business

It’s one small process change that takes a lot of pressure off your team, especially the people downstream from the techs who are closing tickets.

If you’re running an MSP, or trying to tighten up operations inside your PSA, this is for sure worth 15 minutes of your time.

🎥 Watch the full video here: Streamline Your MSP Ticket Closure Process with HaloPSA

📄 Get the code and setup details here:  Ticket Review & Closure Process in HaloPSA – GitHub Gist

Share this post
Jen Butler

I’m an automations engineer who’s spent the past 12 years helping MSPs stop doing things the hard way. My specialty is solving real problems with real impact by connecting the dots between business needs and the technical tools that make everything run smoother (and way less painful).

I work mostly in Rewst, HaloPSA, and the wonderful world of APIs where I get to build automations that actually do something: save time, reduce errors, and make teams feel like they’re finally in control of their own systems.

Outside of work, I spend my time surrounded by epic tales and an even more epic household: six cats, two dogs, and one small child who believes she’s the main character. She’s probably right.

See some more of our most recent posts...
November 25, 2025
8 min read

By the [run]Book: Episode 12

Episode 12 explores the second half of the HaloPSA 2.204 release—focusing heavily on operational enhancements that matter to MSPs. From SLA fixes to asset relationship control to better filtering and improved chat API hooks, this is a release packed with workflow refinements.
Read post

In Episode 12 of By the [run]Book, Mendy and Connor continue their deep dive into HaloPSA release v2.204, covering the second half of this massive update. They break down critical enhancements across SLAs, custom fields, assets, chat, Google Workspace, billing, documentation, and integration workflows. This episode is ideal for MSP operators, service managers, and Halo administrators looking to understand not just what changed—but how those changes impact real-world processes.

Here's a few Key impactful updates featured in this episode:

· ATimezone option has been added to Agent details (998146)
Ensures holiday/PTO allowances calculate correctly based on each agent’s actualtimezone—preventing mid-day rollovers for distributed teams.

· Improvementsto the Google Workspace integration (987605)Updated user-matching options to now allow the use of both username and email.

· Restrictedasset relationship types (897671)
Allows admins to control which relationship types can be used between differentasset classes, preventing illogical or messy asset mappings.

· Separatepermission for impersonating users (747369)Impersonation no longer requires full admin rights, enabling safertroubleshooting and testing by leads, onboarding teams, or QA staff.

· Optionto select different email templates when sending invoices (574826)
Staff can now choose from multiple invoice email templates—helpful for voided,corrected, or specialized billing communications.

· NewSLA setting: user replies reset the response target even when on hold (920093)
Fixes unpredictable SLA behavior by ensuring user updates always reset theresponse timer, eliminating false breaches.

· Ticketlist filters now support Client, Site, and User custom fields (965190)
A major visibility upgrade that allows filtering by Client, Site, User customfields, and other options.

· Pre-paybalance type can now be set per contract (758980)
MSPs can now choose hours or currency on a per-contract basis—ideal for clientswith mixed prepay models like retainer hours and project funds.

Watch Now: By the [run]Book: Episode 12
For easier tracking, check out haloreleases.remmy.dev to filter and search HaloPSA updates by ID, version, and keyword.


Full Feature review:

A Timezone option has been added to Agent details which initially will only be used to ensure that the Holiday allowance calculations are correct | v2.204 #998146 | 2:04
Ensures holiday allowance calculations respect each agent’s timezone.

Various Embeddable Chat Widget API improvements | v2.204 #993194 | 7:42
Adds more customization and event capabilities to Halo’s external chat widget.

Various improvements to SAF management | v2.204 #987889 | 9:23
Enhances the Service Architecture Framework.

Improvements to the Google Workspace integration | v2.204 #987605 | 13:02
Adjusts Google user matching behavior.

Added a ticket setting to show the department a team belongs to when assigning/re-assigning | v2.204 #983485 | 15:29
Displays department context during ticket assignment.

The FAQ list now shows in the portal URL when navigating through the Knowledge Base | v2.204 #983353 | 16:02
Improves navigation clarity when browsing FAQs.

Slack notifications can now be triggered by CRM Note updates, Site updates and specific Agent Actions | v2.204 #982479 | 16:27
Expands Slack integration coverage.

Added Agent Team Mappings to Microsoft Entra ID | v2.204 #979667 | 16:36
Allows syncing team membership from Entra ID.

The change management fields ‘Impact’ and ‘Risk’ can now be used in Risk Score calculations | v2.204 #975163 | 19:31
Improves accuracy of Change Management scoring.

Added a general Ticket setting that when enabled, the Can Edit Advanced Ticket Details permission is required to bulk change Ticket Priority | v2.204 #971319 | 21:58
Adds protection against mass-priority edits.

Charge Rates/Types can now be ordered by a sequence number set on the Charge Rate/Type setup | v2.204 #969791 | 22:33
Enables custom sorting of charge rates.

Minor report Chart filtering UX improvements | v2.204 #969514 | 23:20
Improves visual continuity when filtering dashboard charts.

You can now use Client, Site and User Custom Fields as criteria for Ticket List filters | v2.204 #965190 | 24:58
Significantly expands filter capabilities.

Added option to send an Email to a specified Agent when a Runbook fails | v2.204 #957580 | 27:45
New notification option for automation failures.

Added a notification trigger for when a User uploads a document to a specific folder | v2.204 #955651 | 27:53
Useful for client-upload workflows.

Added Access Control to Folders when using Document Management | v2.204 #955650 | 28:09
Brings permissioning to folder-level document storage.

‘Top Level’ field now available when creating an Account/Prospect from the new Opportunity screen | v2.204 #923428 | 30:08
Allows proper top-level assignment for accounts/prospects.

Customer & Site level custom fields now have the option to be displayed under the customer record when logging a ticket | v2.204 #920539 | 32:06
Surfaces client metadata during ticket creation.

Added a global SLA setting to allow user updates to reset the response target regardless of whether the ticket is on hold | v2.204 #920093 | 34:13
Fixes a major SLA limitation.

Added the ability to restrict the allowed relationship types when relating assets | v2.204 #897671 | 39:30
Prevents invalid asset relationship mappings.

You can now import Service Level Agreements (SLAs) & Priorities using an XLS spreadsheet | v2.204 #841750 | 40:34
Enables bulk-import of SLA structures.

Added asset and service business and technical owners as notification recipients | v2.204 #801201 | 41:42
Provides more targeted asset/service notifications.

Improvements to the Jira Software integration | v2.204 #796046 | 43:04
Enhances mapping, syncing, and mention handling.

Unapproved holidays now show with a dotted border | v2.204 #795392 | 44:59
Better visibility in calendars.

You can now save emails from Mail Campaigns as email templates | v2.204 #762793 | 45:06
Allows reuse of campaign email layouts.

Pre-pay balance type can now be set per contract | v2.204 #758980 | 46:33
Adds contract-specific prepay logic.

You can now view the amount of hours invoiced so far on the billing tab of a ticket | v2.204 #749755 | 48:13
Adds visibility into billed time totals.

Added a separate permission for impersonating users | v2.204 #747369 | 48:37
Impersonation no longer requires full admin.

Added option to select different email templates when sending out invoices | v2.204 #574826 | 49:02
Choose among different invoice email templates.

Creating a Purchase Order from a Sales Order line will now set the Sales Order line Supplier field and updating the Purchase Order line price will update the Sales Order line cost | v2.204 #417125 | 50:38
Fixes cost/supplier syncing between SO → PO.

December 3, 2025
8 min read

Chapter-by-Chapter Discussion Questions for The Go-Giver by Bob Burg: Chapter Eleven - Gus

In this chapter of The Go-Giver, we re-meet Gus, not as the useless coworker, but the one with a powerful secret. This discussion dives into authenticity, neurodivergent masking, and how “customer service voice” can be either healthy adaptability or self-erasure. Ideal for MSP and remote teams rethinking how connection really works.
Read post

About this Series

This discussion guide is part of Rising Tide’s Fall 2025 book club, where we’re reading The Go-Giver by Bob Burg and John David Mann.

If you’re just joining us, here are a few pages you’ll likely benefit from:

Chapter Summary

In Chapter 11, Joe learns more about “Gus,” who he is, and why he does what he does!  

Discussion Questions

Use these open-ended prompts to guide reflection and conversation. Remember, there are no right answers!

  • Well, did you guess it? Did you know Gus’ role was before this chapter?
  • How did your perception of Gus change when you realized he was the connector Pindar kept referencing?
  • In your own life, who are the “Guses”—the quiet connectors who don’t lead with their résumé but who hold networks together?
  • Does being masked or guarded in some contexts undermine your authenticity overall, or is it reasonable self-protection?

Rising Tide Input for your Consideration

  • Authenticity in Context. Our group debated whether authenticity must be consistent across all areas of life. Neurodivergent masking and professional role-switching complicate the idea that “the way you do one thing is how you do everything.” Exploration angle: how do context, safety, and identity shape authentic behavior?
  • Balancing Professionalism and Emotional Reality. The group also discussed how we find ourselves able to flip from personal conflict within a team or close relationship to “customer service voice”. Do you consider that skill that adaptability or self-erasure? What do you consider to be the difference between healthy role-shifting and burnout-inducing masking?
  • The Hidden Connector. Gus embodies quiet influence and value created through long-term generosity, consistency, and relationships rather than status or self-promotion. What makes certain people “super-connectors,” and how does that play out in technical or remote-first industries like MSPs?

About Rising Tide and our Book Club

Rising Tide helps MSPs and service-focused teams build better systems: the kind that align people with purpose.

Every Friday at 9:30 AM ET, we host Rising Tide Fridays as an open conversation for MSP owners, consultants, and service professionals who want to grow both professionally, technically, and emotionally. In Fall/Winter 2025, we’re walking through The Go-Giver, chapter by chapter.

If that sounds like your kind of crowd, reach out to partners@risingtidegroup.net for the Teams link.
Bring your coffee and curiosity…no prep required.

December 3, 2025
8 min read

Chapter-by-Chapter Discussion Questions for The Go-Giver by Bob Burg: Chapter Ten - The Law of Authenticity

What if the real value you bring to your work, clients, and relationships isn’t your pitch, your process, or your polish—but you? This post walks through The Go-Giver’s Law of Authenticity, major blows to self-esteem, and why relationships aren’t 50/50. Learn how to add value simply by showing up as your honest, imperfect self.
Read post

About this Series

This discussion guide is part of Rising Tide’s Fall 2025 book club, where we’re reading The Go-Giver by Bob Burg and John David Mann.

If you’re just joining us, here are a few pages you’ll likely benefit from:

Chapter Summary

In Chapter 10, Joe learns the Fourth Law of Stratospheric Success — “The Law of Authenticity” — from a now-successful saleswoman who found this truth when she was at her lowest.

Discussion Questions

Use these open-ended prompts to guide reflection and conversation. Remember, there are no right answers!

  • “These lessons don’t apply only to business…the true bottom line is whether it improves your life’s balance sheet.” What are things that improve your own balance sheet of life? Family? Hobbies? Travel?
  • Have you ever had a major blow to your self-esteem like Debra’s husband leaving her? Have you ever looked at is as a gift? What if you did?
  • “Add value. I had nothing to add but myself”. Have you ever considered that you, as you are, brings value to a relationship? Yes, your perspective, your experiences, but more than that, your presence is valuable in a relationship!!
  • What do you consider to be people skills? To be a person?

Rising Tide Input for your Consideration

  • How does privilege (financial cushion, partner support, social safety nets) affect whether we’re able to call adversity a “gift”? As leaders or teammates, what responsibility do we have to build safety nets for our people (policies, culture, financial practices) so they don’t fall off a cliff when life hits?
  • John & Julie Gottman – Fighting Right & Repair. The Gottmans’ work shows that what predicts relationship health is not whether you fight, but whether you repair effectively afterward, mirroring what we discussed about client relationships and authenticity.
  • Brené Brown – “Marriage is Never 50/50” - Short clip where Brown explains why healthy relationships aren’t equal splits but ebb and flow based on capacity, reinforcing the idea that we bring our best available self, not a fixed quota.sometimes they're 30-70...and sometimes they're 30-30...you should only be expected to bring your best. Because we are rarely able to be 100% consistently!
  • The Framemaking Sale - by Brent Adamson and Karl Schmidt; so often relationships aren’t just about US or what we perceive we need to be, but rather how we can make the other person feel confident and comfortable in their own decisions.

About Rising Tide and our Book Club

Rising Tide helps MSPs and service-focused teams build better systems: the kind that align people with purpose.

Every Friday at 9:30 AM ET, we host Rising Tide Fridays as an open conversation for MSP owners, consultants, and service professionals who want to grow both professionally, technically, and emotionally. In Fall/Winter 2025, we’re walking through The Go-Giver, chapter by chapter.

If that sounds like your kind of crowd, reach out to partners@risingtidegroup.net for the Teams link.
Bring your coffee and curiosity…no prep required.