By
El Copeland
February 28, 2025
•
20 min read
Professional Development
Business

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.

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

But you don't just plant the seeds and immediately get the fruit. A full growing season looks like this:
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.

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

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.

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:
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!


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?

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


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.
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.
Why it matters: MSPs building advanced reporting can now calculate true business time rather than relying on raw SQL date math.
Sensitive tickets gain more granular visibility controls.
Why it matters: MSPs supporting executive teams or handling confidential projects gain stronger access controls.
Connor and Mendy highlighted this as one of the most valuable operational improvements in the release.
Why it matters: Faster troubleshooting means less downtime and quicker resolution when integrations fail.
This feature received strong praise from both hosts.
Why it matters: Anyone building custom integrations or working with APIs will immediately appreciate the time savings.
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.
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 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.
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.
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.
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.
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.
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.
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.
Asset system fields can now be configured as visible while remaining read-only.
This helps expose important information to users without allowing accidental edits.
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.
Asset custom fields can now be configured to require unique values.
This is particularly useful for:
It helps improve data quality and prevents duplicate asset records.
Sage Intacct mapping capabilities have been expanded to additional entities.
This improves flexibility for organizations integrating HaloPSA with Sage Intacct accounting workflows.
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.
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.
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:
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.
Asset custom buttons can now suppress the runbook queue confirmation message.
A small but useful quality-of-life improvement for heavily automated workflows.
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.
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.
Additional variables have been added for Client Mention notifications.
This supports richer notification templates and more contextual messaging.
Ticket types can now define a default mailbox during ticket creation.
This provides additional control over ticket routing and mailbox selection.
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.
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.
Configuration commit history will now display stored agent names consistently across linked instances.
A small but welcome improvement for organizations managing multiple Halo environments.
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.
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.
Another major highlight from the episode.
Administrators can now clear stored OAuth tokens without recreating integrations.
Benefits include:
For anyone building custom integrations, this feature alone can save a significant amount of time.
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.
Runbook IDs can now be used as a filterable column within integration runbook views.
A small administrative improvement that makes locating specific runbooks easier.
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.
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.
Software licence records can now display an end date column.
A straightforward improvement that provides better visibility into licence lifecycle information.
Ticket type groups can now be leveraged within change tracking functionality.
This complements broader improvements around ticket grouping and permissions management.
Automatic invoice reminders can now be configured directly within Halo.
This helps reduce manual collections work and provides a more consistent accounts receivable process.
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.

Episode 21 of By the [run]Book dives into the tail end of HaloPSA v2.214 and the first round of v2.216 updates, with Mendy and Connor unpacking practical MSP use cases, hidden configuration gotchas, and workflow improvements. Highlights include forecasting enhancements, category group restrictions, Datto RMM multi-tenancy, auditing improvements, ticket timer widgets, and advanced email handling settings that can dramatically impact service desk operations. This episode is especially useful for Halo administrators refining automation, billing accuracy, integrations, and technician workflows.
Watch Now: By the [run]Book: Episode 21
For easier tracking, check out haloreleases.remmy.dev to filter and search HaloPSA updates by ID, version, and keyword.
Forecasting in HaloPSA received a major usability improvement by automatically calculating forecasted hours from estimated project task time.
Category restrictions can now be controlled using Category Groups instead of manually configuring every category individually.
Agent Roles now support assigning cost values directly at the role level.
HaloPSA can now ignore “Unknown” scan status networks during Auvik imports.
X-Auto-Response-Suppress header to emails” can now be overridden using Action level configuration to enforce the headers when the global setting is not enabled | v2.216 #1085470 | 49:41Halo now allows email suppression headers to be configured at the Action level rather than only globally.
This setting keeps tickets selected after completing a bulk edit, allowing technicians to chain multiple bulk updates together without re-selecting tickets.
Mail Campaigns can now be grouped for organizational purposes.
Halo will now match imported Intune software records using software names instead of IDs.
Multiple Datto RMM integrations can now coexist within HaloPSA.
Halo can now automatically assign the mailbox used during outbound communication as the ticket’s default mailbox.
Snow imports now support dynamic asset type assignment.
Services can now have a separate portal-facing display name.
Asset booking functionality received multiple improvements.
The ticket timer can now be displayed as a dedicated widget on the ticket screen.
Agent Roles now support a cost field.
Ticket cloning can now be restricted to administrators.
Halo’s newer SSO framework continues to evolve.
Category restrictions can now be managed through Category Groups.
Forecasting received major usability improvements.
Audit tracking now includes Quotes and Purchase Orders.
Reporting Datasources can now display which reports rely on them.
HaloPSA now supports integration with Kaseya VSA X.
HaloPSA now integrates with SailPoint IdentityIQ.
Auvik imports can now exclude unknown scan results.
Changes to Customer Trading Names are now tracked in audit history.
Cost update logic now also supports markup calculations.
Quote approvals now support customizable messaging before signatures.
Time entry edits can now automatically rebalance contract and billed hours.
Halo introduced a safer device ID generation method.
bulkresponse=true can now be used when POSTs are made to the /fieldinfo endpoint to return a separate response for each object | v2.216 #1085574 | 47:46The /fieldinfo endpoint now supports bulk response handling.
Additional JWT validation can now be enforced for API authentication.
ConnectWise Automate alert closures can now map to configurable statuses.
X-Auto-Response-Suppress header to emails” can now be overridden using Action level configuration to enforce the headers when the global setting is not enabled | v2.216 #1085470 | 49:41Halo now supports overriding email suppression headers at the Action level.

Episode 20 of By the [run]Book dives into HaloPSA v2.214 with a mix of practical improvements and some quirky additions. Connor and Mendy walk through everything from new dollar variables and asset controls to Avalara fixes and portal enhancements—highlighting what actually matters for day-to-day MSP operations. This episode is especially useful for MSPs refining workflows, automation, and reporting accuracy in Halo.
Watch Now: By the [run]Book: Episode 20
For easier tracking, check out haloreleases.remmy.dev to filter and search HaloPSA updates by ID, version, and keyword.
Mendy and Connor noted this was very useful.
Highlighted during the user action demo as a practical workflow improvement.
Called out as a genuinely useful UI improvement.
Allows more flexibility in how incoming emails are matched to tickets.
Enables automation of asset configuration through API usage.
Introduces a new variable to output custom fields in Q&A format.
Improves visibility into asset changes over time.
Returns the email address of the user associated with a purchase order.
Enhances usability and visibility of search results in the portal.
Provides control over configuration synchronization.
Ensures correct popup behavior when multiple rules trigger.
Makes ticket source available for reporting and filtering.
Adds safeguards when configuring email matching tags.
Allows distribution lists to target all email addresses tied to a user.
Improves clarity in Avalara transaction records.
Adds control over visibility of user actions in the portal.
Improves flexibility when using Accounts and Prospects.
Enables dynamic fields based on asset lifecycle status.
Ensures asset tagging consistency during stock processes.
Adds control over Avalara synchronization scope.
Allows a predefined score for surveys.
Improves visibility when prorating billing items.
Automatically generates a ticket alongside sales orders.
Allows column width customization in list views.
Changes ordering of lists in the team view.
Adds asset status as a usable variable in buttons.
Improves flexibility when viewing lists.
Allows visual customization of buttons.
Enables distribution lists based on ticket criteria.
Adds control over forecast data ranges.
Enhances performance of Azure/Entra sync.
Improves visibility of ticket closure information.
Optimizes webhook performance and payload handling.
Refines permissions for asset management.