Ripe for the Picking: Maximize your Conference ROI

By  
El Copeland
February 28, 2025
20 min read
Share this post

Answer a question for me, and be honest.  

When you sign up to attend a conference, what is the point?

I would guess that your answers, with a varying levels of importance, include networking with peers, expanding your knowledge, getting insights on latest trends, meeting vendors or influencers you’ve been following, and having a few nice meals or drinks in a city you don’t often visit.  

Did I get it right?

Ok, follow up question. Think back to the most recent conference you attended.  

Did you accomplish what you wanted to when you signed up in the first place?  

It’s ok, this is a safe place.  

There are a variety of reasons a conference may feel like a bust to you. Maybe the speakers had an off day (or in reality weren’t as good as you hoped). Maybe the session synopsis wasn’t an accurate reflection of the actual content provided. Maybe you were up too late the night before and accidentally slept through the sessions you were most looking forward to.  

Or maybe, maybe, you experience what I have, which is that everything went perfectly: you attended all sessions, cheered when you were supposed to, participated in meaningful conversations with peers and mentors, had an uneventful trip home, and yet, something still feels wrong.  

Right of Boom, February 2025. It's been two weeks and I think I'm still recovering from Pacific Time. L to R: Tara Rummer, El Copeland, Kass Lawrence.

While exhilarating, at the end of these trips I’m exhausted, and yet the horrors, er, I mean, responsibilities wait for me. Those good ideas and clever tools quickly fade away, only to resurface in the occasional conversation, but rarely through intentional practice.  

And then, you look at the budget. Between travel, meals, the conference pass, and your time away from work, attending a conference is a true investment.  

With networking, sessions, and vendor conversations, how do you actually implement your investment into what you've learned, follow up with the people you’ve met, or pursue that tool that's going to change your life?

I have some thoughts on that. But first, let’s talk about gardens.  

On gardens, goals, and going to conferences.

When planning any event, project, or goal, I'm sure you’ve heard someone wryly cite Murphy’s Law (“Anything that can go wrong will go wrong”) or quote the poet Robert Burns: “The best laid plans of mice and men oft go awry.”  

The implication? Don’t plan too much, just go with the flow. If you don’t plan, you can’t be disappointed.  

I hate it when people say that. And not just as a driven, technical, successful person. As a practical, down-to-earth person with a garden in my front yard, it’s the quickest way to tell me that you’re out of touch with reality.  

Let me paint you a picture using tomatoes (or another delicious fruit of your choosing).  

Every tomato gardener and farmer plants with the end goal in mind: a beautiful, bumper crop of brilliant red tomatoes, sun ripened and perfect for sandwiches, sauces, and salads.

One year, I swear I ate cherry tomatoes for breakfast everyday, since I would pick them from our plot in the community garden before work.

But you don't just plant the seeds and immediately get the fruit. A full growing season looks like this:  

  • You choose. You choose your tomato variety according to those that suit your palate, use-case, length of growing season, and environment. In Georgia, we have a much longer growing season than my friends in Ohio, so I can easily plant larger and slower growing varieties than they can, maybe even twice in a growing season!
  • You plant. You plant them at specific times depending on the maturity of the product (are you using seeds or saplings), how much time you have before average last frost in your area, and your growing situation (is it indoors, in a greenhouse, or outside in the ground?)
  • You protect. As they grow, you watch them for signs of distress and you protect them from pests or problems. You smash caterpillars, prune judiciously, and trellis them early, giving them their best chance to provide good fruit. You watch for Volunteer Plants and determine if you want to keep them or weed them out to focus on your main crop.
  • You actively invest. You water and feed your plants meticulously. As the fruit ripens, you wait for the color to deepen and the right time to pull them from the vine. The trellis you put up earlier has given you places to tie branches to if the fruit gets too heavy.  
  • You harvest. If you’ve done it right, you have too many to eat before they go bad and will scramble to find friends, neighbors, and co-workers to gift them to, ways to preserve them through canning or drying. Otherwise, you may have to leave them to rot on the vine.  
  • You do it all again. And then, at the end of the summer, when the plant is spent, you have to decide what to do with what is left on the branch. Perhaps there are ones the birds got to before you, rotting on the ground. Perhaps there is a slew of green tomatoes that you can pull and make a meal of. You also need to decide what you will plant next, and if the soil is ready for it.  

Life happens. Just because I planted tomatoes doesn't mean I harvest tomatoes.

Just because I put a trellis up for my tomatoes doesn’t mean I can dictate where each branch will weave and grow. It just means there is a structure there for it to fall back on when things literally go sideways.  

When you know what success looks like (a full, healthy tomato plant with brilliant red fruit), you can iterate from there or return to it when things inevitably go wrong, like needing to tie the branches that have gotten too heavy.

