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...
June 23, 2026
8 min read

By the [run]Book: Episode 24

Episode 24 reviews HaloPSA v2.218, including Connor’s top recommendation: enable the new setting that blocks Default Contracts on Client records to protect billing rules.
Read post

In Episode 24 of By the [run]Book, Connor and Jason review HaloPSA v2.218 with a heavier focus on contracts, billing, QuickBooks, sales order workflows, and portal improvements. The standout update is the new setting to prevent Default Contracts from being used on Client records, which Connor strongly recommends enabling to avoid major billing rule issues. They also cover the new Self-Service Portal PWA option, Quick Time logging changes, Sales Order Communication Ticket improvements, and QuickBooks payment method mapping.

Watch Now: By the [run]Book: Episode 24

Important Mentions

There are limitations affecting haloreleases.remmy.dev caused by changes to the Halo API

Connor and Jason announced a new Halo AMA series starting July 1st at 8:00 AM Eastern / 1:00 PM UK. The sessions will feature Robbie, Bri, and Jason from Rising Tide, with questions pulled from the community, Discord, Reddit, and live attendees.

Full Feature List

Sales Order variables have been added to the Available Variables on Runbooks | v2.218 #1101977 | 3:06

Sales Order variables are now available inside Runbooks, giving automation builders more sales-order-specific data to reference when building workflows.

When importing Devices using the Domotz integration only mapped Agent's Devices will be imported if there are any mapped Agents - otherwise all Devices for all imported Agents will be imported | v2.218 #1100861 | 3:25

This improves how Domotz device imports behave when mapped agents exist. Connor and Jason noted that Domotz can be useful for infrastructure-heavy MSPs, especially where network scanning and switch access are important.

Sales Order Communication Tickets will now display the associated Sales Order | v2.218 #1100760 | 5:01

Sales Order Communication Tickets now show the Sales Order they are tied to, making the relationship clearer for teams managing procurement or post-sale follow-up.

  • Helpful for larger MSPs with separate sales, procurement, and fulfillment roles.
  • Connor noted some MSPs keep everything on the Opportunity instead, so this is most useful where Sales Order tickets are part of the process.
  • This can reduce confusion when multiple tickets are created around the same quote or sales flow.
The Pax8 Product/Item creation function will now match on the Vendor/Supplier SKU (Pax8 SKU) | v2.218 #1100669 | 7:34

The Pax8 Product/Item creation function will now match based on the Vendor/Supplier SKU. Connor and Jason advised caution with this area because automated Pax8 product and invoice item creation can still create duplicates or require cleanup if existing products are not mapped well.

Added a setting to specify the user ID field in SailPoint | v2.218 #1100602 | 9:56

This adds more configuration flexibility for SailPoint integrations by allowing the user ID field to be specified.

A configuration option has been added so that the "Conversation and Internal" Ticket history view will include all emails | v2.218 #1100317 | 10:22

This setting allows the Conversation and Internal ticket history view to include automated/system emails, such as acknowledgement emails.

  • Useful when troubleshooting whether system-generated emails were sent.
  • Connor pointed out that hidden actions can make ticket history harder to follow, so showing more email activity can help admins and agents understand what happened.
Added minor changes to the Pax8 configuration screen to improve the set-up process | v2.218 #1100194 | 12:29

Minor setup improvements were added to the Pax8 configuration screen. Connor and Jason did not identify a major visible change during the review.

Invoice Due Date can now be updated from the Invoice List | v2.218 #1099985 | 13:14

Invoice due dates can now be bulk updated directly from the Invoice List, which may help billing teams adjust multiple invoices without opening each invoice individually.

When using the Quickbooks integration you can assign a Quickbooks Payment Method to a Halo Payment method and this will be used when pushing Payments from Halo to Quickbooks | v2.218 #1099714 | 13:56

Halo payment methods can now be mapped to QuickBooks payment methods when payments are pushed from Halo to QuickBooks.

  • Useful for MSPs recording payments in Halo and syncing them to QuickBooks.
  • Helps keep payment method reporting cleaner in QuickBooks.
  • Connor noted many MSPs may receive payment data into Halo instead of pushing it out, so this mainly matters for teams using Halo as the payment source.
Hosted customers can now install the Self-Service Portal as a Progressive Web App | v2.218 #1099594 | 15:14

