Laws for the Practical Technician

By  
Mendy Green
July 5, 2024
20 min read
Share this post

Over the years of training and assisting various technicians, I've formed a set of guidelines that I've been known to drill constantly. The other day while talking to a newer technician and working with them I realized that I now have the time I didn't have before to actually write down what I've been ranting about for 14 years. I've dubbed them as the Laws for the Practical Technician.

  1. Keep an open mind when approaching the problem and avoid falling back into the "End User" mindset
  2. Read and explore everything on the screen! Pay attention to what's being done and what its telling you
  3. Understand the problem at least as well as the person asking you for help
  4. Be intentional in your troubleshooting, closing your eyes and throwing darts at the wall is not helpful
  5. Question everything you think you know and are being told
  6. Always have a way out, make sure you can undo anything you do

There's a lot of nuance in each "law" so now that we got the TLDR version out of the way let's dive into the specifics. Note for the purposes of this post, each law has been given a title.

1. The "Technician" Mindset

Keep an open mind when approaching the problem and avoid falling back into the "End User" mindset

If you run around with your eyes closed expecting nothing to get in your way, you're bound to smack into a wall (or something) and fall down.  If you keep your eyes open and aware of your surroundings you can navigate the obstacles and overcome them.

End users typically expect systems to work seamlessly and view issues as problems needing external help. Technicians, on the other hand, approach systems with the expectation that things might not work and are prepared to "figure it out" each time.

Key Points:

  • Expect Issues: Approach every situation with the mindset that things might not work as expected. This keeps it fresh in your mind and allows you to figure out what should or should not be happening each time, and usually during that process you'll identify the disconnect that's causing the issue.
  • Problem-Solving Approach: View issues as challenges to be solved rather than insurmountable problems. This proactive mindset helps in finding creative solutions.
  • Context Matters: The difference in mindset is less about the person and more about the context! Everyone (for the most part) handles their own problems for their personal lives daily. The moment it becomes a work or tech issue suddenly its hands-off. Be aware of the context you're in, this affects Clients escalating to IT and IT escalating to a higher tier! Don't fall into the trap.

Example: When dealing with a software bug, an end user might see it as "broken" and wait for a fix. A technician, however, will explore various angles—checking logs, considering recent changes, and testing different scenarios to identify the root cause, or find a viable workaround

2. Read the Entire Screen

Read and explore everything on the screen! Pay attention to what's being done and what its telling you

