Refresh your Resume

By  
El Copeland
January 4, 2025
20 min read
Share this post

When is the last time you updated your Resume/CV?  

There was a little bit of chatter in the MSPGeek Discord last month about what actually needs to go on a resume.  (MSPGeek Website | MSPGeek Discord)

It got me curious: how many of my friends in the MSP space have an up-to-date resume, and one that they’re proud of?  

Uh-oh, have you not dusted yours off in a few years?

Let’s talk about why you might want to change that even if you’re happy where you are and some practical advice for updating yours into something you’re proud to showcase.  

What is a Resume and how is it different from a CV?  

Let’s start with the basics.  

A resume is a generally a concise document highlighting your professional experience, skills, and accomplishments. When I’m coaching others, I use the analogy that a good resume is just a firm handshake. It's what gets your foot in the door for hopefully further conversations. You’ll want your resume to be tailored to your current interests and objectives, whittled down to reflect your story and expertise.  

On the other hand, a CV, or curriculum vitae, comes from Latin words curriculum, which came from the original word currere which translates to run, as in a race; and vitae, meaning life. Curriculum has since been adapted as an educational term for what you’d be learning in a class or program, but it originally just meant “what race are you running?”  

With that in mind, a CV literally translates to course of life, and as such it’s a beefier document than a resume, reflecting a detailed account of one’s professional journey, path, and achievements, showcasing a full history of your education, research, and work. I coach my people to keep both on hand, considering the CV as the “source of truth” for everything you’ve ever done with complete timelines and full descriptions, and creating multiple child resumes depending on your specific job application or use case.  

In general, in the MSP (Managed Service Provider) space and in the employment arena, these words are often used interchangeably but I encourage you to default to providing a simpler resume, and as such we’ll be focusing on that term in this article. However, there are places and times that it makes sense to provide a full CV and we’ll address that as we go.  

The Value of Keeping a Resume on Hand

Having an up-to-date resume is a good practice to keep even if you’re not actively looking for jobs.  Some companies that bid for work include team member resumes and CVs as evidence of that company’s competence and fit to win a particular Request for Proposal (RFP).  

It’s also helpful because you never know when the random person you meet at a conference, church, or bar, likes the cut of your jib and wants your resume to see if you’re a good fit for their company!

If you’re in Sales or Marketing, knowing what your technical teams’ Resumes and CVs look like can be a wealth of data for building proposals or providing accomplishments to prospective clients. It’s worth seeing if your team has up-to-date resumes so you know the high points of their skills and accomplishments and can brag about them accordingly.  

So enough about the why of a good Resume. Let’s talk about the how.  

Building a "Good” Resume

As someone who has applied for many jobs, read a good number of applications for my own businesses, and coached others in cleaning up their own, let’s talk about what makes a resume or CV successful to me and how I applied those ideals in my own resume. As you’ve surely noticed, the word good is in quotation marks – every bit of advice in here is built on years of learning and experience, but is by no means dictatorial or the final word on the resume that will get you the job of your dreams.  

My goal is to give you inspiration on revamping and practical advice further editing your own! If you follow these ideas, hopefully, you'll take your resume from "meh" to "good" and as you build your idea of what good looks like, you can make it "great."

Here is my current resume, for reference:  

What are your first thoughts? It’s ok if you hate it, it won’t hurt my feelings. The fact that you’re thinking about what could be a resume is the exciting part for me. We’ll use my resume to tear apart some of these rules so you have practical ideas for what to do, or not!

Rules I kept in mind:  

  1. You’re the Hero.  
  1. Lead with action.
  1. Context, context, context.  
  1. Show your Work

You’re the Hero.  

For the uninitiated, Doctor Who is a BBC Family Show about a millennia-old time-traveling alien who consistently finds himself saving the human race while meeting historic people and events from the past, present, and future.  In the 2024 Christmas special, Ncuti Gatwa as the Doctor finds himself trapped in a crappy hotel room by himself, for a year. “The long way ‘round” rings in the viewers’ ears as we are then escorted through the next year of the Doctor, watching his character development as he performs menial labor and often comical tasks. It’s heartwarming and tearjerking, and....

Don’t do that.  

Yeah, you heard me. Your resume is not the place for your growth or development. It’s not the place to give the ins and outs of your day-to-day. Your resume needs to be the high points. This is just the book cover, the summary, the short review enticing someone to pick you up and actually flip through the pages.  