Hosted customers can now install the Self-Service Portal as a Progressive Web App. Connor and Jason discussed how this could make portal access feel more app-like for end users.

  • The portal can be installed on a desktop or mobile device.
  • App name, description, and icon can be customized.
  • This may be useful for MSPs that want a branded, easy-access client portal experience.
Stock Quantity can now be shown as a column using Sales Order Line column profiles | v2.218 #1099248 | 17:11

Stock Quantity can now be added to Sales Order Line column profiles, giving teams more control over what inventory information appears on sales order lines.

A column for "published" will now show on the dashboard list | v2.218 #1099130 | 19:58

The dashboard list now includes a Published column, making it easier to see which dashboards are currently published without opening each one.

An option for using mTLS (Mutual TLS) has been added as an authentication option for custom integrations | v2.218 #1098487 | 20:17

Custom integrations now support mTLS as an authentication option. This is most relevant for integrations requiring certificate-based mutual authentication between systems.

A configuration option has been added to allow the Action used for logging time from Timesheets to be overridden | v2.218 #1098475 | 21:03

This setting allows the action used for logging time from Timesheets, specifically Quick Time behavior, to be overridden. Connor and Jason spent time testing and discussing this because the release note was not very clear.

  • Connor generally prefers structured ticket-based time logging over Quick Time.
  • Jason explained that Quick Time still needs an underlying ticket and action to log time.
  • This may allow more customization of how Quick Time logs time, but it is worth testing before relying on it.
Pro-rata options will now show correctly on the Sales Order -> Recurring Invoice pop-up | v2.218 #1095834 | 27:26

Pro-rata options now show correctly when working from Sales Orders to the Recurring Invoice pop-up. Connor and Jason treated this more like a fix than a major new feature.

A setting has been added to Contract configuration to stop the Default Contract property from being used against Client records | v2.218 #1093850 | 28:05

This was Connor and Jason’s clear favorite feature of the episode. The new setting prevents users from setting a Default Contract directly on the Client record, which can override billing rules and cause major billing issues.

  • Connor strongly recommended enabling this setting.
  • The Default Contract field can cause all time to attach to a single contract.
  • This can break carefully configured billing templates and contract rules.
  • Connor noted this is not usually done maliciously; it is just an easy mistake for users to make.
  • Best practice from the episode: turn this on unless you have a very specific reason to send all time to one contract.
An option has been added to the Quickbooks integration to allow the Halo Third Party Customer name to be used instead of the Halo Customer Name | v2.218 #1093788 | 34:51

This QuickBooks option allows Halo to use the Third Party Customer Name instead of the Halo Customer Name when creating or syncing customers to QuickBooks.

A setting has been added to Contract Configuration to filter Contract selection on Tickets to show only Site Contracts if there are any | v2.218 #1092757 | 35:25

This setting filters contract selection on tickets so that site-specific contracts are shown when they exist. Connor and Jason noted that site-level contracts can get complicated and are likely an edge case for most MSPs.

The Google Maps latitude and longitude lookup will now use Country and Region if enabled and populated | v2.218 #1092350 | 39:53

Google Maps latitude and longitude lookup now uses Country and Region when those fields are enabled and populated. Connor showed how this can support map-based customer or prospect views, though he also noted Google API setup can be painful.

Access control query improvements | v2.218 #1091628 | 42:36

This improves access control queries and includes an option around agent department access control. Jason noted that disabling department-based access control may offer a performance benefit if it is not needed.

Added Created By column to Purchase Orders | v2.218 #1091115 | 44:20

Purchase Orders now have a Created By column available, making it easier to identify who created a purchase order.

Added Description, Creation Date and Created By fields to API applications | v2.218 #1081398 | 44:24

API applications now include Description, Creation Date, and Created By fields, improving visibility and auditability for API app management.

Added multiple condition types to asset field and button restrictions | v2.218 #1080355 | 44:35

Additional condition types have been added for asset field and button restrictions. Connor noted the release note did not clarify exactly which condition types were added.

Added "Closed by" field to Ticket Column Profiles | v2.218 #1076139 | 45:13

Ticket Column Profiles can now include the Closed By field, making it easier to report or filter based on who closed a ticket.

Client and Site level Event triggers can now use Custom Field values as Criteria | v2.218 #1072255 | 45:28

Client and Site level Event triggers can now use Custom Field values as criteria. This adds more flexibility when building automations or event-driven workflows based on client or site data.