Computers and software are designed to be used, (it's actually the only way they make money!). Therefore, the information needed to operate or troubleshoot them is generally available on the screen or in logs, (although the language can be context-specific for the industry). To effectively identify and solve issues, it's crucial to explore the interface and ask questions. Thoroughly reading on-screen messages and prompts can provide insights into what might be wrong and how to address it.

When encountering an error message or unexpected behavior, don’t rush to conclusions, AND DO NOT SKIP IT! 

Instead, read all the details provided. Error codes, system messages, and even seemingly minor details can offer significant clues. For instance, a message that seems obscure at first glance might make sense when considered within the context of the application or system you're working on. Even comparing against a computer that is working, looking for differences in behavior, or order of operations, screen activity, and so on, can provide clues (for example an error that takes a while to appear is likely caused by a timeout, vs an error that appears immediately is likely caused by an immediate rejection).

Example: If a user reports an issue with a software application crashing, instead of just noting "application crashes," you should read any error messages, logs, or system prompts that appear when the crash occurs. These details can guide you towards understanding the root cause and potential fixes.

3. Understand the Problem

Understand the problem at least as well as the person asking you for help

To effectively troubleshoot, ensure you can recreate the problem and understand its significance. Start by asking the person reporting the issue why it's a problem and why it's important to solve it. Gather as much information as possible to understand all sides of the issue. You should be able to understand the problem at least as well as the person reporting it to you, otherwise how do you expect to fix it? Or even explain it to the next escalation point if you have to reach out for help?

Here are some ways you can work to understand the problem.

  • Recreate the Problem: Attempt to replicate the issue in your environment. This step is the best option because it allows you to see the problem firsthand and understand its nuances, at the same time as testing to see if its a problem with their computer only or a wider issue. You can also choose to recreate the problem on a different system, if it requires specific applications or files you don't have on your computer directly.
  • Understand the Impact: Determine why the issue is significant. Is it causing data loss, preventing critical operations, or just a minor inconvenience? Understanding the impact helps prioritize the issue and communicate its importance to others.
  • Gather Detailed Information: Ask the user detailed questions about the problem. When did it start? What were they doing when it occurred? Has anything changed recently (e.g., new software, updates, hardware changes)? What's normally supposed to happen?
  • Prepare for Escalation: If you cannot resolve the issue, you might need to escalate it to a vendor or higher-level support. Having detailed information and a clear understanding of the problem will make this process smoother and more effective.

Example: If a user cannot access a shared network drive, ask them about any recent changes to their system, any specific error messages they receive, and how critical this access is to their work. Look at what the shared drive is mapped to, and if other people have access to it that are working. Identify the network the user who is complaining about is on and if it has connectivity to the shared drive host. This comprehensive understanding allows you to troubleshoot more effectively and escalate if needed.

4. Be Intentional

Be intentional in your troubleshooting, closing your eyes and throwing darts at the wall is not helpful

Being intentional in your actions means making deliberate, thoughtful decisions rather than taking random stabs at fixing an issue. This approach prevents exacerbating the problem and leads to more efficient troubleshooting. Most technicians below Tier 3 will perform troubleshooting by way of "trying different thing to see what works", this is essentially closing your eyes and trying to pin the tail on the donkey, make sure you understand what is going on, and the logical reason why what you're attempting will affect (either negatively or positively) the current outcome so that you can make progress with every step.

Expand on This:

  • Map out the "Attack" Chain: Before diving into fixing an issue, outline the Chain that exists to allow the system you're troubleshooting to work during normal behavior. What are the potential areas for disconnect? What steps will you take to test that the chain is working throughout?
  • Progress is Progress (both good and bad): Any change in outcome is desired, as it'll help provide information about the underlying behavior that we don't have visibility into. Look for error messages, success messages, timers, lags and so on. No detail is too small.
  • Evaluate and Adjust: After each step, evaluate whether it has brought you closer to resolving the issue. Adjust your approach based on these evaluations.

Example: If a printer isn’t working, don’t randomly try different fixes like restarting the printer, reinstalling drivers, or changing settings. Instead, follow a logical sequence—check for error messages to help point you towards a connection issue or a driver issue.

5. Question Assumptions

Question everything you think you know and are being told.

Always be prepared to reassess what you know. Technology and systems evolve, and what was true yesterday might not hold today. Keeping an open mind and questioning assumptions can lead to discovering the true cause of an issue.

Expand on This:

  • Expect to be wrong all the time: When you're right about something there's no reason to go back and check because you know you're right. If you're wrong about something then you'll be looking to validate that you are wrong, or what the right answer is. This mindset helps keep your knowledge fresh and reminds you to double check everything you think you know or are being told.
  • Seek Out Information: Be proactive in seeking out new information and learning from others. Forums, user groups, and official documentation can offer insights you might not have considered. Often times all it takes to help find the answer is asking the question, not to the person next to you, but even to yourself! Use the Rubber Duck method if you need to.

Example: If a network issue arises, don’t assume it’s due to the same cause as last time. Reevaluate the situation - start the troubleshooting process from scratch everytime until you've identified the root cause to the be the same as last time.

6. Never Do Something You Can't Undo

Always have a way out, make sure you can undo anything you do

Always have a contingency plan before making changes. Ensure that any action you take can be reversed if it doesn’t resolve the issue or causes new problems.

Expand on This:

  • Backup First: Before making destructive changes, find a way to keep a good copy of what you're changing. This ensures that you can revert back if needed.
  • Test Changes: Where possible, test changes in a controlled environment before applying them to the live system.
  • Document Reversible Steps: Ensure that every action you take can be undone. Document the steps if necessary so you can revert configurations and settings.

Example: Before modifying a system registry, backup the registry or export the key in question. Rename something instead of deleting it, or cut/paste it somewhere else. This way, if the change has unintended consequences, you can easily revert to the previous state.

----

Edit 2024/11/13 | This article has been presented and recorded at The IT Nation Connect 2024 in Orlando, Florida! You can watch it here: https://youtu.be/ZJqhT48pnLU

Share this post
Mendy Green

I'm passionate about IT, driven by a dual love for solving complex problems and a commitment to transforming the stereotype of technical support into a positive and enjoyable user experience. For over 13 years, I've been deeply involved in the MSPGeek community, lending my expertise to various Managed Service Providers (MSPs), while also serving as the CTO at IntelliComp Technologies.

My journey in the tech world is fueled by a passion for teaching others. I find great satisfaction in imparting problem-solving and critical thinking skills, and offering practical guidance during the troubleshooting process. It's this enthusiasm for mentorship and improvement that led me to my current venture.

Today, as the founder of Rising Tide, I'm focusing on the MSP industry, dedicating my time to coaching and assisting both individuals and businesses. At Rising Tide, we're not just about providing solutions; we're about nurturing growth, fostering innovation, and building a community where everyone can rise together. Whether it's through hands-on problem solving or strategic planning, my goal is to make the IT experience not just efficient, but also empowering and enjoyable

See some more of our most recent posts...
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

August 19, 2025
8 min read

By the [run]Book: Episode 5

Episode 5 covers HaloPSA v2.192–v2.195 with updates on secure links, billable time, asset relationships, invoicing, and AI improvements for MSPs
Read post

In Episode 5 of By the [run]Book, the crew digs into four HaloPSA releases in one session—covering versions 2.192 through 2.195. From new ways to share secure links and manage billable time to asset relationship mapping and invoice automation, this episode is packed with practical updates. If you’re an MSP looking to tighten processes, improve reporting, or explore Halo’s evolving automation and AI features, this one is worth the watch.

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

Report Guide Field | v2.192 #783026 | 3:19

Halo added a Report Guide field in the report designer for better context.

  • Supports descriptions, instructions, or context at the top of reports
  • Rich text formatting available
  • Great for AI-driven reporting and analyst clarity

One-Time Secure Message Links | v2.192 #768829 | 4:55

Send secrets safely with one-time secure links.

  • Links expire after a set period or views
  • Currently requires portal login, but more flexibility is coming
  • Helps replace tools like PW Push for sensitive info

Billable Time Recorded Field | v2.192 #763812 | 9:12

A new Billable Time Recorded column is available in ticket profiles.

  • Distinguish billable vs. total time logged
  • More accurate budget tracking against contracts
  • Avoid confusion around no-charge vs. billable work

Runbook <<halo_url>> Variable | v2.192 #762123 | 9:59

A new runbook variable for halo_url has been added.

  • Makes it easier to reference environment URLs
  • Useful for runbooks with API calls and integrations

Hide Quotations by Status | v2.192 #757332 | 11:03

Control which quotes appear on tickets/opportunities.

  • Hide expired or superseded quotes automatically
  • Prevents clients seeing outdated pricing
  • Review your quoting statuses for correct configuration

Disable SLAs | v2.192 #753297 | 14:22

A safer way to deactivate SLAs.

  • Checkbox allows disabling without deleting
  • Avoids breaking ticket configurations
  • Recommended over deletion for historical consistency

Invoice Reference in Bills | v2.192 #718191 | 15:37

Specify invoice references when creating bills from POs.

  • Adds clarity when reconciling bills against purchase orders

Closure Settings – SLA vs Normal Hours | v2.192 #699717 | 16:13

Set whether closure timers run on SLA working hours or calendar hours.

  • Prevents old tickets reopening after long periods
  • Best paired with portal-only reopen for true recurrences

Risk Scoring | v2.192 #514694 | 18:56

New risk scoring tool for change management.

  • Calculates risk based on multiple impact factors
  • Standardizes approvals and CAB discussions

Recurring Invoice Prorata Default | v2.192 #443946 | 21:13

A default configuration for prorata handling in recurring invoices.

  • Options for “all” or “all except monthly”
  • Saves manual work in billing setups

Asset Relationships | v2.193 #7793410 | 25:00

Expanded asset management capabilities.

  • Define dependencies and relationships (installed on, upstream, etc.)
  • Better for ITSM-focused MSPs and topology maps

“The Big One” Patch Button | v2.194 | 32:34

A mysterious patch button—covered lightheartedly in the episode.

Asset Custom Buttons per Type | v2.195 #829270 | 33:48

Custom buttons can now be restricted to asset type level.

  • Provides more control and avoids clutter in the UI

Invoice PDFs in Unpaid Tickets | v2.195 #823241 | 33:59

Unpaid invoice tickets now include the invoice PDF automatically.

  • Allows direct sending of the invoice as attachment
  • Simplifies automation for collections

Pending Closure Email Recipient | v2.195 #819257 | 41:50

Choose recipients for automatic emails on pending-closure tickets.

  • Flexibility in who receives closure notifications

User Permissions – Create vs Edit | v2.195 #882480 | 42:14

New permission level for user management.

  • Agents can create users but not edit existing ones
  • Reduces risk of social engineering attacks

Sales Orders Manual Completion | v2.195 #834419 | 44:15

Sales order lines must now be marked complete manually (optional).

  • Avoids premature auto-closure when steps remain

Runbook SQL Test | v2.195 #839089 | 46:26

Runbook steps with SQL can now be tested directly.

  • Major speed boost for building and debugging runbooks

AI Improvements – Context Hints | v2.195 #812354 | 48:44

AI field suggestions now appear inline as context hints.

  • Reduces clutter vs. separate panels
  • Can be toggled at ticket type or action level

Microsoft Entra ID Access Control | v2.195 #714899 | 53:20

Added access controls to the Entra ID integration.

  • Controls who can configure/edit the integration

Custom Table SQL Import Improvements | v2.195 #739256 | 55:25

Enhanced SQL imports for custom tables.

  • Larger row imports supported
  • Pagination and filtering options added

July 2, 2025
8 min read

Introducing Rising Tide Proactive Support

Drowning in half-used features, minor bugs, and admin tedium? Proactive Support is Rising Tide’s monthly check-in plan built for MSPs already using HaloPSA, Hudu, or Rewst—designed to help you stay in control without spinning up a full project every time.
Read post

Built for Busy MSPs: Why We Created Monthly Support

While we pride ourselves at Rising Tide on being clever, we didn’t make this up on our own.

Over the past year, multiple clients told us the same thing in different ways:

“We don’t need a full-on consulting. We just need someone to help us stay on top of the tools we already have.”

“Can you set aside time each month to tell us what’s working, what’s not, and what we should actually do next?”

“Honestly, I just want to know if anything’s falling through the cracks.”

MSPs weren’t talking about emergencies. They meant the small stuff. The not-yet-broken-but-might-be. The features that got launched but never rolled out. The bugs they forgot to follow up on. The process that made sense when they built it... but not anymore.

So we listened and built out our Monthly Support offerings for teams like yours. Support that pays attention, leveraging the best of Rising Tide to make the best of your systems. It’s not reactive. It’s not rushed. It’s not about being broken. It’s about staying in control, without wasting time figuring out where to start.

What You Get Each Month

Designed for Rising Tide clients who’ve already implemented tools like HaloPSA, Hudu, and Rewst, and just want to keep things running smoothly without spinning up a full project or workshop every quarter.

Here’s what our Monthly Support looks like in practice:

1. Systems Health Review

A short, focused check-in on the systems you want our guidance on. for:

  • Are automations running like they should? 
  • Are there missed SLAs or ticket pileups that can be fixed with better workflows?
  • Are there any underused (or over-complicated!) features?

You’ll walk away with a small, clear action plan that you can execute on your own or leverage the Rising Tide team to complete.

2. Feature Release Briefing

We read the release notes so you don’t have to. You’ll get:

  • Highlights of what’s new
  • Suggestions for features worth trying and what isn't
  • Warnings about what’s likely to break or change

3. Vendor Liaison Support

We’ll chase the vendor on your behalf. That includes:

  • Logging and tracking bug reports
  • Validating bugs and escalating to dev teams directly.
  • Identifying workarounds and assisting in implementation.
  • Following up on feature requests or stuck tickets
  • Communicating feature requests clearly (and tracking them)

4. Immediate Error Support

If something breaks in a tool we’ve implemented or documented, we’ll:

  • Help triage and fix it
  • Identify if it’s a vendor issue
  • Tell you clearly if it needs escalation into a project

5. Virtual Admin

Hand Rising Tide the recurring and tedious-but-necessary tasks tied to administrative upkeep inside your platforms like: 

  • Creating/cleaning up ticket templates or categories
  • Building or formatting documentation templates
  • Cleaning up old or unused ticket types, custom fields, etc.
  • Applying updates or light data clean-up to SOPs, templates, invoices, etc.
  • Quick updates to HaloPSA workflows, permissions, roles, agents
  • Simple HaloPSA report needs and changes to existing reports
  • HaloPSA Integration mappings and Halo Integration errors

What Monthly Support is Not

To be clear, the Rising Tide Proactive Support Plan is not consulting. Proactive Support is only for systems we’ve implemented and reviewed. It doesn’t include:

  • New tool or system implementation
  • Redesigning workflows or processes
  • Training or onboarding
  • Deep reporting or strategic planning

If we find something that should be a project, we’ll tell you and help you decide how you would like to move forward.

Pricing

Monthly Support at Rising Tide is available in two flavors: Foundations and Catalyst.

Foundations

$900/mo

The Foundations package is for MSPs who need steady, expert support to keep their tools working well, especially when system updates can throw a wrench in those plans. It’s perfect for teams who want someone to keep an eye on things, flag issues early, and offer helpful next steps without having to ask.

Rising Tide consultants will proactively review your systems, follow up with vendors, handle small fixes, and make sure nothing slips through the cracks. It’s a lightweight, low-friction way to stay on top of your platforms and make sure they keep delivering value.

Catalyst

$3500/mo

The Catalyst package is the Foundations package expanded for MSPs who want hands-on, high-touch support with structure. You’ll get 10 hours per month, including up to four scheduled weekly calls, priority scheduling, and deeper involvement from your Rising Tide consultant. This isn’t just support when you ask for it — it’s active partnership.

We come prepared with recommendations, process improvements, and a plan to help you get the most out of your systems. Catalyst is for teams ready to make consistent progress without needing to manage the support relationship.

Let’s Be Real

The goal isn’t to keep you dependent on us. It’s to help you feel like you’re on top of your systems instead of under them.

We’ll help you spot friction before it becomes fire, surface fixes you might’ve missed, and give you the clarity to act, delegate, or table things with confidence.

Ready to add Monthly Support?
Contact Rising Tide Consulting Today.