Ways that you can do that include:  

  • Use a “Summary” and/or “Objective”.
    What is your overall story? Are you a phenomenal Tier 2 Technician looking for her next role leading a team as a Tier 3? Are you hoping to transition to leadership with your people skills? Are you wanting to contribute to a team with your depth of knowledge of security infrastructures? What should the reader of your Resume see first, and how should they read your story?  
  • Keep to the point.
    A rule of thumb often used is 10 years of work experience to one page of resume. IF you have more experience that requires more words, try to shorten it first. Or, include an appendix fully describing a project or situation.  
  • Maybe a picture.
    Honestly, I hate having a photo on a resume, but I was applying for a job outside of my local area and industry I wanted something that showed my character. I left it on the styling because I’m lazy. Be careful with photos, they can seem unprofessional.  

We want to know that you can speak Judoon, have commandeered a TARDIS, and are adept with both psychic paper and a Sonic Screwdriver. We do not need to know that you carjacked said TARDIS, brought someone a cheese toastie and pumpkin latte, or snogged Queen Elizabeth.  If the devil is in the details, well, leave the details and the devil out of your resume, dude.

This example is a little silly, but the point remains that YOU are the hero and YOU write your own story. Make sure the readers of your resume know what that is. And regardless of what story you write, your resume should always lead with Action.  

Lead with Action

What have you done that you have control over? Your resume should show that you’re an asset to the teams that you’re on and that the work you’ve done has shown your strength.  

Instead of framing things as being a part of a project or that something was imposed on you, stretch yourself to consider the decisions you made and how they were impactful.  

Check your resume in a grammar checker for  “passive voice” and eliminate it from your resume as much as possible. Passive voice makes it seem like you are just that: a passive bystander to things that you created. This isn’t the place for modesty, it’s a place for groundedness and intentionality! Don’t be scared to show them what you’ve got! Here are some good rules of thumb for your resume:  

  1. Start with action verbs: Use strong verbs such as developed, managed, increased, led, implemented, and optimized.
  1. Ask 'who did what?': When reviewing your bullet points, ask yourself who is performing the action, and make that the subject of the sentence.
  1. Quantify results: Adding metrics helps make the statement more assertive and shows the impact of your actions.

Here are some practical examples for how you can update passive voice with active voice.  

  • Ticket System Implementation
    • Passive: “A new ticketing system was implemented to streamline support requests.”
    • Active: “Implemented a new ticketing system that streamlined support requests, reducing response times by 20%.”
  • Customer Care
    • Passive: “Client issues were resolved in a timely manner.”
    • Active: “Resolved client issues within 24 hours, improving customer satisfaction ratings by 15%.”
  • Report Preparation
    • Passive: “Quarterly reports were prepared and presented by me for leadership review.”
    • Active: “Prepared and presented quarterly reports to leadership, providing data-driven insights that influenced key decisions.”
  • Training Employees
    • Passive: “Training programs were created for new hires.”
    • Active: “Created and led training programs for new hires, resulting in a 30% reduction in onboarding time.”
  • Security Updates
    • Passive: “System upgrades were performed to improve security.”
    • Active: “Performed system upgrades to improve security, reducing vulnerability incidents by 40% compared to previous year.”

Of note, it is highly possible that you don’t feel like you have the numbers or the confidence to do this, today.  There is a certain amount of intentionality and care that is required to start gathering these types of Key Performance Metrics or goals. It’s possible that your management is tracking some of these things already and you can talk to your manager about their goals for your department and roll those into your own successes.  

Context, Context, Context

Know your audience and keep it relevant in all the ways possible, I’d specifically encourage you to consider context of content and context of delivery.  

Content

We allude to this in the section on being the Hero, but keep multiple versions of your resume on hand depending on the role and company you are applying for! Review the business’s website and job listing for key words, phrases, or values to show you are a good fit. Remove work experience that isn’t applicable to the role. Don’t keep things in if they dilute what you are actually seeking to present yourself as. Customize your bullet points: Swap in key accomplishments that fit the job description. If the role focuses on leadership, highlight examples of mentoring or leading a team. If it’s technical, detail relevant certifications, tools, and projects.

Formatting

Use consistent headers, bullet points, and spacing to make your resume easy to scan. Avoid excessive detail that clutters the page. Stick to clean, professional fonts and clear section breaks.  