The Resolution Finder now matches knowledge base articles using tags only for whole-word matches | v2.218 #1066947 | 46:51

Resolution Finder matching now uses tags only for whole-word matches. Connor and Jason discussed the broader challenge of KB usefulness, noting that KBs are strongest when they support real process guidance rather than generic articles.

Added a new variable $-ALLFIELDSCARD to display a styled version of the ALLFIELDS table | v2.218 #1065730 | 49:53

A new $-ALLFIELDSCARD variable displays a styled version of the ALLFIELDS table. Connor and Jason liked the cleaner presentation and showed how it makes field output easier to read.

June 9, 2026
8 min read

By the [run]Book: Episode 23

Episode 23 of By the [run]Book covers HaloPSA v2.216, including AI acknowledgement emails, ticket and project charge rate restrictions, report audit timestamps, Microsoft CSP subscription imports, and Runbook enhancements. The team also discusses recent Halo API changes affecting haloreleases.remmy.dev, Microsoft's upcoming July 1st pricing changes, and Renada's Teams-based Ticket Swarm approach for rapid ticket collaboration.
Read post

In Episode 23 of By the [run]Book, Connor Fagan and Jason Parsons walk through HaloPSA v2.216, covering a mix of quality-of-life improvements, automation enhancements, reporting updates, and billing controls. Highlights include new ticket-level charge rate restrictions, report audit timestamps, Microsoft CSP subscription import improvements, AI-generated acknowledgment emails, and several Runbook enhancements. The discussion also covers important industry updates, including Microsoft’s July 1st pricing changes, limitations introduced to haloreleases.Remmy.dev due to Halo API changes, and Renada’s Teams-based "Ticket Swarm" approach for urgent ticket collaboration.

Watch Now: By the [run]Book: Episode 23

Important Mentions

There are limitations affecting haloreleases.remmy.dev caused by changes to the Halo API

Microsoft’s July 1st pricing Changes

Check out Renada's instructional video - Ticket Swarm into Microsoft Teams

Full Feature List

There is now an option to hide the Task event type when creating an appointment | v2.216 #1004798 | 3:08

This gives administrators the ability to remove the Task event type from appointment creation screens.

The hosts recommended enabling this for most environments because Task event types do not synchronize with Microsoft 365 calendars, while Appointment types do.

Various improvements to maintenance windows and change freeze periods | v2.216 #993209 | 5:01

A collection of enhancements focused on Halo's ITSM change management functionality.

The discussion noted that this will likely be most valuable for organizations using formal maintenance windows and change approval processes rather than traditional MSP service desks.

You can now choose to use Criteria Groups on Ticket Rules | v2.216 #992806 | 6:02

Criteria Groups continue to expand throughout Halo and are now available within Ticket Rules.

This allows administrators to build more advanced AND/OR logic inside a single rule rather than creating multiple rules to achieve the same outcome.

Added a "Restrict field visibility to specific entities" option for CRM note custom fields, enabling admins to control which entities (Client, Site, or User) the field appears on | v2.216 #985216 | 8:11

CRM Note custom fields can now be limited to specific entity types.

This helps keep note forms cleaner by ensuring fields only appear where they are actually relevant.

Added new global Chat setting - "Prevent multiple agents from connecting to a live chat simultaneously" | v2.216 #985181 | 13:10

A new safeguard prevents multiple technicians from accidentally joining the same chat session.

For teams using Halo Chat, this can help reduce duplicate responses and ownership confusion.

Added 'Current Time' and 'Day of Week' as new Chat flow criteria | v2.216 #984329 | 14:32

Chat Flows can now make decisions based on the current time and day of the week.

This opens up more options for business-hours routing and after-hours automation.

Added SLA response/resolution breached criteria for Ticket Lists and Ticket Areas | v2.216 #983753 | 14:39

Administrators can now separately filter against Response SLA breaches and Resolution SLA breaches.

The hosts felt this provides greater reporting flexibility and allows teams to focus on the SLA metrics that matter most to their business.

Fields with an override display field now show the override name in field lists | v2.216 #982790 | 16:03

Field lists now display the override name rather than only the original field name.

A small but useful quality-of-life improvement when working with heavily customized environments.

Tanium user matching improvements | v2.216 #981827 | 16:31

Improves user matching behaviour within the Tanium integration.

