The Care and Feeding of Meat Computers: Episode 1 – A Companion Guide

By  
El Copeland
October 28, 2024
20 min read
Share this post

Welcome to The Care and Feeding of Meat Computers

The article you've stumbled across is the first in a collection of five blog posts meant to be an extension of The Care and Feeding of Meat Computers series which I’m releasing on the Rising Tide YouTube channel, born from a talk I shared at MSPGeekCon 2023. These companion guides are intended to help provide links to resources, research, and books that informed parts of this collection. The goal is to give you enough information and connections so you can dig into these concepts, including things that I cut from the talks for time or other organizational, boring reasons. I am also going to include some questions at the end of each guide to help you facilitate conversation with your team or to further deepen it!

Before we go much further, it's important to me to also extend my gratitude to the people who helped me make sure this talk happened in the first place. Heather and Brian at Gozynta encouraged me as I wrote and honed this concept the first time and generously sponsored me to attend MSPGeekCon and give this talk. Matt Fox, for the reliable perspective, fresh jokes, and tots. Alicia Gregory for academic and psychological insight, a cache of useful journal articles, and listening to me cry basically bi-weekly for nearly a decade.

Of course, last but not least, my business partner, Mendy Green, for believing in me and that this concept needed to see the light of day at all instead of just our five-minute-long WhatsApp voice notes.

Who this talk is for? You.

If you’re here, there’s a good chance you’re involved in technology, whether you follow Rising Tide, are a part of the MSPGeek community, or otherwise found this series while searching the depths of the internet. Regardless of who you are or where you’re from, come on in, make a cup of something warm, and have a seat. I hope that you will find each word expressing my sincere love to the tech community, specifically to those often-unsung heroes, the nerds whose daily, Sisyphean job is to balance the science behind tech with the increasingly important art of human understanding.  

This series is for those of you who may feel (or those of you who manage and collaborate with those who feel) more at home with your hard skills compared to soft skills. It’s completely understandable: in our society, and especially in tech, we tend to believe hard skills are the “real” skills, while soft skills are secondary or nice-to-have. But don’t let your imposter syndrome about the places you feel weak dictate what is real or true! Just because something can easily be expressed through certifications doesn’t mean they are more valuable or will help you live a more fulfilling life. In fact, you may have even been called “gifted” when it comes to technology, and as such, choose to feed that part of you, first. If we consider some of the theories about giftedness, specifically Renzulli’s three-ring conception of it, giftedness for any skill comes from ability, creativity, and commitment.  

Renzulli's Three-Ring Concept of Giftedness

My goal with this series is to challenge the view that hard skills are respected and most prized; and to encourage us to reframe “soft skills” not as something separate or less-than, but as essential, accessible, and attainable, intertwined with our technical expertise. We may not come by it naturally, as in an above-average-ability, but with creativity and commitment, we can develop these skills as well!

I specifically want us to look at soft skills in a way that outright refuses the notion that as you are, you are bad, undesirable, or unacceptable. While there are certain social standards that you may have been trained to adhere to, I want you to put those rules aside for these conversations. If you’ve ever felt like you’re expected to fit a mold to be successful—whether to be more charismatic, more structured, or even more proper—this series is for you.  

Being you is a good thing to be.

I’ve held a ton of jobs in a wide variety of industries and tiers of responsibilities. Despite my breadth and depth of experience and knowledge, I’m not interested in being revered as an expert. Experts tell you what you’re supposed to do and exactly how you’re supposed to do it to guarantee success. I’m sure my disdain for this snake-oily social power dynamic shows consistently in things I say and my approach in this series. Why the sass regarding experts? I want you to know and truly embrace the fact that your value as a tech professional goes beyond fitting into the boxes people want to put you in. Your value as a tech professional goes beyond fitting into the boxes you want to put yourself in! I’m not an expert, experts want you to be like them. I want you to be like you.  

You have these skills: you have social skills, you have people skills, you have soft skills. Regardless of if they fit into what some expert tells you is “correct,” if you’re a little bit weird, I want you to embrace it.

You’re here because you’re passionate about technical solutions, and you’re here because you’re looking for ways to develop further yourself and your community. I propose to you that your passion for technology is actually a powerful tool, if not the most powerful tool, in developing your soft skills. You can use your technical intelligence to boost your Emotional Intelligence.

It’s time to stop kidding ourselves that hard skills are technical and measurable while that soft skills are just a “personality trait” exemplified by gentle people like women and mothers. This belief implies two terrible, not-true things:  

  1. some people just “have it” and are naturally good team players while there are others who are destined to never expand beyond their personal hangups.  
  1. people with only hard skills and no soft skills are the only ones who make good business people and leaders.  