Keep it simple, but don’t be afraid of a little personality: A pop of color, a different font, or slightly unique formatting can be memorable—but don’t overdo it. Use section dividers, subtle lines, or an (one!) accent color to guide the eye. Include icons for contact info if appropriate, but ensure they don’t distract (choose SIMPLE icons with only one color and make sure all icons are from the same family pack).  

Keep font choices professional yet modern, such as using sans-serif fonts like Calibri or Lato. In general, I recommend not using more than one typeface, and limit the times you change it. Regular, bold, italic should get you far, and try to keep font sizes to three variations: title (36pt), header (18pt), body (12pt). Keep things consistent like you would be if you were marking up a webpage or application. And please, whatever you do, don’t express yourself through clever or cartoony fonts, this is for business, not your personal art gallery.

Delivery

How are you submitting your application? In person, by email, through a digital system?  

Will the person be reading this on a mobile device or printing it out?  

If in person, don’t be afraid to print off a color copy on nice, weighted cardstock for an in-person interview, and bring copies for other people who may be in the room as well, for a peer interview.  

For digital submissions Check the format based on delivery method: Ensure your resume reads well in multiple formats—digital (PDFs), ATS-scannable text, and print. Run tests to see how it looks in each form.  Do screenreaders or convert to plain text to see (or hear) what a computer-read version of your document turns out to say. Does it make sense? If not, rework it.  

Show your Work

As mentioned multiple times in this article, your resume is a tool for opening doors, so don’t let it be a dead end for the reader. Where do you keep your portfolio or where should they go to find more information about you if this resume piqued their interest? Don’t keep them guessing, give them access! Some things you may want to include on a modern resume:  

  • Links  
    • Github
    • LinkedIn Profile  
    • Blog or Portfolio
  • Personal Projects or Achievements section
    • Speaking engagements
    • Community Volunteerism
    • Open Source Projects you contribute to
  • References or Testimonials
    • While your references should be separate from your resume, don’t be afraid to list quotes from people about your work or link to reviews

Now, it’s your turn!  

What do you think? If you look at your resume, does it follow my suggestions of making yourself the Hero. leading with action, considering appropriate context, and showing your Work?  Where did I deviate from the rules, do you think it works for me, or not?  

On the flip side, what rules do you think I am missing?

I hope I’ve inspired you to update your resume and/or CV this month and to encourage your friends and colleagues to do the same! If you need help cleaning up your resume, you can find me on any of the social channels listed on my resume, or through Rising Tide if you want to pay me to just do it for you.  

Share this post
El Copeland

Throughout my career, I've had the joy of leading many diverse and multifaceted teams.

Community building, especially within the technical community, is truly at the heart of what I do. I’m dedicated to fostering inclusive spaces where professionals can connect, share insights, and grow a culture of innovation and ongoing learning together, both in-person and when the team is 100% remote. I take pride in my ability to lead with both clarity and empathy, deftly handling the complexities of technology-driven projects while always keeping the human connection at the forefront of every decision.

For companies seeking consulting and project work, I bring a deep understanding of operational efficiency and project management. I am skilled at not only identifying areas for improvement but also implementing strategic solutions that enhance productivity and outcomes. My strong background in technology, education, and people management allows me to seamlessly integrate innovative tools and processes to address specific challenges, ensuring that projects not only meet but exceed expectations, and that teams are motivated, well-coordinated, and focused on delivering and maintaining organizational goals.

Outside the office, I enjoy blueberry muffins, Doctor Who, weight-training, gardening, and spending time with my cats.

See some more of our most recent posts...
September 30, 2025
8 min read

By the [run]Book: Episode 8

Episode 8 of By the [run]Book explores HaloPSA v2.200 beta, featuring ArrowSphere and Raynet integrations, Pax8 automation, AI and reporting controls, and forecasting improvements.
Read post

Episode 8 of By the [run]Book jumps into HaloPSA v2.200 beta features. From distributor integrations (ArrowSphere, Raynet), AI controls, forecasting improvements, Pax8 automation, and new ticket workflow controls, there’s a lot for MSPs to explore. This episode is packed with updates for finance, automation, security, and reporting that can streamline operations and open new possibilities.

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

ArrowSphere integration is now available | v2.200 #289098 | 1:10

ArrowSphere integration is now available

  • Expands distributor catalog options
  • Useful for license and product procurement

Raynet One integration is now available | v2.200 #835673 | 2:38