The hosts did not spend much time on this feature but noted it should improve synchronization accuracy.

You can now set a custom refresh rate for widgets | v2.216 #979334 | 17:16

Dashboard widgets can now have their own refresh intervals.

Administrators can balance dashboard responsiveness against system performance by selecting refresh periods between 30 seconds and 1 hour.

Added the "include_all_custom_fields" HTTP parameter when listing Assets via the API | v2.216 #972951 | 17:47

A new API parameter allows integrations to retrieve all custom fields when querying assets.

Useful for developers and anyone building integrations around Halo asset data.

Added a setting to give more control over which action fields copy to children when adding actions to parent tickets | v2.216 #967903 | 23:02

Provides additional control over how information flows between parent and child tickets.

The hosts discussed several possible use cases but agreed this will require additional testing to fully understand its impact.

Added in a setting that allows you to define the default Rich Editor Toolbar style | v2.216 #967368 | 27:01

Administrators can now define the default layout used by the rich text editor toolbar.

A simple quality-of-life improvement for organizations that prefer a cleaner editor experience.

You can now use $-APPOINTMENTBOOKING{X} to link an End User to a specific booking type | v2.216 #963310 | 27:50

Appointment booking links can now direct users to specific booking types.

This provides more flexibility when building self-service appointment workflows.

Added AI Acknowledgement Emails at Ticket Type Level | v2.216 #920858 | 29:42

AI-generated acknowledgement emails can now be configured at the Ticket Type level.

The feature allows custom prompts and automated responses tailored to specific ticket categories. The hosts felt this could be useful for gathering additional information from end users before an engineer begins working the ticket, but recommended careful testing before broad adoption.

Added a runbook setting to log a ticket after X failed attempts in a row | v2.216 #896368 | 34:49

One of the most practical automation improvements discussed during the episode.

When a Runbook repeatedly fails, Halo can now automatically create a ticket.

The hosts strongly recommended enabling this for Runbook deployments to improve visibility into automation failures and reduce troubleshooting time.

Added a setting to Etilize to only show items with a Price | v2.216 #804419 | 36:58

Adds an option to filter out catalog items that do not contain pricing information.

A small but useful improvement for teams relying on Etilize product searches.

Creation date and last edited date is now displayed on reports | v2.216 #801011 | 38:06

One of the hosts' favourite additions in this release.

Reports now display who last modified them and when the modification occurred, making report management significantly easier in larger environments.

Popup notes set as modal will now have to be acknowledged before they are closed | v2.216 #793283 | 39:44

Modal popup notes now require acknowledgement before dismissal.

This helps ensure important information is actually seen by technicians.

Added an individual toggle for KB article links per page when enabled | v2.216 #787515 | 41:33

Provides additional control over Knowledge Base article link behaviour.

The feature was only briefly discussed during the episode.

You can now import Subscription products from Microsoft CSP | v2.216 #779249 | 42:28

Improves Microsoft CSP product import functionality.

The hosts highlighted this alongside Microsoft's upcoming pricing changes and discussed how it may simplify subscription management.

Runbook improvements for uploading and downloading of files | v2.216 #749478 | 44:32

Adds additional file handling capabilities to Runbooks.

Useful for workflows involving document processing, attachments, and API-driven automation.

Charge Rate restrictions have been added to Ticket/Project level | v2.216 #650036 | 45:26

This generated one of the longest discussions of the episode.

The feature allows charge rate controls to be configured directly against tickets and projects. While it provides significant flexibility, the hosts cautioned that excessive customization could make billing troubleshooting considerably more difficult.

Options have been added to Resource Booking Types to override the "Minimum minutes" and "Maximum days" for available timeslots | v2.216 #461773 | 51:01

Resource Booking Types can now define their own scheduling limits rather than relying entirely on global settings.

Bills can now be created independently from Purchase Orders | v2.216 #452557 | 51:10

Allows Bills to be created without requiring an associated Purchase Order.

A useful addition for organizations with more flexible purchasing processes.

The current Item Price/Cost will now show on the hint for the Price/Cost on an Invoice | v2.216 #437921 | 51:30

Invoice pricing fields now display the current item price or cost as a reference.

The hosts questioned some of the terminology used but agreed the additional visibility could be helpful.

Sophos Integration is now available | v2.216 #234500 | 53:16

Halo now includes a Sophos integration.