The goal is rarely perfection, but consistency and accountability so you can gain the literal benefits of the fruit of your labor. This metaphor on gardening is something I apply in both my personal and professional life (Starting Seeds: Episode 1 - Let's Grow!), but it’s especially critical at conferences. Conferences are fast-paced, exhausting, and packed with information. It’s easy to get caught up in the moment and never actually apply what you’ve learned, leaving beautiful tomatoes rotting in the sun.  

Pre-planning and setting your intentions not only help you stay focused but also gives you more flexibility. Ironically, preparation makes it easier to pivot when plans shift. It also gives you the mental clarity to clean up at the end of the season and better prepare the soil for what you want to do next.  

Quick sketch of how I wanted to do crop rotation to ensure nutrients in the soil and pest repellants we are ideal levels. Ask me if this is what I actually did. (Hint: it was not.)

So join me in our figurative conference gardens and let’s look at how we can better set ourselves up for success and that bumper crop of good ideas for our businesses, communities, and personal growth.  

Visualize your success and plan accordingly.  

One of the unspoken lessons that underpins our analogy about tomatoes is that time matters. Setting small things in motion early on allows for success because there are other parts of your environment (sun, rain, pollinators) that can do the work while you’re not actively thinking about it.  

  • Pick your Seeds. Set Your Intentions.  
    • Read the agenda. Look at the sponsors, look at the session summaries. Consider the Pre-Day learning opportunities or certification add-ons.
    • Determine your big goals. Are you looking for new tools, career development, networking, industry insights? What does a successful event look like to you?
    • Consider other special aspects of this event. Who do you want to meet? What do you want to learn?
    • Talk with Your Team. Sometimes knowing what your colleagues are interested in learning from a conference makes you more engaged with topics you’d otherwise overlook.
  • Prepare the Soil. Pre-Prep what you can.
    • Plan out the Schedule. Drop sessions you wish to attend into your calendar or export them from the app. Plans will change—document why they did! That insight is valuable.
    • Identify your Tools. What will you use for note-taking, for connecting with others, or for making your life easier during this trip? Do you need to make business cards, pack company shirts, or a battery to charge your phone and tablet after a long day of sessions? 
    • Lay out your trellises. How can you take ordered notes instead of scribbling on the back of business cards or sale sheets? I have a template in OneNote that I’m sharing, if you’d like a place to start (find it at Doodles or Data: A Conference Note Survival Guide). Maybe you use a nice AI transcription tool like PLAUD.AI or Otter.ai. Make sure your devices are charged and there aren’t rules about recording at that event or session.  
  • Evaluate the Spacing. Don’t Overcrowd.
    • Make sure you’re not overcommitting. Roots need to go deep for successful plantings, in both business and the garden. Review the schedule and give yourself breathing room to meet other people, even block off hours you should be in your room sleeping!  
    • Communicate with people who may need you. At Rising Tide, we expect our team members to attend at least 75% of the sessions. Therefore, it’s important to let customers and colleagues know you’ll be offline.  
Sometimes even if you THINK you're being moderate, you're not considering the actual space plants and ideas need to grow! (Yes the watermelon vines escaped to the sidewalk and street this pictured year.)

Tend to your goals and protect them with vigilance.  

Watch what you’ve planted and care for it.  That means using wisdom to prune, weed, stake up and feed your garden as needed, with a careful eye for success. I had to remove the word "ruthless" at least three times in this section. While the word is gone, my sentiment remains and I encourage you to use it freely in this section where I say "careful, intentional, test, focus...": you are the protector of your business and your ideas. One of my favorite sayings is, "If everything is important, nothing is important." What is important? Be intentional about focusing on that and letting everything else go to the wayside.

  • Prune ideas with precision. Don’t just mindlessly consume.
    • Take notes, but don’t try to be too thorough. Focus on engaging in the sessions, ask questions, and write just enough to help jog your memory or find the source information later.
    • Test everything that is said. Does that check out to you? Do you have further questions? Throw out the bad stuff, keep the good.  
  • Squash Bugs, Pull Weeds that are leeching your time.
    • Limit Distractions. Set aside time in the morning or afternoon for minimal client work but remember—you’re here to learn and connect with the environment at the conference.
    • Sometimes the distractions are good things. Above, I mention volunteers in the garden. Sometimes the plants that grow are viable and welcome additions to your investment. Only you can determine if splitting resources between those bonus plants and your intended produce is worth chasing. Be careful about your time and energy, but be gracious and understand that sometimes it's the surprising things that come up naturally are the most hardy and equipped for your garden!
    • Tell people no. This one is really tough, but be intentional about doing so and do it kindly! You're here to learn and grow as a person AND a business. Learn how to identify what is adding to your experience and what is just a distraction.  
Last year, I had TWENTY tomatillo plants volunteer in my garden. I culled that to SIX plants and ended up with nearly 10lbs of tomatillos anyway.
  • Trellis liberally. Return to the structure you created as necessary! It’s ok if you miss a session because you were talking to someone in the hallway. It’s ok if you get up and leave a session because it’s clearly not a good fit.  Again, it’s not about perfection, it’s about the end goal.  
  • Add Water and Nutrients as Needed. Literally.
    • Eat a vegetable. Drink water. Sleep. It’ll help your performance.  
    • Be moderate. You know what I'm saying. Have a good time, but keep first things, first. (And if you’re going to drink heavily, as your MSP Channel Big Sister, drink a glass of water in between each drink and take some B Vitamins, ok?)

Speaking of setting goals at conferences, Tara Rummer at Immy.Bot and Immense Networks, gave her insight in a recent conversation:  

We always did a little powwow before events to discuss what sessions each of us would be attending. And during the event (and after) we would do check-ins regarding something we've learned from our morning or afternoon... Or maybe you met an awesome vendor or had a hallway conversation that stuck with you. All of that was fair game! Learning isn't limited to planned content!  
 
I always kept the maximum to three things you learned that day because the amount of information you take in at events can be overwhelming. There are so many intelligent people talking about their passions and successes / failures.  

Tara makes some great points, but specifically, this is a good place to mention the 3-3 approach, which can help you focus and fortify ideas or experiences, either by challenging you to do more or challenging you to do less! The emcee at Right of Boom 2025, Robert Cioffi, mentioned a version of this from the stage this year. At Rising Tide, I word it like this:  

  • Meet 3 New People. It’s tempting to only hang out with people you know already. When else do you get to spend time with a friend who lives on the other side of the world? That said, go out of your way to sit at a different table for meals, introduce yourself to people sitting near you in the conference hall, or add the keynote speaker on LinkedIn and tell her what you enjoyed the most about her talk!  
  • Find 3 “New” Products. Learn about (and limit it to) 3 new tools, services, or vendors you weren’t familiar with. How do these tools compare to other ones you’re familiar with? What do you NOT like about them?  
  • Identify 3 Points of Potential. What are 3 key insights you can bring back to the team that could impact your business or industry? Was there a common theme all speakers mentioned? A valuable phrase or saying that meant a lot to you?  

Actively harvest the bounty.  

What’s the point of a good tomato if you can’t take the first one and immediately slap it between some white bread with salt and pepper and mayonnaise? (By the way, the Duke's and Hellman's argument is wrong, it should only be Kewpie)

Often in a garden, the fruit comes to maturity in waves. It is up to us to determine what we want to do with it.

Back to Tara's experience at Immense and Immy.bot: 

At the end of the event we would each come back with one or two large takeaways.... Something we'd like to try, a vendor we'd like to meet with, etc.  
 
I've seen a lot of people come back from events and try to change everything all at once, which quickly caused dumpster fires within their teams. I've tried to put guardrails up to help guide the team a bit and keep them away from shiny objects.

Oof. Your team is your wealth and overwhelming them or frustrating them is a quick way to lose not just morale but efficiency! How can you, like Tara, put up guardrails up to protect their time? 

For me, the heart of this is to take the key things you learned and actually celebrate and use them!

  • Harvest, sort, and enjoy the fruit.
    • Do it yourself, first. For me, I personally set one hour aside to complete this step, either on the flight home or first thing in the office with a fresh cup of something warm. It is low-dopamine and I’m often tired, but this is super vital and what all the other “steps” have led to. Just do it. Finish strong and power through, don’t get distracted.
    • Analyze your Notes. Fill out the notes that you only half jotted down. Use a generative AI tool to analyze the entire event and sessions including your notes. Highlight and pull-out questions you may have asked, or tools mentioned that you’d like to research further.
    • Review with your Team. If my team is with me, we set time aside to accomplish this step before we leave the event.
  • Share the bounty. Conversations that spring from teaching others often lead to better understanding of the content and also better and stronger ideas! Do so liberally!  
    • Teach your team in a team meeting what the best things you learned were.  
    • Share with community. Write a blog post, film a reaction video, or post insights on LinkedIn.
This is what I couldn't eat alone at one harvest for my garden and so I brought it to my local community fridge. There were more harvests and more trips to the community fridge.
  • Preserve what you cannot use and be ok letting some go. You are going to come up with so many ideas. Take the good ones that you can implement now (literal “low hanging fruit”) and be intentional about setting a timeline for returning to the other ideas.  
    • Put good ideas worth implementing later in a meaningful place, like a project board in your PSA or another collaborative note-taking tool.  
    • Not every good idea is able to be executed with your current time and resources. And that is ok. You can always grow more, and composting puts those nutrients back into your garden as soil amendments that can feed the other ideas you have!
    • Some ideas aren't good for now, or this season. Intentionally putting them aside means they can actually be ready when the time is right.
Ten pounds of sweet potatoes grew from one sweet potato I couldn't use last year. I chucked it in the garden and nature brought the bounty at the right time and season.

Make your plans for what is next.  

In the end, sometimes you end up harvesting something that you didn't expect, but that worked out.

Did you see my photos about tomatillos? I didn't even plant those and they kept our home fed that entire summer. What did I learn? Next time, I'll only keep two plants so they don't overtake my garden!

So, how did this harvest go? What can you do better next growing season?  

  • Honestly Review the Harvest.
    • Did you pick the wrong seeds for your business needs? Which sessions were worth it? What didn’t you agree with? Should this conference be on the calendar next year? Were you the best person to attend, or should someone else on your team go next year?
    • Was this completely the wrong fruit to grow? There are so many events you could attend, within our industry and industry adjacent. How do you choose and how do you vote with your money and energy, on which ones are actually building our industry and which ones are detracting from it? A large portion are just dog-and-pony shows, built to capitalize on FOMO, with smoke and mirrors, and to send you home on a high that you may never match. Are you actually getting what you need out of these events, or are you the product?
    • What should you do differently? You know what they say: do what you've always done and get what you've always got. Expand your horizons based on your business goals. If you're looking for a good place to start, I've attended, volunteered for, and spoken at MSPGeekCon – A Conference for MSPs by MSPs since its inception in 2023. If you're looking for a conference that is going to teach you and your team as the core focus, get your tickets for their upcoming 3rd year at MSPGeekCon 2025 Registration.
My buddy Jonathan "Sauce" Marinaro and I speaking at MSPGeekCon 2024 on Civics for Techs. Photo by Will Dowling.

  • Follow Up on things that will support your future Gardens. I hate to make this one so trite. But like, just do it. Make a plan and execute it. Connect with people you met on LinkedIn, send emails to continue conversations with vendors, implement ONE thing from the conference into your process, and turn other notes into clear action.
  • Prepare the Soil for next year.
    • What can you do now? Do you need to lay a cover crop, plant a complementary plant, or turn it over and add fertilizers or amendments? (What do you need to do to invest in your business NOW so it can be more receptive next season?)
    • Should you do nothing? Do you need to let your soil lay fallow for a season to regain balance? (Maybe you’re adding too many things and you should work on maintaining what you have before adding anything else)
    • Should you change your approach? Do you need to move where you plant that crop to a different area on your property with better drainage or sunlight patterns?  (Maybe your market doesn’t even want what you have to offer and you need to rethink your focus.)
    • Should you do something completely different? Do you need to evaluate why you were planting in the first place and maybe you just want to be a goat farmer? (Is this even what you want to be doing? Should you be prepping someone else to do this or lead?)
Leaves from my backyard covering the onions and shallots I planted as I exercise crop rotation and intentionality with what grows next and best together.

Put your effort where it rewards you.  

At the end of the day, a garden only succeeds with the right combination of time, resources, and attention.  

And a conference is exactly the same way. It is truly only as valuable as the effort you put into it.  

Let’s face it, we’re all exhausted and it’s easy to be a consumer. It’s easy to just go to the grocery and pick up a beautiful tomato that someone else made.  

It’s easy to only meet with people or vendors you already know and like. It’s easy to just take what people give us and check a box saying we attended an event. It’s easy to mindlessly take in what you’re being fed – to not question it, to not challenge it, to not chew it up and consider if it actually serves you or not before swallowing the meat, fat, and gristle in one bite.  

I propose to you, friends and colleagues, that you can attend every session, shake every hand, and still walk away having wasted your time and money if you’re not actively tending the garden and harvesting the fruit in your personal and professional life.  It is vital that you consider your agency and power in controlling your own growth and own destiny. We must be intentional with our time and resources if we are to harvest the best fruit.  

Lastly, if this speaks to you and you attend conferences for the content, I intend to create a conference content webinar that reviews conference material and gives people a chance to ask questions and to determine what action could and should look like following conferences in our industry. Find me on LinkedIn and let’s talk about collaborating and making this happen together or come find me at MSPGeekCon!  

I look forward to continuing to tend to our industry, together.  

Love,  

El

Just me running part of the game room at MSPGeekCon 2024 - An offering I petitioned to include to help give people alternative ways of connecting with each other instead of over loud music in a bar! You'll probably find me in the game room again this year.

Share this post
El Copeland

As Partner and Business Consultant at Rising Tide, I help organizations align culture with efficiency, bridging the gap between strategy and the everyday systems that make it work. I’ve spent my career leading diverse, cross-functional teams and building communities where people actually want to learn and collaborate. With roots in technology, education, user experience & design, and project management, I specialize in turning complex ideas into clear, actionable plans that keep both people and projects thriving.

Outside of work, you’ll usually find me weight-training, gardening, or rewatching Doctor Who with a cat in my lap.

See some more of our most recent posts...
March 17, 2026
8 min read

By the [run]Book: Episode 17

Episode 17 wraps up 2.21 and begins 2.212 covering key HaloPSA updates across billing, SLAs, and ticket workflows. Highlights include dynamic ticket filters, default billing templates, and improved billing visibility—making this a must-watch for MSPs optimizing operations and reporting.
Read post

Episode 17 warps up the breakdown of version 2.21 and begins 2.212, highlighting impactful updates across billing, SLA visibility, and ticket management. The team dives into major improvements like dynamic ticket filters, default billing templates, and better billing tab access controls. This episode is especially useful for MSPs looking to tighten billing accuracy, improve reporting visibility, and streamline ticket workflows.

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

Important Mentions

Billing Tab Visibility Changes | v2.212 #1062249 | 30:16

The Billing tab is now visible to agents without requiring full billing permissions, with actions locked based on access.

  • Improves visibility without over-permissioning agents
  • Reduces need to grant risky billing permissions
  • ⚠️ Be cautious: exposing billing data still requires process control and training (as discussed in the episode)

SLA Breach Visibility for On-Hold Tickets | v2.21 #795425 | 12:33

Tickets on hold can now be included in SLA breached filters.

  • Previously, putting a ticket on hold could hide SLA breaches
  • This setting ensures accurate reporting and accountability
  • ✅ Recommended: turn this on immediately

Default Billing Template for New Customers | v2.21 #792419 | 13:01

You can now define a default billing template applied automatically when creating a new customer.

  • Removes need for custom automation to apply templates
  • Ensures consistent billing rules across all customers
  • ✅ Recommended: enable this and retire older automation-based approaches

Dynamic Ticket Filters | v2.21 #772177 | 16:52

Dynamic filters can now be used on ticket lists for more flexible querying.

  • Enables complex AND/OR filtering logic
  • Reduces reliance on multiple saved views
  • Opens the door for more advanced automation without SQL
  • 🚀 One of the most impactful usability improvements in this release

FullFeature List

Changing the Product/Item 3rd Party ID reference will now be copied to recurring invoices when configured in Item Settings | v2.21 #956174 | 5:23

This helps keep recurring invoices aligned when item third-party IDs change.

  • Useful during accounting platform migrations
  • Reduces manual cleanup on recurring invoice records
  • Helps preserve item mapping consistency across systems

Invoice Due Date option "Equal to Invoice Date" has been added to the Recurring Invoice options to match the options at Customer setup | v2.21 #933961 | 6:09

Recurring invoices now get the same due date option already available at customer setup.

  • Brings recurring invoice behavior into line with customer billing settings
  • Helpful for teams that want cleaner due date standardization

You can now hide the ‘Approve/Reject All’ buttons on the Portal My Approvals page and require approval notes to always show ticket details | v2.21 #898703 | 6:22

This adds more control to portal-based approval workflows.

  • Helps avoid overly broad one-click approval behavior
  • Encourages better review discipline
  • Improves auditability around approval notes and detail visibility

Added 2 new Site-level settings to create invoices against a different Customer | v2.21 #859082 | 6:40

This extends alternate invoicing behavior down to the site level.

  • Adds more flexibility for multi-site or multi-entity billing setups
  • Useful where billing responsibility differs by site rather than customer

Added a setting "Re-assign tickets to unassigned when the assigned agent is made inactive" to the Microsoft Entra integration to allow agent tickets to be re-assigned if they are deactivated via an import | v2.21 #833690 | 7:04

This helps prevent tickets from disappearing into inactive-agent limbo.

  • Particularly useful when Entra sync deactivates agents automatically
  • Helps surface tickets that might otherwise get lost
  • Worth reviewing carefully because reassignment can also affect downstream reporting

You can now add Primary Agent, Secondary Agent & Account Manager as criteria for ticket filter profiles and lists | v2.21 #827931 | 9:50

More ticket list criteria means more practical operational views.

  • Lets you filter based on responsibility relationships, not just ticket ownership
  • Useful for dashboards, routing views, and account oversight lists

Improvements to ManageEngine Endpoint Central Integration | v2.21 #815251 | 10:11

This update improves the ManageEngine Endpoint Central integration.

  • Better integration maturity is always welcome for teams relying on external RMM/endpoint tooling
  • Useful for shops standardizing around that stack

Added the ability to use generic Open ID Connect single sign-on | v2.21 #814980 | 10:36

Halo now supports generic OpenID Connect SSO.

  • Expands identity provider compatibility beyond more limited built-in options
  • A solid improvement for organizations with more advanced authentication requirements

Added the ability to clone Item Bundles | v2.21 #801764 | 11:31

You can now duplicate item bundles instead of rebuilding them manually.

  • Saves setup time
  • Helpful when creating variations of similar commercial offerings

Added settings in asset management and services configuration for the name shown for the assets and services areas | v2.21 #798807 | 11:36

This adds more naming flexibility to the UI.

  • Lets teams align terminology with internal language
  • Helpful for organizations that want the platform to better match how they talk about assets and services

Added a setting to the SLA configuration to allow tickets that are on hold to be included in the SLA Breached filter for ticket lists | v2.21 #795425 | 12:33

This makes SLA breach reporting more honest and more useful.

  • On-hold tickets can still be breached, and now your filters can reflect that
  • Recommended setting to enable for better service visibility

You can now set a default billing template, picked up when creating a new customer. | v2.21 #792419 | 13:01

A major improvement for standard billing configuration.

  • Great for MSPs using a common template across all new customers
  • Replaces the need for custom customer-created automation in many environments

Added support for asset-based meters on recurring invoice lines, enabling managed print functionality | v2.21 #787149 | 15:28

This adds more flexibility to meter-driven recurring billing.

  • Especially relevant for managed print and other metered service models
  • Supports scenarios where an asset carries multiple billable meter values

Added the ability to use dynamic filters on ticket lists | v2.21 #772177 | 16:52

Dynamic ticket filters add a much stronger filtering experience.

  • Supports grouped filter logic beyond basic visible-column filtering
  • Helps reduce list sprawl and improves usability for operations teams

Added the ability to clone custom fields | v2.21 #722363 | 21:17

Cloning custom fields speeds up admin work.

  • Useful when building multiple similar fields
  • Cuts down repetitive configuration effort

Improvements to Pie and Doughnut Chart data labels | v2.21 #638315 | 21:49

This update improves chart label readability.

  • Helpful for dashboard clarity
  • A small but welcome quality-of-life improvement

Improvements to the Update Encryption option found in Security/Advanced Settings | v2.21 #510731 | 22:24

This update refines the encryption update workflow.

  • Relevant for teams actively managing advanced security settings
  • Another admin-side quality improvement

A setting has been added to Call Management configuration to show the user's preferred number on the call screen | v2.21 #510517 | 22:56

This improves call handling context.

  • Puts the preferred number front and center
  • Helpful for service desks handling inbound and outbound calls

Properties have been added to Item and Item Group for "Number of decimal places to use for quantity" that will affect the default decimal behaviour | v2.21 #228735 | 23:17

This gives more control over quantity precision.

  • Useful for products or services sold in partial units
  • Helps tailor quantity behavior to the actual commercial model

When using the configuration option to allow all Project and Tasks to be chosen when creating a Project from a Sales Order line, this will now include Tickets if they are linked to a Sales Order line | v2.212 #1062502 | 25:12

This improves flexibility when linking work records from sales orders.

  • Helpful for teams using tickets instead of projects in some fulfillment scenarios
  • Better supports mixed service delivery workflows

The Billing tab of a Ticket will now show for agents without requiring the Billing Details permission. Actions and properties within the Billing tab will be locked depending on permissions | v2.212 #1062249 | 30:16

This adds better billing visibility without fully exposing billing controls.

  • Good balance between awareness and security
  • Still requires caution around how teams use the billing area

ID can now be specified in a Ticket spreadsheet (XLS/CSV) import to update existing Tickets | v2.212 #1062155 | 32:34

Spreadsheet imports can now target existing tickets by ID.

  • Makes bulk updates easier
  • Useful for admin cleanup or migration workflows

The heading for the timer on the Ticket details pane has been removed | v2.212 #1061107 | 32:50

A small UI cleanup on the ticket details pane.

  • Frees up a bit more space
  • Minor but sensible interface polish

A configuration option has been added to allow Co-managed agents to log time | v2.212 #1060620 | 33:09

This adds flexibility for co-managed support models.

  • Lets co-managed agents participate more directly in time tracking
  • Helpful for shared-service or hybrid support arrangements

An option has been added to the CSP Integration so that you can map Users to "Do not import" so that mappings will not be automatically created for them in cases when the Users are not within the scope of a specific tenant permissions. | v2.212 #1060619 | 36:23

This improves control over CSP user mapping behavior.

  • Helps avoid unwanted user mappings
  • Useful where tenant scope or permissions are intentionally limited

Added a hint has been added to the Customer Tax rate selection when using Xero to better explain when this rate is used | v2.212 #1060166 | 38:25

This adds clarification around tax rate usage in Xero-linked setups.

  • A small but useful usability improvement
  • Helps reduce confusion in finance configuration

A button has been added to the Client Billing tab to clear the current Avalara Tenant. | v2.212 #1059696 | 38:34

This makes Avalara tenant cleanup easier from the client billing tab.

  • Handy for correcting configuration mistakes
  • Saves time compared with more awkward reset workflows

Runbooks can now be triggered from Custom Buttons on the following entities: Client, Site, User, Device, Quotation, Purchase Order, Invoice | v2.212 #1059597 | 38:56

This is a strong automation improvement.

  • Lets you trigger runbooks directly from more parts of the UI
  • Opens up practical workflows for service, sales, procurement, and account management

It is now possible to delete specific rows from a custom table using the property "delete_these_rows" | v2.212 #1059297 | 40:35

Custom table row deletion gets more precise.

  • Useful for automation and structured data maintenance
  • Reduces the need for full-table replacement logic

When using the configuration option to not create invoice lines with 0 value, recurring invoices lines shown in recurring invoice lists will be hidden if they have 0 value | v2.212 #1058650 | 40:54

This cleans up recurring invoice visibility.

  • Keeps invoice lists tidier
  • Makes review screens easier to scan

Minor changes to configuration to better explain how the function to automatically add Asset to Contracts can be configured | v2.212 #1058609 | 41:04

This is a documentation/config clarity improvement.

  • Helpful for admins configuring asset-to-contract automation
  • Less ambiguity is always welcome in contract automation settings

Additional options have been added to Ticket Rule assignment for Regional Manager, Logistics Manager, Sales Representative, Account Owner and CXM Lead | v2.212 #1057719 | 41:13

Ticket rule assignment now supports more role-based options.

  • Improves routing flexibility
  • Better reflects broader operational ownership models

Added approval rule criteria "Already approved by agent" | v2.212 #1057491 | 41:21

Approval rule logic gets another useful condition.

  • Adds more nuance to approval workflows
  • Helpful for reducing redundant approval steps

Added Supplier as a criteria field for dynamic field visibility, and added Supplier as notification criteria | v2.212 #1057372 | 41:56

Supplier-related configuration gets more flexible.

  • Helps tailor field visibility based on supplier context
  • Adds supplier-aware notification scenarios

Variables have been added that can be used on Project Templates when created from a Sales Order line | v2.212 #1057339 | 42:34

Project templates now get more dynamic input from sales-order-driven creation.

  • Improves template flexibility
  • Helpful for standardized fulfillment workflows

Additional columns have been added to the Quote and Sales Order line column profiles | v2.212 #1057260 | 42:47

This expands visibility in quote and sales order line views.

  • Helpful for finance and sales review workflows
  • More columns means less need to jump into detail views

An option has been added to the setting "Allow a Tickets Customer and Site to be different from the Users Customer and Site" to allow only the Site to be changed for a given User | v2.212 #1057242 | 42:59

This makes customer/site control more precise.

  • Adds a middle ground between fully matching and fully independent customer/site behavior
  • Useful for environments with stricter user association rules

Added additional response schemas to the API swagger documentation | v2.212 #1053435 | 43:56

The API docs continue to improve.

  • Better documentation supports better integrations
  • Especially useful for teams building custom API workflows

You can now specify the amount of columns you'd like like to show when logging a ticket through the agent app | v2.212 #1053014 | 44:35

This improves ticket logging layout flexibility in the agent app.

  • Lets teams control form density
  • Helpful when designing cleaner ticket intake experiences

Auto payments processed via Stripe on the integrator now use idempotency keys | v2.212 #1052572 | 45:31

This is an important reliability improvement for payment processing.

  • Helps prevent accidental duplicate processing
  • Good back-end hardening for Stripe-integrated billing

Added the ability to be able to change a service's category when the service is created from an asset | v2.212 #1050926 | 45:52

This adds more flexibility when services are generated from assets.

  • Useful where the default category is not the right long-term fit
  • Gives admins more post-creation control

Added the setting 'Copy values to parent Tickets on new Ticket screen' at custom field and ticket type field level | v2.212 #1042761 | 45:59

This improves parent/child ticket data behavior.

  • Lets values flow upward earlier in the ticket creation process
  • Helpful for service desks using child-ticket-driven workflows

Added the ability to link a 3rd party ID against agents, teams, agent roles, user roles, and CABs | v2.212 #1041704 | 47:57

Third-party ID linking is now available across more entities.

  • Supports cleaner integrations
  • Helps external systems map records without relying on internal IDs alone

Added flastactiondate as a field within the Query Builder | v2.212 #1041176 | 50:52

Query Builder gets another field for reporting logic.

  • Gives admins more data points to build useful views and reports
  • Helpful for operational tracking

Account and Prospects can now be viewed in Top Levels | v2.212 #1034016 | 50:56

This expands visibility of account/prospect records in top-level views.

  • Useful for sales and account-management workflows
  • Continues the gradual maturity of account/prospect handling

Added access control for custom buttons | v2.212 #1033683 | 51:35

Custom buttons now get access control.

  • Lets admins expose UI actions more safely
  • Important for governance as button-triggered automation becomes more powerful

UI Improvements to the New Opportunity Screen launched from Accounts/Prospects records | v2.212 #1032933 | 51:42

This adds polish to the opportunity creation experience.

  • Makes sales workflows smoother from account/prospect records
  • A welcome UX improvement for CRM-oriented teams

API Key Authentication method added to the Halo API | v2.212 #1032829 | 51:47

This is one of the biggest integration-facing updates in the episode.

  • Makes API authentication easier in many practical scenarios
  • Especially useful for agent-based integrations and tooling
  • Important reminder from the episode: permissions are tied to the identity behind the key, so scope and access design still matter

March 3, 2026
8 min read

By the [run]Book: Episode 16

Episode 16 of By the [run]Book continues the walkthrough of HaloPSA v2.210, covering updates to billing behavior, ticket automation, AI features, and asset management improvements. Mendy and Robbie highlight several settings MSPs should review carefully—especially a billing change that can lock recalculation—and share practical insights on how these updates may impact real-world workflows.
Read post

In Episode 16 of By the [run]Book, Mendy and Robbie continue reviewing HaloPSA v2.210, covering a wide range of updates across billing, workflows, integrations, AI, and asset management. The episode highlights several settings MSPs should review immediately—especially a billing change that can lock recalculation—as well as improvements to ticket automation, AI categorization, and service desk efficiency.

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

Interesting Features

Editing billing time allocation will lock billing recalculation | v2.21 #1044274
A setting has been added to Billing configuration so that editing the billing time allocation on an action will lock the ticket from billing recalculation.

  • This setting can cause technicians to unintentionally override billing rules.
  • When enabled, Halo will lock the time entry and prevent recalculation of billing.
  • If your billing rules rely on rounding, billing plans, or multipliers, this can break those calculations.
  • Recommendation: Check your system and make sure this setting is turned off unless you intentionally want technicians to override billing behavior.

Credit notes can default to today’s date | v2.21 #1042924
A setting has been added to Credit Note configuration so that the Credit Date is set to today's date instead of the Invoice Date.

  • Helps keep financial reporting aligned with the actual credit date.
  • Prevents credits from affecting historical invoice periods.
  • Recommended to enable for most accounting workflows.

Auto-assign the next unassigned ticket when closing a ticket | v2.21 #1003964
Added a new setting that automatically assigns an Agent the next available Unassigned Ticket when they close a Ticket.

  • Great for service desks using load-balanced queues.
  • Reduces technician idle time between tickets.
  • Keeps agents moving directly to the next available task.

Parent tickets can inherit dates from child tickets | v2.21 #975755
Added a new Ticket Type setting: "Automatically set Start Date and Target Date based on Child Tickets".

  • Especially useful for project-level tickets.
  • Automatically keeps parent ticket timelines aligned with underlying tasks.
  • Reduces manual date management in complex projects.

FullFeature List

A setting has been added to allow the Ticket entities to be added to a separate group when creating invoices in the "Ready for Invoicing" area | v2.21 #1044974 | 2:35

This setting adds a new option for grouping ticket entities during invoice creation in the Ready for Invoicing area.

  • Provides an additional way to organize invoice entities
  • May help improve visibility when reviewing invoice lines before creation

A setting has been added to Billing configuration so that editing the billing time allocation on an action will lock the ticket from billing recalculation | v2.21 #1044274 | 5:24

This setting locks a ticket from billing recalculation when billing time allocation is edited on an action.

  • Prevents automated billing recalculation rules from applying
  • Technicians may unintentionally override billing rules
  • Locked entries must be manually unlocked before recalculating

The variable $_OPPVALUEADJUSTED has been added for the Opportunity Value | v2.21 #1043479 | 9:44

A new variable has been added for adjusted opportunity value.

  • Useful for workflows and automation referencing opportunity value
  • Allows adjusted opportunity calculations to be referenced more easily

Setting a workflow step outcome is now mandatory so that invalid step cannot be set | v2.21 #1043033 | 10:16

Workflow steps now require an outcome to be selected.

  • Helps prevent broken workflows
  • Ensures invalid workflow steps cannot be set

A setting has been added so that during Invoice creation the Invoice Address of the Customer's main Site will be used by default | v2.21 #1042925 | 11:09

Invoices can now default to the customer’s main site address.

  • Helps standardize billing addresses
  • Reduces manual selection during invoice creation

A setting has been added to Credit Note configuration so that the Credit Date is set to today's date instead of the Invoice Date | v2.21 #1042924 | 12:52

Credit notes can now default to today’s date instead of the original invoice date.

  • Helps maintain accurate financial periods
  • Prevents backdating credits to historical invoices

A setting has been added to Email configuration that will cause prefixes such as FW: and RE: to be stripped from the beginning of emails when creating new Tickets | v2.21 #1041025 | 13:11

Halo can now remove FW: and RE: prefixes when creating tickets from email subjects.

  • Keeps ticket subjects cleaner
  • May improve consistency in ticket titles

Added AI Generated Summary as an available column in ticket column profiles | v2.21 #1037790 | 14:26

AI generated summaries can now be displayed in ticket column profiles.

  • Helps technicians quickly understand ticket context
  • Useful for triage and queue management

Added the setting 'Enable config change tracking for Services' to advanced settings | v2.21 #1032549 | 14:57

A new advanced setting enables configuration change tracking for Services.

  • Improves auditing of configuration changes
  • Useful for environments that track service configuration history

Added global setting in Asset Management to add a read-only field that displays an asset's DID | v2.21 #1027632 | 22:59

A global setting can now display the asset DID as a read-only field.

  • Makes it easier to reference internal asset IDs
  • Helpful for integrations and troubleshooting

Added the ability to specify different client credentials per instance for custom integrations | v2.21 #1027506 | 23:15

Custom integrations can now use separate credentials per instance.

  • Useful for environments running test and production instances
  • Improves credential separation and security

"Main Site Address" can now be used as a field on Client and Site column profiles | v2.21 #1024856 | 23:37

The Main Site Address field can now be used in client and site column profiles.

  • Provides more flexibility when building list views
  • Helps surface key address information quickly

Added a new way to load the instances area to improve performance | v2.21 #1024619 | 24:06

The instances area has been updated with a new loading method to improve performance.

  • Helps reduce delays in environments managing multiple instances

A setting has been added to Contract configuration that allows Tickets to be created from Contract Schedules to be created a specified number of days before the Appointment date | v2.21 #1024527 | 24:29

Tickets generated from Contract Schedules can now be created a specified number of days before the appointment date.

  • Helps teams prepare for upcoming scheduled work
  • Useful for recurring service or maintenance visits

Added Owning Portfolio/Service/Business Application/CI as fields that are available to use in asset column profiles | v2.21 #1023421 | 25:39

Additional ownership-related fields are now available in asset column profiles.

  • Improves visibility across assets tied to services and business applications

Added the ability to customise which fields show on the asset dependency diagram | v2.21 #1023353 | 25:48

Asset dependency diagrams can now display customizable fields.

  • Makes dependency diagrams more flexible
  • Allows teams to tailor diagrams to relevant asset data

You can now use the query param 'include_website=true' on the get all endpoint of client to include the website in the response | v2.21 #1018061 | 25:57

The client API endpoint can now return website data when requested.

  • Useful for API integrations and reporting tools

Multiple Improvements have been made to the Twilio for WhatsApp Business Integration | v2.21 #1016946 | 26:11

The Twilio WhatsApp integration has received multiple improvements.

  • Enhances messaging support workflows
  • Improves integration functionality

Added a setting to disable assignment rules when syncing to Salesforce | v2.21 #1016418 | 27:58

Assignment rules can now be disabled during Salesforce sync.

  • Provides more control over record ownership during integration

Added 'Secret in URI Parameter' as an authentication type for triggering a runbook by a webhook | v2.21 #1011441 | 28:05

Runbooks triggered via webhook can now use a secret URI parameter for authentication.

  • Improves security when using webhook triggers

Added default user field for HubSpot quote import | v2.21 #1011046 | 28:44

HubSpot quote imports now include a default user field.

  • Helps assign imported quotes to a default user

Added a new setting that automatically assigns an Agent the next available Unassigned Ticket when they close a Ticket | v2.21 #1003964 | 28:47

Agents can automatically receive the next unassigned ticket when they close one.

  • Ideal for load-balanced service desks
  • Keeps technicians working through the queue continuously

The Chat Bot can now pull data from browser local storage on Input steps | v2.21 #999644 | 29:45

Chat Bot input steps can now access browser local storage.

  • Allows chatbot workflows to use browser-stored data

Added more configuration options for asset system fields | v2.21 #997653 | 30:52

Additional configuration options are now available for asset system fields.

  • Provides more flexibility when customizing asset fields

Added Dynamic Button Visibility to asset custom buttons | v2.21 #997641 | 31:11

Asset custom buttons now support dynamic visibility.

  • Allows buttons to appear only when relevant

Added SQL Lookups to Asset Fields | v2.21 #995633 | 37:06

Asset fields can now perform SQL lookups.

  • Enables dynamic population of asset field data
  • Useful for integrations and advanced automation

Allowed selection of a stock bin for non-serialised assets | v2.21 #989995 | 38:11

Stock bins can now be selected for non-serialized assets.

  • Improves stock and inventory management workflows

Added Days Before and After Now date validation options for date custom fields | v2.21 #984104 | 38:24

Date custom fields now support validation rules relative to the current date.

  • Enables rules like “must be X days before or after today”

"Workflow Stage" field is now available on the report query builder | v2.21 #980651 | 39:43

Workflow Stage can now be used in the report query builder.

  • Expands reporting options for workflow-based processes

Improvements to the New Relic integration | v2.21 #978676 | 40:26

The New Relic integration has received improvements.

  • Enhances monitoring integration capabilities

You can now configure whether the phone number field is mandatory at the Ticket Type level when End-Users raise tickets anonymously via the Portal | v2.21 #976768 | 40:33

The phone number requirement for anonymous portal tickets can now be configured per ticket type.

  • Gives more flexibility in portal form requirements

Added a new Ticket Type setting: "Automatically set Start Date and Target Date based on Child Tickets" | v2.21 #975755 | 40:41

Parent tickets can automatically derive start and target dates from their child tickets.

  • Very useful for project and multi-ticket workflows

Added new option to allow AI to suggest a category value from a configurable list of category values | v2.21 #972984 | 41:55

AI can now suggest ticket categories from a configurable list.

  • Helps standardize ticket categorization

Added the setting 'Allow Agent Site Restrictions to restrict against the Site's User's and the Site's Organisation' in users settings | v2.21 #965724 | 46:23

A new setting expands how Agent Site Restrictions apply to users and organizations.

  • Useful for environments with strict site access controls

Added an option to determine how the unique ID of appointments is calculated | v2.21 #961168 | 48:39

Halo now allows configuration of how appointment unique IDs are generated.

  • Relevant for calendar and scheduling integrations

February 18, 2026
8 min read

By the [run]Book: Episode 15

Episode 15 of By the [run]Book covers Halo v2.208 and the start of v2.210, highlighting improvements to SLA response targeting, shift clock-in/clock-out tracking, bi-monthly billing schedules, and expanded team leader permissions. Mendy and Robbie break down what these changes mean for MSPs refining service delivery, billing workflows, and internal access control.
Read post

Episode 15 of By the [run]Book covers Halo v2.208 and starts into v2.210, with Mendy and Robbie walking through SLA refinements, shifts/time tracking updates, billing cadence improvements, and tighter access controls across portals and reporting. Key moments include new SLA response targeting options, a clock-in/clock-out widget for shifts, a bi-monthly schedule period, and expanded team leader controls. This is a useful episode for MSPs looking to tighten operational workflow, reporting governance, and self-service experience improvements.

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

Added an option to Service Level Agreements to enable a different First Response Target to Subsequent Responses | v2.208 #988897 | 2:04

Adds an SLA option so your first response target can differ from subsequent response targets.

  • Better reflects triage vs ongoing comms
  • Cleaner SLA reporting for service teams

Added the FAQ List Ticket field as an available option for workflow automation criteria | v2.208 #987268 | 6:13

Adds the FAQ List Ticket field as a workflow criteria option.

  • Enables knowledge-base-driven workflow logic
  • Helps route/handle KB-related ticket workflows more precisely

Added a Chat Profile setting to allow the update of the End User of Tickets linked to an Anonymous Chat if the haloChat_inboundEvent_upgradeAnonChat is successfully called | v2.208 #984332 | 7:31

Allows ticket end-user updates when an anonymous chat is successfully upgraded.

  • Improves attribution of chat-created tickets
  • Reduces manual cleanup after anonymous-to-known identity transitions

Added a "Clock in, Clock out" widget for Shifts | v2.208 #984138 | 8:00

Adds a clock in/clock out widget for Shifts.

  • Helps formalize on-duty time tracking
  • Useful for after-hours / on-call patterns

Added a 2 monthly schedule period option | v2.208 #979982 | 10:45

Adds a 2-month schedule period option.

  • Supports bi-monthly billing cadences
  • Reduces schedule workarounds

Added multiple improvements to Knowledge Base latest article links | v2.208 #979751 | 10:59

Improves Knowledge Base latest article links.

  • More consistent KB navigation as articles change/version
  • Helps avoid “stale link” confusion

Added the option 'Visible - Read Only' to Agent Asset details screen visibility | v2.208 #979737 | 11:49

Adds “Visible - Read Only” for Agent Asset details visibility.

  • Lets agents view key fields without editing
  • Supports tighter asset governance

You can now configure a ticket to load balance upon reopening if the assigned agent does not meet the mandatory qualification matching criteria | v2.208 #979563 | 12:53

Adds load-balance on reopen if assigned agent doesn’t meet qualification rules.

  • Keeps qualification matching consistent over the ticket lifecycle
  • Helps avoid “reopen back to wrong resource” situations

Added a module for an integration with Opinyin | v2.208 #978437 | 13:06

Introduces a module for an Opinyin integration.

  • Relevant if Opinyin is part of your customer feedback stack
  • Worth evaluating for review/feedback workflow alignment

You can now send test emails for individual Mail Campaign email messages | v2.208 #977085 | 13:42

Adds test email sending for individual mail campaign messages.

  • Helps validate content before sending live
  • Reduces campaign mistakes

Added multiple new Halo API Actions in runbooks | v2.208 #974932 | 13:50

Adds new Halo API actions in runbooks.

  • Expands no-code/low-code automation options
  • Reduces dependency on custom calls in some workflows

Added a new setting to split Knowledge Base view counts. When enabled, the End-User portal shows only User views | v2.208 #971344 | 14:52

Splits KB view counts so end users see only user views (when enabled).

  • Cleaner end-user analytics
  • Separates agent/internal browsing from customer consumption

Added item group restrictions and a running cost total when adding items to new tickets on the self-service portal. | v2.208 #971032 | 15:27

Adds item group restrictions + running cost total on portal ticket item selection.

  • Better guardrails for what customers can request
  • More transparent cost expectations while building a request

Added a Ticket Reference field that can be searched and included in column profiles | v2.208 #968004 | 17:39

Adds a Ticket Reference field that’s searchable and usable in column profiles.

  • Helpful for ITSM-style reference formats
  • Improves filtering and reporting in list views

Service subscribers are now grouped | v2.208 #963508 | 18:56

Groups service subscribers.

  • Improves clarity around AND/OR logic in subscriber conditions
  • Makes complex subscriber setups easier to maintain

Added dollar variables ($) CONTRACTSLA, CONTRACTSUBTYPE & CONTRACTSTATUS | v2.208 #935851 | 19:55

Adds $ variables for CONTRACTSLA, CONTRACTSUBTYPE, CONTRACTSTATUS.

  • Improves template and workflow flexibility
  • Useful for notifications, templates, and automations

Improvements to Agent Resource Booking | v2.208 #935781 | 20:00

Adds improvements to Agent Resource Booking.

  • Enhances appointment booking workflows
  • Helpful if you’re trying to reduce reliance on external schedulers

Added options to encrypt variables and responses in Custom integration methods & Runbooks | v2.208 #882510 | 21:41

Adds encryption options for variables/responses in integrations/runbooks.

  • Better security for sensitive values used in automations
  • Especially relevant for API keys and secrets

You can now set an expiry date for software against an asset | v2.208 #880465 | 22:33

Adds software expiry date tracking on assets.

  • Supports proactive renewals
  • Enables automation around expiring software

Added a ticket type level setting that can allow you to show/hide approval actions for end-users. | v2.208 #859228 | 22:54

Adds ticket-type control for end-user approval action visibility.

  • Keeps the portal cleaner where approvals aren’t relevant
  • Useful for differentiating internal vs customer-facing ticket types

Added functionality for team leaders to modify their agents’ preferences | v2.208 #855276 | 23:07

Allows team leaders to modify agents’ preferences.

  • Supports delegation without full admin access
  • Helpful in scaled team structures

Added the ability to bulk add assets to a ticket via the asset search modal screen | v2.208 #835383 | 27:26

Adds bulk add assets via the asset search modal.

  • Speeds up multi-asset incident/service request logging
  • Reduces repetitive clicking

Added the ability to set a chat profile override at user role level | v2.208 #834258 | 28:11

Adds chat profile overrides at the user role level.

  • Standardizes chat behavior by role
  • Helps maintain consistency across teams

FAQ lists can now be included in Knowledge Base links and will auto-expand on open | v2.208 #833936 | 30:24

Allows KB links to include FAQ lists and auto-expand on open.

  • Faster navigation into the exact FAQ content you want
  • Helpful for portal/self-serve KB UX

You can now specify HTML when setting a pop up note on a ticket rule | v2.208 #825950 | 30:38

Allows HTML formatting in popup notes triggered by ticket rules.

  • Create more readable/structured internal guidance
  • Useful for critical warnings, prompts, and process reminders

Credit notes are now displayed along side invoices on the self service portal | v2.208 #806488 | 33:34

Shows credit notes alongside invoices in the portal.

  • Improves billing clarity for customers
  • Reduces confusion during reconciliation

Added a new setting to limit agents and users to one active session | v2.208 #761279 | 33:52

Adds a setting to limit users/agents to one active session.

  • Helpful for security and account-sharing prevention
  • Supports tighter access governance

Added TD Synnex Quote Line Imports | v2.208 #698431 | 34:03

Adds TD Synnex Quote Line Imports.

  • Speeds quote building for MSPs using TD Synnex
  • Reduces manual entry errors

Added the ability to set specific colours for counters widgets when using dark mode | v2.208 #681842 | 34:07

Adds dark mode counter widget color options.

  • Improves readability for dark mode users
  • Helps dashboard clarity

It is now possible to create downpayment invoices from Sales Orders for both fixed price hardware/projects and time and materials projects | v2.208 #596243 | 34:26

Adds downpayment invoice creation from sales orders (fixed price + T&M).

  • Useful for upfront deposits on projects/hardware
  • Supports cashflow management

Added multiple settings in Self Service Portal settings to limit options to the Web Access Level list | v2.208 #436892 | 35:29

Adds settings to limit portal options to Web Access Level list values.

  • Reduces risk of accidental “too broad” portal access
  • Makes permissioning more controllable

Added the ability to use access control for reports | v2.208 #262984 | 37:46

Adds access control for reports.

  • Lock down sensitive financial/ops reporting
  • Useful for larger MSPs with more role separation

End of 2.208 Q/A and Cats! On to 2.210 | 41:59

When using the Addigy integration a button will show on devices imported to open the device in Addigy | v2.210 #1054688 | 46:52

Adds a deep link button on imported Addigy devices.

  • Faster navigation between Halo and Addigy
  • Reduces context switching for techs

Multiple changes made to the Expenses list | v2.210 #1053141 | 47:06

Multiple changes made to the Expenses list.

  • Improves list usability and admin workflows
  • Helpful if you use Halo expenses operationally

Halo Portal and Agent application (including dashboards) iframes can now be embedded in SharePoint pages | v2.210 #1051449 | 47:32

Allows embedding Halo portal/agent UI (including dashboards) in SharePoint via iframe.

  • Useful for intranet-style “single pane” access
  • Supports internal operational dashboards

A setting has been added to Recurring Invoice configuration so that Recurring Invoices appear in the Ready for Invoice list and are auto-created (if enabled) if the next creation date falls in the current/selected month | v2.210 #1051296 | 47:58

Changes how recurring invoices appear/create based on month selection.

  • Impacts finance workflows—review before enabling
  • Useful for month-based invoice planning

A setting has been added to Contract/Agreement configuration that will ensure when adding a Billing Plan Combination using a Billing Template a record will be added for each matching Contract/Agreement | v2.210 #1050626 | 48:32

Ensures billing template application creates a billing plan record per matching contract/agreement.

  • Helps when contracts renew/change and you still need accurate billing mapping
  • Reduces edge cases in contract-driven billing

Additional import fields have been added to the NinjaOne Device import - Last Contacted and Created Date | v2.210 #1050486 | 51:33

Adds Last Contacted + Created Date fields to NinjaOne device import.

  • Enables stale-device reporting (offline 30/60/90 days)
  • Supports cleanup and license optimization workflows

A setting has been added to Ticket/Opportunity Types so that the "Send" button can be removed from the Quote screen, so that the Quote can only be sent from the Ticket/Opportunity | v2.210 #1049474 | 54:04

Removes quote “Send” button so sending happens only via ticket/opportunity.

  • Enforces process consistency
  • Reduces accidental sends from the quote screen

A setting has been added to the Asset Field properties so that Change History records are not created for the Asset Field | v2.210 #1048570 | 54:35

Disables change history tracking for selected asset fields.

  • Prevents noisy logs on frequently updated fields
  • Helps keep asset records cleaner long-term

A permission has been introduced for Users and User Roles so that Invoice access can be restricted to No Access/Site/Client | v2.210 #1048548 | 55:32

Adds invoice access restriction levels (No Access/Site/Client).

  • Tightens financial visibility controls
  • Useful for role-based access separation

If an overriding Contract/Agreement is set against a Ticket but not configured to show in the Field List then it will still show but only administrators will be able to edit/update the field | v2.210 #1046935 | 56:13

Shows the overriding contract field even if it isn’t on the field list (admin-editable only).

  • Makes hidden billing context visible for troubleshooting
  • Reduces “why isn’t billing applying?” mysteries

Database Lookup functionality can now be used when entering an action using the self-service portal | v2.210 #1046459 | 56:58

Enables database lookup while entering an action in the self-service portal.

  • Makes portal actions more dynamic and guided
  • Useful for structured self-service inputs

Updated Account Integrator released that is compatible with Sage UK v32 (2026) | v2.210 #1046181 | 57:14

Updates the Account Integrator for Sage UK v32 (2026).

  • Relevant for Sage UK accounting users
  • Helps keep finance integrations current

A setting has been added to allow the Ticket entities to be added to a separate group when creating invoices in the "Ready for Invoicing" area | v2.210 #1044974 | 57:32

Adds a setting to group ticket entities separately during invoice creation.

  • May improve invoice grouping/organization depending on your billing setup
  • Worth testing in “Ready for Invoicing” workflow