Raynet One integration is now available

  • Stronger asset discovery and management
  • Complements Halo’s native CMDB

Added Mobile App release versions and release information | v2.200 #988453 | 3:10

Added Mobile App release versions and release information

  • Track mobile release cycles
  • Gives admins visibility into app adoption

When using Save As on Configuration Areas the Access Control List is now copied | v2.200 #988092 | 4:54

When using Save As on Configuration Areas the Access Control List is now copied

  • Speeds up cloning of configs
  • Preserves security/access settings

Actions that send Webhooks can now be triggered on Create, Edit, Delete | v2.200 #986466 | 10:12

Actions that send Webhooks can now be triggered on Create, Edit, Delete

  • Expands automation flexibility
  • Supports more real-time integrations

Added Mark Billed/Not Billed to the CSP Invoice List | v2.200 #986195 | 12:40

Added Mark Billed/Not Billed to the CSP Invoice List

  • Simplifies CSP billing workflows
  • Improves financial reporting

Added ability to override price per currency | v2.200 #984653 | 14:41

Added ability to override price per currency

  • Greater multi-currency support
  • Helpful for global MSPs

ITIL Ticket Type and Ticket Type Group added as criteria for Ticket Rules | v2.200 #984404 | 15:49

ITIL Ticket Type and Ticket Type Group added as criteria for Ticket Rules

  • Easier to apply ITIL processes
  • Supports better ticket automation

Added option for Workflow Step to show a message rather than being added to the Ticket History | v2.200 #983903 | 16:14

Added option for Workflow Step to show a message rather than being added to the Ticket History

  • Cleaner workflows
  • Reduces ticket history clutter

Added ability to self approve Invoice Approvals | v2.200 #982224 | 20:03

Added ability to self approve Invoice Approvals

  • Faster internal billing approvals
  • Reduces bottlenecks for finance teams

Added Opportunity Value and Opportunity Profit as criteria for Opportunity Approval Rules | v2.200 #981567 | 22:35

Added Opportunity Value and Opportunity Profit as criteria for Opportunity Approval Rules

  • Enforces financial thresholds
  • Ensures oversight on large deals

JWT PS256 Assertion is now supported for Custom Integrations | v2.200 #980596 | 23:03

JWT PS256 Assertion is now supported for Custom Integrations

  • Increases integration security
  • Expands compatibility with APIs

Improved logging has been added to Freshdesk Migrations | v2.200 #980351 | 23:34

Improved logging has been added to Freshdesk Migrations

  • Easier to troubleshoot
  • Helps ensure smoother migrations

Added mandatory fields when manually creating a Customer | v2.200 #979956 | 23:47

Added mandatory fields when manually creating a Customer

  • Improves CRM data quality
  • Prevents incomplete records

Fixed issue where $_userid variable would not use Ticket User when using a non logged in session | v2.200 #979921 | 24:23

Fixed issue where $_userid variable would not use Ticket User when using a non logged in session

  • Fixes automation reliability
  • Ensures correct user context

Added ability to link CSP Licenses to Customers by Tenant ID | v2.200 #979388 | 24:48

Added ability to link CSP Licenses to Customers by Tenant ID

  • Streamlines CSP license management
  • Supports multi-tenant scenarios

Added new rule criteria "Is draft amendment" | v2.200 #978652 | 26:54

Added new rule criteria "Is draft amendment"

  • Enhances rule precision
  • Supports contract change workflows

Removed Change Sequence field from Device and Site endpoints | v2.200 #978553 | 27:05

Removed Change Sequence field from Device and Site endpoints

  • Cleans up unused fields
  • Simplifies API outputs

Added Item Supplier SKU to Quotes, Sales Orders, Purchase Orders and Invoices | v2.200 #977928 | 27:11

Added Item Supplier SKU to Quotes, Sales Orders, Purchase Orders and Invoices

  • Improves procurement detail
  • Complements manufacturer SKU

Added $_CONFIRMFEEDBACK variable to allow inclusion of feedback links in emails without risk of submission by web scanners | v2.200 #977157 | 27:25

Added $_CONFIRMFEEDBACK variable to allow inclusion of feedback links in emails without risk of submission by web scanners

  • Prevents false feedback submissions
  • Adds safeguard for automated systems

Added ability to paste images into plain text notes | v2.200 #976145 | 29:41

Added ability to paste images into plain text notes

  • Converts pasted images into attachments
  • Improves technician documentation