The discussion focused primarily on alert synchronization and early integration improvements since its initial release.

May 26, 2026
8 min read

By the [run]Book: Episode 22

HaloPSA v2.216 delivers several impactful improvements for MSPs, including new SLA-aware database functions, enhanced integrator troubleshooting tools, OAuth token refresh controls, improved sensitive ticket permissions, and expanded invoicing flexibility. Episode 22 continues reviewing features in 2.216 while highlighting the changes that will have the biggest day-to-day operational impact.
Read post

Episode 22 of By the [run]Book dives deep into HaloPSA v2.216, covering a wide range of enhancements across reporting, integrations, invoicing, ticketing, assets, and automation. Connor and Mendy spend extra time unpacking new SLA-aware database functions, improved integrator troubleshooting, OAuth token management, sensitive ticket controls, and several quality-of-life improvements that make Halo easier to administer and automate. This episode is particularly valuable for MSPs looking to improve reporting accuracy, streamline integrations, and gain better visibility into backend processes.

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

Important Mentions

New database functions have been added to be used to calculate time between dates | v2.216 #1083601 | 2:17

One of the most impactful features discussed in this episode introduces new database functions designed to calculate working time between dates using Halo's own business logic.

  • Enables SLA-aware reporting calculations.
  • Accounts for working hours, holidays, and SLA calendars.
  • Simplifies SQL reporting that previously required complex logic.
  • Particularly useful for custom reports and analytics.

Why it matters: MSPs building advanced reporting can now calculate true business time rather than relying on raw SQL date math.

Added two additional options to the tickets setting 'Sensitive Ticket restrictions' | v2.216 #1056127 | 22:45

Sensitive tickets gain more granular visibility controls.

  • Additional restrictions for end-user visibility.
  • Additional restrictions for agent visibility.
  • Better handling of confidential or executive-level requests.
  • Improves internal governance and privacy controls.

Why it matters: MSPs supporting executive teams or handling confidential projects gain stronger access controls.

Integrator log columns ID and config ID are now filterable | v2.216 #1039846 | 33:06

Connor and Mendy highlighted this as one of the most valuable operational improvements in the release.

  • Makes troubleshooting Halo Integrator jobs significantly easier.
  • Allows administrators to filter logs by specific integration configuration.
  • Simplifies debugging failed syncs.
  • Reduces time spent searching through large log files.

Why it matters: Faster troubleshooting means less downtime and quicker resolution when integrations fail.

Custom integrations that use OAuth 2.0 now have a button to clear the access/refresh tokens, allowing permissions to be refreshed | v2.216 #1029548 | 45:49

This feature received strong praise from both hosts.

  • Allows OAuth tokens to be cleared without recreating integrations.
  • Makes permission testing much easier.
  • Eliminates the need to duplicate integrations during troubleshooting.
  • Simplifies development and integration configuration work.

Why it matters: Anyone building custom integrations or working with APIs will immediately appreciate the time savings.

Full Feature List

New database functions have been added to be used to calculate time between dates | v2.216 #1083601 | 2:17

This feature introduces new database functions that calculate time between dates while respecting Halo's working hours, holidays, and SLA schedules. The hosts highlighted this as one of the most impactful additions in the release for reporting and analytics.

For MSPs building custom reports, this removes much of the complexity previously required to calculate true SLA working time instead of relying on standard SQL date calculations.

When using the new storage data method, Text custom fields will now be extended up to 1000 characters | v2.216 #1083130 | 4:36

Text custom fields created using the newer storage method can now support up to 1000 characters instead of the previous 255-character limitation.

The team discussed real-world examples where long URLs, call recording links, and integration data would previously be truncated. This change reduces the need to switch fields to Memo types simply to accommodate longer values.

Action Group configuration has been added to the menu options at Configuration > Tickets, as well as being added to the Action configuration | v2.216 #1082462 | 6:08

Action Group configuration is now surfaced more prominently throughout the Halo interface.

This doesn't introduce new functionality but makes Action Groups easier to discover and manage by exposing configuration options in more logical locations.

Quotes will no longer be automatically expired if they have a Status that is either used as "Closed" or "Accepted" | v2.216 #1080343 | 7:32

Previously, accepted or closed quotes could still transition to an expired status once their expiry date was reached.

This fix prevents completed quote statuses from being overwritten later, resulting in cleaner sales reporting and a more accurate quote lifecycle.