This is a disservice to you and those who you work with. You have soft skills, and developing and enhancing them is vital to your personal and professional growth. Here’s the thing: soft skills are hard. But that doesn’t mean they aren’t worth shaping or that they’re out of your reach as a technical, linear-minded person. Soft skills are hard-won through life experiences, loss, pain, and PRACTICE.

These concepts fold neatly into coding ideologies like Human-Centered Design and Human-Computer Interaction. You are technical, you are practical. Humans are hard. Let’s reframe this to help ourselves be more successful. I propose that soft skills aren’t the opposite of hard skills, but an evolution of them, and if you find them hard, perhaps you just need to look at humans as what they are: complex meat computers that really just want to do what they can to survive and thrive in the world they’ve inherited, just like you.  

So together, let’s flip the script and let’s start with reframing a questions we often ask, to see how we can better harness our natural penchant for hard skills and alchemize them into above average soft skills.  

Join me as we elevate the question, “Why aren’t people more like computers?” to “Why might people be too much like computers?” Instead of following a set of rules, I want you to ask yourself, “what if I treat people with just as much care and curiosity as I treat computers? What would my life, my job, and my relationships look like, instead?”

Video Chapters

  • Soft Skills are Hard It’s ok to admit that soft skills are harder to you than hard skills. It’s not ok to never develop them further. Know your limits. And then dare to go further.  
  • Nuance rules over Rules Life is complicated. You don’t need a list of rules to know what right looks like. What is the heart of the laws you’ve been given? Mindlessly following rules will rarely get you the results you dream of.  
  • People over Tech Services work is rarely about the technical part and more about being curious and care-full about the people in our care!
  • People over Stack Success comes from bringing your entire self to the table. No two people, no two MSPs are alike.
  • People are Puzzles worth solving How do we, as technical people who love to solve puzzles, look as humans as solvable puzzles instead of pain points?
  • People are Tech It’s not that humans are not like computers, it’s perhaps that they are too much like them.

Additional Resources and Recommended Reading

To deepen the concepts discussed in this series, here are several resources for further exploration:

Terms and Concepts

  • MSP (Managed Service Provider) - Companies that remotely manage a customer’s IT infrastructure and systems
  • Sisyphean - A task that feels endless and difficult, based on the Greek myth of Sisyphus, who had to roll a boulder up a hill forever
  • Hard skills - Skills that involve specific knowledge or abilities, often technical, that can be measured or certified
  • Soft skills - Personal skills like communication, empathy, and teamwork that help you work well with others
  • Imposter syndrome - A feeling that you’re not as capable or skilled as others believe, even if you are
  • Snake-oil - Something that is falsely advertised or exaggerated, originally referring to fake medicine
  • Social power dynamic - How power and influence are distributed in social interactions or society
  • Human-Centered Design - An approach to creating products that considers people’s needs, wants, and limitations.
  • Human-Computer Interaction - The study of how people interact with computers and design technology that is easy and enjoyable to use.
  • Emotional Intelligence (EQ) - The ability to recognize, understand, and manage emotions in yourself and others.

Books and Research

Questions for Team Reflection

If you’re watching this series with a team, here are some questions to guide your discussion and help you make the most of these ideas:

  1. Favorite Tech: What is your favorite piece of tech? What is the best device or tool you’ve used or owned? Why is it your favorite? How much time did you spend configuring its settings and developing your own abilities to use it?  
  1. Self-Assessment: Which soft skills come naturally to you, and which feel more challenging to develop? How do these impact your day-to-day work with clients or teammates?
  1. Curiosity as a Tool: Have there been times when a “difficult” user or teammate surprised you with their insights or perspective? How might approaching people with curiosity change your interactions?
  1. Rule Reflection: Are there any industry “rules” you follow that don’t serve you or your team well? Where did they come from? How can you find the “why” behind those rules and adapt them to fit your context? If there isn’t a good “why”...why are you still doing it?  
  1. Growth Areas: What soft skill do you most want to develop? Consider using the resources linked above as a starting point to dive deeper into that area.

That’s it for Episode 1! Tune in for our next Episode: The most expensive piece of technology you’ll ever see.  

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 31, 2026
8 min read

By the [run]Book: Episode 18

This episode of By the Runbook breaks down HaloPSA 2.212 updates with a focus on what actually matters for MSPs. The team covers key changes to automation, ticket views, and integrations, along with practical advice on what to enable, what to watch out for, and how these updates impact real-world workflows
Read post