Added "None" option to Opportunity Pipeline Stage | v2.200 #975939 | 30:02

Added "None" option to Opportunity Pipeline Stage

  • Useful for non-standard deals
  • Prevents forced categorization

Added paragraph formatter to Knowledge Base Articles | v2.200 #975816 | 30:15

Added paragraph formatter to Knowledge Base Articles

  • Improves formatting options
  • Creates cleaner KB layouts

Added Recurring Invoice IDs to Project Deliverables | v2.200 #975764 | 30:23

Added Recurring Invoice IDs to Project Deliverables

  • Links financials with project work
  • Easier auditing of deliverables

Added new Virtual Agent function 'Web Search' | v2.200 #974256 | 32:04

Added new Virtual Agent function 'Web Search'

  • Virtual agent can now query the web
  • Potential for enhanced self-service

Added a setting to disable anonymous access to Reports | v2.200 #972033 | 33:16

Added a setting to disable anonymous access to Reports

  • Secures sensitive reporting data
  • Better control for compliance

Added a setting to mark Actions created from forwarded emails as Private | v2.200 #971373 | 34:48

Added a setting to mark Actions created from forwarded emails as Private

  • Protects sensitive replies
  • Prevents unintended client exposure

Reduced the refresh interval on Ticket Details | v2.200 #970219 | 37:25

Reduced the refresh interval on Ticket Details

  • Faster live updates
  • Improves agent responsiveness

Added ability to push Purchase Orders to Xero using converted currency | v2.200 #968522 | 37:43

Added ability to push Purchase Orders to Xero using converted currency

  • Supports multi-currency accounting
  • Streamlines Xero integrations

Fixed issue where Subscriptions imported without End Dates would default to 1st Jan 1970, they now default to the Contract End Date | v2.200 #967742 | 38:56

Fixed issue where Subscriptions imported without End Dates would default to 1st Jan 1970, they now default to the Contract End Date

  • Improves data accuracy
  • Reduces cleanup work

Added ability to map Employee Type field from Entra ID | v2.200 #967409 | 39:15

Added ability to map Employee Type field from Entra ID

  • Brings more HR data into Halo
  • Useful for filtering and reporting

Added ability to hide Ticket Type selection at Action level on new Ticket screen | v2.200 #965667 | 39:38

Added ability to hide Ticket Type selection at Action level on new Ticket screen

  • Simplifies ticket forms
  • Prevents incorrect type selections

Added Collision Detection for Billing Entities | v2.200 #964893 | 40:13

Added Collision Detection for Billing Entities

  • Prevents conflicting edits
  • Protects financial data integrity

Added Ticket Tags as criteria for Ticket Rules | v2.200 #964799 | 42:37

Added Ticket Tags as criteria for Ticket Rules

  • Expands automation options
  • Supports more granular rules

Added ability for Ticket Rule Outcomes to set User Custom Fields | v2.200 #963641 | 43:21

Added ability for Ticket Rule Outcomes to set User Custom Fields

  • Enriches automation possibilities
  • Reduces manual user updates

Added Configuration Tracking for Lookup Profiles | v2.200 #963628 | 43:34

Added Configuration Tracking for Lookup Profiles

  • Tracks changes for auditing
  • Improves config accountability

Updated interactive login flows for Custom Integrations | v2.200 #962496 | 43:55

Updated interactive login flows for Custom Integrations

  • Standardizes across integrations
  • Improves user experience

Added ability for Feedback endpoint to filter by Start and End Dates | v2.200 #961400 | 44:11

Added ability for Feedback endpoint to filter by Start and End Dates

  • Enables historical reporting
  • Adds precision to feedback queries

Added ability to auto create Items and Invoices from Pax8 Subscriptions | v2.200 #960452 | 44:41

Added ability to auto create Items and Invoices from Pax8 Subscriptions

  • Automates Pax8 billing flows
  • Reduces manual entry

Added Client, Mailbox and End User fields to Qualification Matching | v2.200 #960337 | 47:09

Added Client, Mailbox and End User fields to Qualification Matching

  • Enhances routing logic
  • Supports more accurate matching

Added Customer Type field to Ticket Details screen | v2.200 #954727 | 50:12

Added Customer Type field to Ticket Details screen

  • Provides better visibility
  • Useful for reporting and filtering

Added option to clear Supplier on Recall Actions | v2.200 #947898 | 51:36