Added a new Mail Campaign Type: Nurture Campaign - Scheduled | v2.216 #1080219 | 8:29

Scheduled nurture campaigns can now periodically re-evaluate recipient lists rather than only processing the list when the campaign initially launches.

This makes nurture campaigns much more practical for dynamic marketing lists where recipients may qualify after the campaign has already started.

You can now use $ChatTranscript on a Ticket at any time when there is a linked Chat with a User | v2.216 #1079619 | 10:21

The Chat Transcript variable can now be referenced whenever a linked chat exists for a ticket.

This provides more flexibility when building templates, notifications, automations, and workflows that need access to chat history.

Added $_INVOICELONGDESC to the available variables that can be used during pro-rata creation | v2.216 #1079617 | 10:57

A new variable has been added to support invoice long descriptions during pro-rata calculations.

The hosts spent time discussing how this improves consistency between invoice line descriptions and prorated billing entries, helping produce clearer invoices for customers.

Added a setting to only apply date validation upon creation of entities | v2.216 #1075315 | 14:40

Date validation can now be restricted to the creation process only.

This allows administrators to make changes to records later without triggering the same validation requirements that applied when the entity was originally created.

Added the permission "Can Override Device Change Who" | v2.216 #1072389 | 15:23

A new permission allows the recorded user associated with device change tracking records to be overridden.

The hosts noted this introduces additional flexibility but also raises questions around auditing and accountability, so it should be used carefully.

Added the option "Visible - Read Only" to asset type system field settings | v2.216 #1069805 | 17:05

Asset system fields can now be configured as visible while remaining read-only.

This helps expose important information to users without allowing accidental edits.

Added a setting to enable customer specific agreement reference generation | v2.216 #1068707 | 17:22

Agreement reference numbers can now be generated on a customer-specific basis.

Organizations with structured naming conventions may find this useful when managing multiple agreements across different customers.

It is now possible to enforce uniqueness for asset fields per asset type | v2.216 #1067257 | 18:28

Asset custom fields can now be configured to require unique values.

This is particularly useful for:

  • Serial numbers
  • Asset tags
  • External identifiers
  • Device reference numbers

It helps improve data quality and prevents duplicate asset records.

Sage Intacct Entity mapping defaults and manual settings are now available across more entities | v2.216 #1062134 | 19:10

Sage Intacct mapping capabilities have been expanded to additional entities.

This improves flexibility for organizations integrating HaloPSA with Sage Intacct accounting workflows.

You can now map Halo Custom Fields to Sage Intacct fields where mappings are available | v2.216 #1062129 | 20:34

Custom field mapping support has been extended within the Sage Intacct integration.

This allows more business-specific data to flow between HaloPSA and Sage Intacct.

Added a setting to Users Settings > Defaults to determine if a new Users' username should be set to their Email or not if there is already a User at the Site with the same Username | v2.216 #1060115 | 20:46

This setting helps determine how duplicate usernames are handled when new users are created.

The hosts generally felt most organizations would likely continue using traditional username formats rather than switching to email addresses automatically.

Added two additional options to the tickets setting "Sensitive Ticket restrictions" | v2.216 #1056127 | 22:45

This was one of the more significant ticketing enhancements discussed during the episode.

Sensitive tickets now support additional visibility controls for both end users and agents.

This helps organizations handle:

  • Executive requests
  • HR-related tickets
  • Confidential projects
  • Restricted internal discussions
Added settings to group by Agent Status in the Treeview, and to show a grouping of Agents by Status to Ticket Areas | v2.216 #1056112 | 25:43

Treeviews can now group agents by their availability status.

Dispatchers and service coordinators may find this particularly useful when reviewing ticket assignments and resource availability.

Added a setting for Asset Custom Buttons to disable the runbook queued confirmation popup | v2.216 #1054838 | 26:19

Asset custom buttons can now suppress the runbook queue confirmation message.

A small but useful quality-of-life improvement for heavily automated workflows.

Added a Chat flow action which can retrieve data from the User's browser local storage and map to Ticket or Chat Custom Fields | v2.216 #1054416 | 26:40

Chat flows can now retrieve information stored within the user's browser and map that data into Halo records.

The hosts discussed potential use cases while also noting the broader security considerations associated with browser-side data access.

Allowed non-integer IDs for multi-select custom fields | v2.216 #1054352 | 28:54