In this episode of By the Runbook, the team continues through the HaloPSA 2.212 release notes and spends time unpacking what several of these changes actually mean in practice. The conversation covers workflow design, mail campaigns, ticket views, reporting, and automation behavior, with especially useful commentary for MSPs trying to decide what to enable, what to ignore, and what to be careful with.

Watch Now: By the [run]Book: Episode 18
For easier tracking, check out haloreleases.remmy.dev to filter and search HaloPSA updates by ID, version, and keyword.
Check out MSP Blueprint for info on runbooks: MSPBlueprint

Important Mentions

Ticket details can now auto-refresh when a background automation completes | v2.212 #1003085 | 25:29

This allows the ticket screen to automatically refresh when a background automation completes.

  • Eliminates the need for manual refresh after automations run
  • Keeps available actions, workflow steps, and ticket data in sync
  • Especially useful in environments with heavy automation usage
  • ⚠️ Not enabled by default — go turn this on
Additional rule types have been added to qualification matching criteria for custom fields | v2.212 #1009694 | 19:02

Expands qualification matching to include custom field criteria.

  • Enables highly granular ticket routing and assignment logic
  • Can support advanced use cases like skill-based routing or segmentation
  • ⚠️ Powerful but rarely practical for most MSPs without significant planning
Added the option to use the incoming webhook service for QuickBooks Online webhook processing | v2.212 #1021654 | 8:39

Adds delayed and retry-based webhook processing options.

  • Helps prevent failures during high webhook volume
  • Introduces retry logic for more reliable integrations
  • ⚠️ Can introduce delays (10–15+ minutes in some cases depending on configuration)
  • ⚠️ Default behavior vs delayed processing needs to be reviewed carefully


FullFeature List


You can now restrict the ‘From’ address options on a Ticket Action to mailboxes the assigned team can access | v2.212 #1031882 | 2:50

This change limits the available “From” addresses on a ticket action to mailboxes the assigned team can actually access.

  • Prevents agents selecting mailboxes they don’t have access to
  • Reduces confusion in multi-mailbox environments
  • Helpful for teams split across departments or service lines
Added Email Address as another attribute option for the Followers field on the Self-Service Portal | v2.212 #1031728 | 3:23

Adds Email Address as another attribute option for follower behavior on the portal.

  • Improves flexibility for notifications
  • Useful for including external stakeholders
  • Expands portal configuration options
You can now edit various parts of a Mail Campaign after starting it | v2.212 #1030951 | 3:32

Allows changes to Mail Campaigns after they have started.

  • Removes need to recreate campaigns due to small mistakes
  • Makes campaigns more practical to use
  • Signals continued investment in this feature area
You can now restrict Pipeline Stages at the Opportunity Type level | v2.212 #1027853 | 4:58

Restricts pipeline stages based on opportunity type.

  • Keeps sales workflows cleaner
  • Avoids irrelevant stage options
  • Useful for more structured sales processes
Added the option to use the incoming webhook service for QuickBooks Online webhook processing | v2.212 #1021654 | 8:39

Adds webhook processing options including delayed and retry handling.

  • Helps manage high webhook volume
  • Reduces risk of dropped events
  • ⚠️ May introduce delays depending on configuration
Added in the ability to hide certain tickets from the change calendar | v2.212 #1017196 | 13:21

Adds the ability to hide tickets from the change calendar.

  • Useful for sensitive or internal tickets
  • Helps reduce noise in calendar views
  • Currently tied to the “Sensitive” flag
Service Users are Subscribed to has been added as an option to Distribution Lists and User Lists | v2.212 #1013148 | 13:55

Adds Service Users as a selectable option in distribution and user lists.

  • Expands targeting logic
  • Improves automation flexibility
  • Useful for advanced filtering scenarios
You can now send Mail Campaigns from Sales Mailboxes | v2.212 #1011772 | 14:54

Allows campaigns to be sent from sales mailboxes.

  • Improves branding and ownership
  • Separates sales vs support communications
  • ⚠️ Be cautious of Microsoft send limits
A warning will now be shown on an action and the ticket will be updated if an action email will fail to send | v2.212 #1010891 | 16:49

Adds a warning when an action email will fail.

  • Improves visibility into email failures
  • Helps prevent missed communications
  • Updates ticket automatically with failure state
Added the ability to map relationship types for parent, child, and sibling assets in SQL imports | v2.212 #1010659 | 18:17