Added option to clear Supplier on Recall Actions

  • Helps clean up procurement data
  • Supports better vendor management

Improvements to Forecasting Module | v2.200 #937556 | 52:01

Improvements to Forecasting Module

  • New forecasting options added
  • Improves financial projections

Added Holiday Rules to Schedules | v2.200 #937554 | 54:13

Added Holiday Rules to Schedules

  • Supports skipping holidays
  • Reduces scheduling conflicts

Added ability to auto group Quotation Lines by Item Group | v2.200 #922789 | 54:40

Added ability to auto group Quotation Lines by Item Group

  • Creates cleaner quotes
  • Improves readability for clients

September 16, 2025
8 min read

By the [run]Book: Episode 7

Episode 7 of By the [run]Book covers HaloPSA v2.196 and v2.198, featuring updates to ticket layouts, SQL-driven automation, reporting, AI controls, and multi-page ticket logging.
Read post

In Episode 7 of By the [run]Book, the team finishes off highlights from v2.196 before diving into the first v2.198 beta features. From multi-column ticket layouts and SQL-driven scheduled tickets to dynamic field visibility groups, AI exclusions, and multi-page ticket logging, this release is stacked with quality-of-life improvements and automation power-ups. A must-watch for MSPs looking to fine-tune service delivery and streamline configuration.

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

Added the setting 'Number of columns on the End-User Portal new Ticket screen' at Ticket type level | v2.196 #688629 | 1:29

Lets you define how many columns appear in end-user ticket forms.

  • Condense long forms into multiple columns
  • Easier to design cleaner layouts for portal users

Added the ability to filter Microsoft CSP site value mappings by Azure Group | v2.196 #753423 | 5:47

Filter CSP mappings to assign values by Azure group membership.

  • Useful for billing types or licensing models
  • Simplifies recurring invoice criteria

Added option to add Assets to Scheduled Tickets using custom SQL query | v2.196 #739358 | 9:55

Schedule tickets dynamically based on SQL queries for assets.

  • Automatically pull asset lists
  • Enables complex filtering by type, warranty, or other attributes

A setting has been added to Appointment Types to hide/remove Attendees from Appointments | v2.196 #414277 | 14:45

Prevent certain appointment types from including client attendees.

  • Good for internal reminders
  • Avoids accidental client notifications

Added option at Ticket Area level to add an image to the page header | v2.198 #967928 | 18:58

Ticket areas can now display custom images in the header.

  • Supports branding or co-managed IT scenarios
  • Add a logo or visual context per area

Report Bar charts which include a sum or count of records can now be split by a field in a Report | v2.198 #967725 | 20:59

Improved reporting with stacked bar splits.

  • Group by multiple fields (e.g., client + status)
  • More flexible dashboards

A setting has been added to Project Management Configuration to enable ordering of Project Tasks by a Sequence Number by default | v2.198 #962014 | 22:46

Projects tasks can now follow sequence numbers.

  • Improves ordering in templates and live projects
  • Sets consistent workflows

Quote Settings and Quote Approvals have been split out onto separate Configuration lists | v2.198 #961971 | 24:38

Quote settings and approvals are now managed separately.

  • Cleaner configuration pages
  • Easier to find the right settings

A setting has been added to Quote Configuration "Show the Product list prices using converted rate" | v2.198 #960576 | 25:24

Show product list prices in the target quote currency.

  • Better transparency for multi-currency quotes

Improved Billing module configuration layout | v2.198 #959686 | 25:52

Billing configuration split into clearer sections.

  • Easier to navigate invoice, labor, and travel settings

Remote support functionality is now available with the ConnectWise Control integration | v2.198 #952417 | 26:53

HaloPSA integration now supports remote session invites.

  • Directly link sessions from assets or tickets

Added new method for line total calculations for Invoices, Quotes, Sales Orders and Purchase Orders | v2.198 #949475 | 27:36

Introduces improved line total calculations.

  • Better rounding in multi-currency scenarios
  • More consistent invoice/quote math

CRM note custom fields can now be re-ordered using sequence values | v2.198 #947824 | 29:42

Control the order of CRM note custom fields.

  • Easier to present critical info at the top
  • Cleaner user experience

Dynamic field visibility conditions are now grouped | v2.198 #935136 | 29:49

New grouping logic for dynamic field conditions.

  • Combine multiple AND/OR groups
  • More flexibility when designing forms