Multi-select custom fields are no longer restricted to integer-based identifiers.

This improves compatibility with external systems that use GUIDs and other non-numeric identifiers.

Added new $ variables for Client Mention notifications | v2.216 #1045900 | 30:07

Additional variables have been added for Client Mention notifications.

This supports richer notification templates and more contextual messaging.

Added "Mailbox" field to Ticket Types to allow Agents to set the default mailbox when creating new Tickets | v2.216 #1044902 | 32:28

Ticket types can now define a default mailbox during ticket creation.

This provides additional control over ticket routing and mailbox selection.

Integrator log columns ID and config ID are now filterable | v2.216 #1039846 | 33:06

One of the standout features from the episode, this enhancement makes Halo Integrator troubleshooting significantly easier.

Administrators can now filter logs by configuration ID, making it much simpler to locate and investigate integration runs.

For MSPs managing multiple integrations, this can dramatically reduce troubleshooting time.

Variables used in Runbooks can now be JSON escaped using the following format - ##jsonstringify##<<ticket^example_field>>##/jsonstringify## | v2.216 #1037026 | 38:42

Runbook variables can now be JSON-escaped before being passed to external systems.

This helps avoid formatting issues when sending structured data through APIs and automation workflows.

In the config commit list view, agent names will now display the stored name for consistency across instances | v2.216 #1032902 | 39:54

Configuration commit history will now display stored agent names consistently across linked instances.

A small but welcome improvement for organizations managing multiple Halo environments.

Added the v2 invoice merging method to allow more customisable merging options | v2.216 #1032275 | 40:15

A new invoice merging method introduces additional customization options for invoice generation.

The hosts noted that this feature introduces significant complexity and should be thoroughly tested before being adopted in production billing processes.

Service status improvements to the Self Service Portal | v2.216 #1031911 | 42:27

The Self Service Portal now includes improvements for displaying service status information.

Organizations maintaining customer-facing status pages may benefit from improved visibility during outages and service disruptions.

Custom integrations that use OAuth 2.0 now have a button to clear the access/refresh tokens, allowing permissions to be refreshed | v2.216 #1029548 | 45:49

Another major highlight from the episode.

Administrators can now clear stored OAuth tokens without recreating integrations.

Benefits include:

  • Easier permission testing
  • Faster troubleshooting
  • Reduced integration rebuilds
  • Simpler development workflows

For anyone building custom integrations, this feature alone can save a significant amount of time.

You can now use End Users and Site level Custom Fields on Ticket Column Profiles | v2.216 #1029518 | 47:36

Ticket column profiles can now display End User and Site-level custom fields.

This allows additional business data to be surfaced directly within ticket lists and views.

Added runbook ID as a filterable column on the integration runbook list view | v2.216 #1029237 | 48:32

Runbook IDs can now be used as a filterable column within integration runbook views.

A small administrative improvement that makes locating specific runbooks easier.

Add new Ticket Notification triggers for when there have been no Actions on a ticket for X hrs/days | v2.216 #1021268 | 48:48

New notification triggers can alert teams when tickets have been inactive for a specified period.

This may help identify tickets that have fallen through the cracks and improve follow-up processes.

A database table has been added named "InvoiceCreationTrace" that will be used to record what happened during Invoice creation from the Ready For Invoicing lists | v2.216 #1013403 | 49:49

Invoice creation now generates trace records that can be used for troubleshooting and diagnostics.

The hosts highlighted the importance of additional visibility into billing processes and invoice generation logic.

Added an end date column for software licences | v2.216 #1013163 | 51:38

Software licence records can now display an end date column.

A straightforward improvement that provides better visibility into licence lifecycle information.

Added ticket type groups to change tracking | v2.216 #1009333 | 51:47

Ticket type groups can now be leveraged within change tracking functionality.

This complements broader improvements around ticket grouping and permissions management.

You can now set automatic invoice reminders | v2.216 #1008361 | 54:10

Automatic invoice reminders can now be configured directly within Halo.

This helps reduce manual collections work and provides a more consistent accounts receivable process.

Added a setting 'approval delegation when out of office' to user settings | v2.216 #1005500 | 55:47

Approval requests can now be automatically delegated when a user is marked out of office.

While relatively simple today, the hosts discussed how this may become increasingly valuable as Halo continues expanding its out-of-office functionality and approval workflows.