Adds asset relationship mapping during SQL imports.

  • Preserves structure during migrations
  • Supports complex asset environments
  • Useful for onboarding/import projects
Added isRunning to Halo Asset Discovery integration | v2.212 #1010606 | 18:54

Adds an isRunning field to asset discovery.

  • Helps track discovery state
  • Useful for monitoring and automation
  • Adds visibility into background processes
Additional rule types have been added to qualification matching criteria for custom fields | v2.212 #1009694 | 19:02

Expands qualification matching with custom field rules.

  • Enables more advanced routing logic
  • Supports complex assignment scenarios
  • ⚠️ Often overkill for most MSPs
Ticket details can now auto-refresh when a background automation completes | v2.212 #1003085 | 25:29

Allows ticket view to auto-refresh after automation runs.

  • Keeps UI in sync with backend updates
  • Eliminates need for manual refresh
  • ⚠️ Not enabled by default — turn this on
Added 'Update Currency' to Quotes | v2.212 #992111 | 29:17

Adds ability to update currency values on quotes.

  • Supports multi-currency environments
  • Updates cost and price together
  • Improves quote accuracy
Added option to make a Knowledge Base's negative feedback comment mandatory | v2.212 #991702 | 30:41

Requires comments for negative KB feedback.

  • Improves feedback quality
  • Helps refine documentation
  • Useful for KB governance
New default setting for showing grandchildren in child ticket lists | v2.212 #990317 | 30:49

Adds control for showing nested tickets.

  • Improves visibility in projects
  • Useful for multi-level ticket structures
  • Configurable behavior
Improvements to AI report analysis | v2.212 #987946 | 31:27

Enhances AI reporting capabilities.

  • Can now be scheduled
  • Can be embedded in PDFs
  • ⚠️ Still not widely used in practice
Added a setting to restrict knowledge base article amendments to owners only | v2.212 #982079 | 33:06

Restricts KB edits to owners only.

  • Improves control over content
  • Prevents unintended edits
  • Supports structured documentation workflows
Added a global setting to allow users to translate actions on the portal when using Azure AI Translator | v2.212 #978595 | 33:22

Adds translation support in the portal.

  • Useful for multilingual environments
  • Improves accessibility
  • May not be necessary for all MSPs
Added the setting 'Secondary Asset MAC address field' to the Splashtop integration | v2.212 #978176 | 34:08

Adds secondary MAC address support.

  • Helps with multi-adapter devices
  • Improves asset matching
  • Integration-specific enhancement
You can now set character limits on memo and rich text custom fields | v2.212 #976975 | 34:39

Adds character limits to text fields.

  • Prevents overly large inputs
  • Improves data consistency
  • Helpful for structured data entry
Added additional fields to assist with reporting on OLAs and rules | v2.212 #976953 | 34:47

Adds more fields for OLA and rule reporting.

  • Improves internal tracking
  • Supports more detailed reporting
  • Still primarily useful for advanced setups
Added the setting 'Prevent email responses from continuing the approval flow' at approval step level | v2.212 #974172 | 39:10

Prevents approvals from email replies.

  • Avoids accidental approvals
  • Forces structured approval process
  • Improves workflow control
Added a setting to the Custom Field configuration to copy values to grandchild tickets when updated | v2.212 #970536 | 40:25

Extends field copying to deeper ticket levels.

  • Maintains consistency across ticket hierarchy
  • Useful for projects and task trees
  • Reduces manual updates
Added Primary Asset as a criteria for Runbooks | v2.212 #970066 | 40:41

Adds primary asset as a runbook condition.

  • Enables asset-based automation
  • Improves targeting of runbooks
  • Useful for device-specific workflows
Added $-AgentID as an available $ variable for Database Lookups | v2.212 #961283 | 40:48

Adds AgentID variable for lookups.

  • Expands database query capabilities
  • Useful for advanced automation
  • Improves flexibility in integrations
Added reports and dashboards to configuration change tracking | v2.212 #959264 | 40:55

Adds reporting changes to config tracking.

  • Improves audit visibility
  • Helps track admin changes
  • Pairs well with settings search feature
Filter Profiles can now be used on Child Ticket lists | v2.212 #922698 | 42:56

Adds filter profiles to child ticket views.

  • Reduces clutter (especially closed tickets)
  • Improves usability in projects
  • Strong practical improvement
Added multiple settings to the 'Other Open Tickets' views | v2.212 #882375 | 45:18

Adds more configuration options to other open tickets view.

  • Improves visibility of related tickets
  • Can be moved to its own tab
  • Enhances day-to-day ticket context

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