Added a customer level setting to exclude the customer from AI functionality | v2.198 #921333 | 33:31

Exclude sensitive customers from Halo’s built-in AI.

  • Useful for legal/privacy requirements
  • Can be referenced by custom AI logic too

You can now choose an asset column profile for the assets field on the new ticket screen on the self service portal | v2.198 #855247 | 34:18

Control which asset columns users see when logging tickets.

  • Improves clarity for end users
  • Customize per ticket type

You can now search the Ingram Micro hardware catalogue directly | v2.198 #839722 | 36:31

Pull products straight from Ingram Micro.

  • Faster quoting process
  • Avoids manual catalog lookups

Added the ability to enforce that a service should always appear in the 'Favourite Services' on the portal when accessible to the user or prevent a service from appearing in the 'Favourite Services' | v2.198 #838454 | 36:53

More control over “Favourite Services” in the portal.

  • Force visibility for key services
  • Prevent clutter from irrelevant ones

Add various improvements to ticket Kanban views | v2.198 #826176 | 37:08

Ticket Kanban boards improved.

  • Show all stages, even empty ones
  • Choose default view type

Added a permission to determine whether agents can push configuration changes between other environments/instances | v2.198 #815397 | 39:01

Granular permission for pushing config changes.

  • Useful for staging/dev/test environments

Service and service category user access restrictions are now grouped | v2.198 #815195 | 39:18

Improved grouping for user access restrictions.

  • Cleaner criteria logic
  • Matches new grouping system

New storage method for global settings to improve performance | v2.198 #812830 | 40:04

Settings now stored in a new format.

  • Faster performance
  • Friendlier structure for reporting

Added the ability to restrict Mailbox senders to multiple Teams, Departments and Organisations | v2.198 #804411 | 42:59

Mailbox sender restrictions expanded.

  • Route inbound email more flexibly
  • Apply to multiple orgs/departments

A setting has been added to Custom Field creation that allows non-integer values to be used for Single Select ID fields populated by Custom Integrations | v2.198 #803758 | 43:14

Single Select IDs can now use non-integer values.

  • Supports GUIDs and strings
  • Essential for Graph API and external integrations

Added an option to include cloned tickets in the same Milestone as the original ticket | v2.198 #781758 | 48:59

Cloned tickets can now inherit milestones.

  • Keeps related work aligned
  • Reduces cleanup

Added a new setting in the Billing configuration to apply credit using Payments | v2.198 #770215 | 49:27

Credits can now be applied as payments.

  • Better alignment with accounting practices
  • Avoids negative line-item issues

Added the ability to change an action's contract from the Awaiting Review list | v2.198 #767329 | 53:07

Contracts can now be swapped in the review list.

  • Supports correcting mistakes without reopening

Impprovements to the AWS integration | v2.198 #744781 | 54:04

Enhancements for AWS usage billing.

  • More accurate sync
  • Broader coverage of services

Multi-Page Ticket Logging is now available for the Self Service Portal | v2.198 #441082 | 54:22

Split ticket forms into multiple pages.

  • Improves user experience
  • Configure by field groups

A Bulk option has been added to user lists to change users into service users (or Non-Service Users) | v2.198 #383627 | 55:42

Bulk toggle users between service and non-service.

  • Simplifies user management at scale

A Default Sequence/Order has been added to Product/Item Groups that will be used when adding Products/Items to Quotes/Orders/Invoices | v2.198 #357664 | 56:10

Item groups now support a default sequence.

  • Ensures predictable ordering
  • Reduces manual sorting

September 2, 2025
8 min read

By the [run]Book: Episode 6

In Episode 6, the team explores HaloPSA v2.196 stable, covering billing recalculation, recurring invoice options, mailbox filters, project billing efficiency, role-based permissions, and automation upgrades.
Read post

Episode 6 breaks down HaloPSA v2.196 (stable). We cover improvements to billing recalculation and recurring invoice scheduling, on-prem integration security, ticket UI/UX (action groups, field group behavior), role-level controls, chat on existing tickets, and a big boost to project billing performance in Ready for Invoicing. Ideal for MSPs tightening finance, project, and automation workflows in Halo.

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

A setting has been added to the Advanced Settings so that a default font can be chosen for the Editor on Tickets and Actions | v2.196 #957605 | 4:43

Choose a consistent default font for editors in tickets and actions.

  • Set globally in Advanced Settings
  • Keeps agent communications visually consistent

Added a security check for integrations that are configured to allow unauthenticated webhooks | v2.196 #956772 | 5:54

A banner warns when integrations allow unauthenticated webhooks.

  • Nudges admins to tighten webhook security
  • Reduces risky integration configurations

A button has been added to the Customer screen to allow time entries to be recalculated in the background | v2.196 #955934 | 7:12

Recalculate billing for a selected customer over a defined window.

  • Limited to recent months for performance
  • Respects locked or already-invoiced time entries

Billing Plan Combinations can now be given a Start and End date; time logged outside of these values will not match the combination | v2.196 #955162 | 13:37

Control when a billing rule applies.

  • Prevents unintended retroactive changes
  • Smooth transitions as pricing rules evolve

A setting has been added to Configuration > Recurring Invoices > List Settings so that Recurring Invoice lists will hide Inactive Invoices by default | v2.196 #953223 | 17:06

Declutter your recurring invoice view.

  • Hide inactive by default
  • Recommended for most teams

Added "Mailbox" as a Ticket List Criteria | v2.196 #948983 | 19:38

Filter or route tickets by the mailbox they came from.

  • Easier separation of alert mailboxes vs. support
  • Useful for list views, rules, and reporting

Improvements to on-premise integrations that use the Halo Integrator | v2.196 #937027 | 22:53

Security and reliability enhancements for on-prem connections.

  • Support for secure credential storage (e.g., Azure Key Vault)
  • More control for local integration schedules

Default Start Date can now be set at Ticket Type level | v2.196 #920636 | 25:29

Make start dates automatic for certain ticket types.

  • Helpful for templates and scheduled tasks
  • Reduces manual edits by agents

Added a setting to prevent field groups from being collapsed | v2.196 #898449 | 26:37

Keep grouped fields always visible.

  • Ensures critical fields remain expanded
  • Useful for long, important forms

Added Client/Site CRM Note Created/Updated/Deleted as notification and runbook triggers | v2.196 #894541 | 28:32

Automate around CRM note activity.

  • Great for account management follow-ups
  • Notes can log time and trigger workflows

Runbook methods now support response that are only text | v2.196 #881111 | 33:01

Runbooks can process text-only API responses.

  • Supports non-JSON endpoints
  • Use text values in runbook lookups

Improvements to the XLS imports | v2.196 #855596 | 34:24

Safer, clearer Excel imports.

  • New Validate button to test before running
  • Optionally limit rows per batch

Added option on Recurring Invoice schedules to invoice on a specific day of the month | v2.196 #840590 | 37:18

Bill on an exact day each month.

  • Avoid hacky “days ahead” workarounds
  • Keep clean monthly periods (1st–end)

Added the setting 'Disable modification of milestones on Tickets' at Template level | v2.196 #835114 | 42:10

Lock milestone structures from templates.

  • Enforces standard project delivery sequences
  • Prevents ad-hoc milestone changes

Added option to 'chat about a ticket' for users on the self-service portal | v2.196 #828310 | 43:21

Let end users chat directly on an existing ticket.

  • Maintains context vs. starting a new chat
  • Useful where chat is a primary channel

The options for "Add to Project" and "Add budget to Project" will no longer show on the Sales Order line when no Products are created for the Sales Order and the option to only show Projects on the same Sales Order is being used | v2.196 #821081 | 45:46

Reduce confusion on sales order lines.

  • Hide project actions when they don’t apply
  • Keeps UI aligned with “same sales order” constraint

Added the option to restrict log on behalf permissions at user role level | v2.196 #820693 | 47:01

Granular “log on behalf” controls.

  • Scope by client/site/department
  • Tighter control for delegated ticket creation

Added Action Groups | v2.196 #722376 | 51:12

Group actions into dropdown menus on tickets.

  • Declutters the action bar
  • Create intuitive groups (e.g., AI, Notes, Contact)

Improved project loading efficiency in the ready for invoicing section | v2.196 #594973 | 56:31

A big boost to project billing performance.

  • Project number stored on each time entry
  • Faster loads and simpler reporting (even several levels deep)

Added 6 new notification/runbook trigger events | v2.196 #453212 | 58:49

More events to hook automations into.

  • Build richer alerts and operational actions
  • Expand your runbook coverage

For more insights, see our guide on choosing the right ticket status colors in HaloPSA

Also, check out our partner Renada’s video: From Feedback to Forest: Automating Tree Planting in HaloPSA