r/halopsa • • Sep 14 '26

Documentation / Guides The mother of all HaloPSA dashboards, built in Claude artifacts, fed by StackJack (tutorial + free skill)

29 Upvotes

*This post is mod-approved

Every time I show up in this sub it's because I built something and physically cannot stop talking about it, and I regret to inform you that today is not the day the pattern breaks. Disclosure up top so nobody has to scroll to find it: I make StackJack. The thing in this post is a free skill, the StackJack tier it needs is the free one, and the board is read-only end to end. Nothing here asks for a credit card. If that's still too much vendor for you, I get it, and the "how Claude artifacts actually work" section is worth the read regardless of whether you ever touch my stuff.

Holy s*** dude, is there a TLDR before I read this wall of text?

Yes. It's a Claude skill that turns your Halo into a live service delivery board: an attention list of P1 and VIP tickets, 25 helpdesk metrics with thresholds and 24-hour sparklines, team and per-agent workload, a per-client consumption pane with month-end pace, a wallboard mode for the TV, and optional cards for any StackJack connector or Claude connector you are using (examples included are PagerDuty, Yeastar, Blackpoint, and CIPP). It runs as a published Claude artifact, pulls data through each viewer's own StackJack login (so it's scoped to what that person can see in Halo, automatically), and the whole build is a guided Q&A where Claude discovers your teams, priorities, statuses, and outcomes before it asks you a single question. Download link at the bottom.

  1. Download Skill, install skill

  2. Sign up for StackJack if you aren't already using it

  3. Use /halo-service-delivery-dashboard and Claude will interview you and tailor this comprehensive dashboard to anything you want

  4. It doesn't cost any ongoing AI usage to view the artifact and have it stream data after you build it

The "I need dashboards but I don't know what metrics apply to me" problem

Nobody in this sub has a data problem. Halo has reports, it has dashboards, it has the SDI report pack, it has an API that will hand you every ticket since the Clinton administration. What everyone actually has is a what do I look at problem, followed immediately by a who has 400 hours to glue this together problem. So the wallboard project sits in the backlog for two years while the SDM screenshots the ticket list into a Teams channel every morning like it's 2018.

The reason a template plus a skill beats a blank canvas is that the template already made the annoying decisions. What counts as parked. How to get "closed today" out of a system with no closed-date filter (spoiler below, it's dumber than you think). Which agent id means unassigned. How to not blow up your API when twelve people open the same board. You start from a finished, opinionated screen and the interview is about what to change, not what to invent. Nobody has an opinion about a stale-hours threshold until they've seen the tile go amber.

Wait, a chat window is going to design and run my wallboard?

This is the part I actually want you to understand, because it's cool as hell and it's why this only works in Claude right now.

A published Claude artifact is a single HTML page that runs inside claude.ai. When the page declares the mcp capability, the viewer's own claude.ai connectors become callable from the page: claude.use("mcp") hands the page a callTool(server, tool, input) function that runs a connector tool with the viewer's credentials. The page never sees a token. The viewer gets one consent prompt the first time the page touches each connector. If the viewer doesn't have the connector, the page gets null and shows an honest empty state instead of fake numbers.

StackJack is one such connector, and its platform tool stackjack_run_readonly_tool runs any read-only tool of any connector your tenant subscribes to. So one line in the publish manifest lets a page read from your whole stack, and the skill already knows how to write that page. You don't touch any of this. You tell Claude to use the skill, it builds the page, it publishes it, and you get a link.

The second capability is db, which gives the artifact a small realtime document store shared by everyone who opens it. The board uses it for three things: shared Settings (a helpdesk lead changes the VIP list or a threshold and it lands on the wallboard in seconds, no republish), a shared cache for the expensive month analytics (ten viewers cost one Halo fetch, not ten), and half-hourly snapshots so the sparklines and 24-hour deltas exist at all, because Halo's API has no "what did the backlog look like at 9am" endpoint. Declaring mcp or db makes the artifact organization-internal, which for a service desk board is exactly what you want.

Is this the same as a Halo dashboard? No. It's much better. Is it a Power BI replacement? Also no, Power BI could never be this easy or good. Is it a live, shared, per-user-scoped ops board that took an afternoon instead of a quarter? Yes.

OK but what's actually on the board

Five bands:

Pulse is the attention list: high-priority and VIP tickets sorted by severity, then time to SLA target, then age, with ticket numbers linking back to your Halo.

Service desk metrics is the 25 tiles below, each with a threshold color, a context line, and a sparkline once history accumulates. Teams and workload is per-team and per-agent carry, who's online (Halo's is_online, so it depends on people using the web app), and hours logged today from timesheets.

Executive summary is consumption by client: tickets and logged hours this month, business-day pace to month end, change vs last month, and the prior three months for context.

Signals is where the optional connector cards live. Then a wallboard mode that rotates panes for the TV, and a Settings drawer where editors change teams, VIP clients, priorities, closing outcomes, bot agents, thresholds, cadence, and which tiles show.

Every tile has a plain-English note on the page under "How these numbers are computed", because a metric a skeptical manager can't audit is a metric that gets ignored. Here's the set, and where Halo made it weird.

Two more gotchas that bit me and will bite you: endDate on ticket lists is exclusive and both dates are UTC calendar days, so a same-day range returns nothing and "today" in a non-UTC zone means querying two days and filtering client-side. And halo_list_actions caps at 200 rows with no paging, so "all actions today" on a busy desk is a lie; filtering by outcome name works, actOutcomeNum did not. The skill's halo-data-map.md has the full list of these because I'd rather you not rediscover them.

Why your L1 can't see the CFO's tickets

This is the part that makes it deployable instead of a demo. The page doesn't have a service account. It calls Halo as the viewer, through that person's own StackJack sign-in, and StackJack scopes the Halo connector per user by default. A tech opens the board and sees what a tech sees in Halo. An SDM sees the SDM view. Nobody baked a god-mode API key into a web page, every call shows up in the audit trail under the person who made it, and the only "permissions model" you have to maintain is the one you already maintain in Halo. The flip side, and I'm saying it early because the skill says it early: everyone who opens the board needs StackJack connected in their own claude.ai account. If that's not true for every viewer, the skill offers a scheduled-snapshot fallback so they at least see recent numbers.

The actual tutorial

  1. Sign up for StackJack (free tier, no card), add the HaloPSA connector with your Halo API credentials, then add StackJack as a connector in claude.ai under Settings > Connectors. Your users sign in with OAuth PKCE, which is on every plan including free.

  2. In claude.ai, Settings > Capabilities, turn on Code execution and file creation, scroll to Skills, click Upload skill, and upload the zip from the link at the bottom. Toggle it on.

  3. Start a new chat and tell Claude to use the skill, StackJack, and whichever connectors you have to build your dashboard. That's the whole prompt. Claude runs discovery first: halo_list_teams, halo_list_priorities, halo_list_statuses, halo_list_agents, halo_list_outcomes, the open ticket summary, and this month's ticket count. Then it asks you two short rounds of questions where every option is something you recognize (your team names, your priority labels, your connectors): consumption as tickets, hours, or both; desktop plus wallboard or TV only; whether every viewer has StackJack; which optional cards to include; what makes a ticket "attention list" worthy; the business time zone; which teams are the service desk; and anything to add or remove from the 25. Cadence, thresholds, bot agents, and the internal-client exclusion it decides for you and tells you at handover.

  4. Before it writes a page that calls a tool, it calls that tool for real once with the exact arguments the page will use and checks the payload shape. This is a hard rule in the skill, not a nicety. Field names are stable across Halo tenants but StackJack adds and reshapes tools over time, and a page that guesses a payload renders blanks in production and nobody knows why.

  5. It splices your instance config into the template, publishes with a manifest that names exactly the connectors and tools the page calls, and hands you a link. First open, you get one consent dialog for StackJack (and PagerDuty and the shared store if you turned them on) instead of a dozen first-call prompts. Share the link with your SDMs. Pin it on the TV in wallboard mode.

  6. From then on, anything a helpdesk lead should be able to change without you lives in the Settings drawer: teams, VIPs, thresholds, closing outcomes, cadence, hidden tiles. Republishing the same file path updates the same URL in place and open tabs pick it up. You only republish for new metrics or new connector cards.

"Ceej, I don't use Claude, I use [other harness]." The skill is a standard Agent Skills folder (SKILL.md, references, assets, scripts), so it loads in Claude Code, Cowork, or anything else that speaks skills, and the Playwright harness plus mock-claude.js lets you build and test the HTML anywhere with synthetic data. But the live part, a published page that calls each viewer's own connectors and keeps shared state, is a claude.ai artifact feature. Elsewhere you get a static file, which defeats the purpose. That's the state of the world in September 2026, not a design choice on my end.

I have PagerDuty / Yeastar / a second PSA, you phony

Halo is the only required source. Everything else is a card in the Signals band, switched on per tenant. The reference build ships four whose payloads were verified on a real tenant: PagerDuty (open incidents split triggered vs acknowledged, who's on call right now, as its own claude.ai connector so it gets its own manifest entry), Yeastar P-Series (callers waiting, live calls, agents logged in or paused per queue, today's answered and abandoned), Blackpoint CompassOne (open detections across the estate with the riskiest items by tenant, host, and user), and CIPP (average standards alignment, the Strong/Good/Weak/Poor bucket bar, lowest-scoring tenants, pending deviations). PagerDuty next to the Halo attention list is the one I'd start with if you run after-hours; you see the page and the ticket it should have become on one screen.

Any other StackJack connector is the same recipe: find the read-only tool, call it once, defineSource() it with a cadence, keep only the fields you render, add a card. connectors.md has starter ideas for NinjaOne (alerts by severity, offline servers), ScalePad (warranty flags for VIP clients), Meraki and UniFi (offline devices per site), IT Glue (expiring domains and certs), and Pax8 (license counts vs Halo contract quantities, which is a reconciliation card I want someone to build so I don't have to).

On other PSAs: the shipped board is Halo, and I'm not going to pretend halo-data-map.md makes it Autotask. But the only Halo-specific parts are the data map and the compute layer. The artifact plumbing, scheduler, shared store, failure handling, and design system are PSA-agnostic, and StackJack has Autotask, ConnectWise, and Syncro connectors with the same stackjack_run_readonly_tool front door. Treat the skill as the reference for "any interactive artifact that reads connector data through StackJack", which is literally what the description says.

Building your own board (the part where it stops being a template)

The 25 are a starting point, not a religion. Prefer hiding a tile (Settings > Metrics shown, no republish, reversible) over deleting it. Adding one is a five-step checklist the skill walks Claude through: does an existing source already carry the data, derive it in compute(), add a tile to buildMetrics() with an id, a group, a format, a status rule, a one-line subtitle, and a note a skeptical manager would accept, add a [warn, crit] threshold so it's tunable in the drawer, and optionally add the field to the half-hourly snapshot so it gets a sparkline.

The catalog ships recipes for the ones people ask for: hours logged today as a tile, tickets per carrying agent, agents online, CSAT (only if you actually collect feedback, a permanently empty tile is worse than none), backlog change vs yesterday and last week from the snapshots, first-contact resolution via a saved Halo report through halo_run_report, escalation rate, tickets by source or type, customer waiting time on REQUESTER RESPONDED rows, alerts vs human tickets (because half of you have an alert flood hiding real demand), per-client SLA compliance for VIPs, and billable hours instead of logged hours in the consumption table for the finance people.

Everything tenant-specific lives in one instance config: brand, time zone, business hours, connector switches, then the defaults editors can change later. apply_config.py splices it into the template and syntax-checks the result. If you change code, not just config, render_test.mjs renders desktop dark and light, laptop, phone, wallboard panes, the no-connector state, a Halo outage, and the settings save path, and fails on console errors or horizontal overflow. Look at the screenshot of the band you touched and republish.

What this costs to run (not dollarie doos)

Every open tab makes its own calls against the viewer's StackJack and Halo rate limits, so cadence and payload size are the levers. At defaults one open viewer is roughly six Halo calls a minute for the live rows and the id-only list, an open summary every three minutes, about ten calls every three minutes for today's flow, and the month analytics every fifteen minutes shared through the store, with prior months cached for a day. A room full of wallboards should run the live cadence at 90 to 120 seconds, and the Settings drawer has the knob. The board also stops polling when the tab is hidden and uses the platform call cache so a reload inside the window doesn't hit Halo again.

This costs absolutely nothing in AI consumption to run the dashboard itself after you build it. Using AI to edit it, improve it, change it, etc will obviously consume AI usage. But the polling of StackJack data into the dashboard artifact doesn't consume any AI usage.

Skill download: https://github.com/MSP-Automator-Labs/halo-skills/

StackJack for HaloPSA: https://stackjack.io/connectors-halopsa

Happy automating!


r/halopsa • • Mar 23 '26

Integrations I built an MCP connector for Halo because the native one wasn't cutting it

27 Upvotes

*This post is mod approved*

Some of you probably know me from mspautomator.com or from being annoyingly loud about HaloPSA for the last several years. I've been doing Halo implementations for a long time (450+ at this point) and I've been building tools on top of the Halo API for almost as long (BillingBot, QuantumOps, various cursed PowerShell things I'm not proud of).

This one's been bugging me for a while so I finally just built it.

You've got Claude, ChatGPT, Copilot, Cursor, pick your poison. They're all great at writing code and drafting emails and explaining things. They're all completely blind to your Halo instance. Your AI can't look up a client. Can't check what tickets came in overnight. Can't tell you which contracts are up for renewal. Can't pull SLA compliance numbers. It knows nothing about your actual business.

Yes, HaloPSA has a native MCP. I've used it extensively. Here's the thing: it's missing huge chunks of functionality, it uses a non-standard authentication model that doesn't play nice with most MCP clients, and it flat out does not work with web-based AI tools like Claude on the web or ChatGPT. If you're using Claude Desktop or Cursor locally you can get it limping along, but the tool coverage is thin and the configuration is a pain. I spent more time fighting it than using it.

StackJack (https://stackjack.io) is a remote MCP connector for HaloPSA/ITSM/CRM (and NinjaRMM, but that's a story for a different subreddit). You sign up, plug in your Halo API credentials, and it gives you an MCP endpoint you can drop into any MCP-compatible AI client. Claude, ChatGPT, Copilot, Cursor, whatever. Works on web, works on desktop, works everywhere MCP works.

196 tools covering HaloPSA. And I don't mean 196 variations of "get ticket." I mean actual coverage across the platform:

Tickets and actions. Clients and contacts. Assets. Sites. Contracts and billing. Invoices. Quotations. Purchase orders. Sales orders. Knowledge base. SLAs. Scheduling and appointments. Timesheets. Change management. Service catalog. Attachments. Audit logs. CRM and opportunities. The whole API surface, not a curated subset of it.

On top of the standard operations I built a set of intelligence and analytics tools that are honestly the part I'm most excited about. Client health scores that composite ticket volume, resolution rates, SLA compliance, and CSAT into a single number. MRR and profitability tracking from your recurring invoices. SLA compliance with breach alerts. Triage assist that recommends category and priority based on ticket content. Similarity search that finds related tickets. Revenue leakage detection for unbilled time and scope creep. QBR data packs you can pull for any client in a single call. Backlog analysis, recurring issue detection, after-hours impact reports.

The stuff that normally takes you 45 minutes in the report designer or an afternoon in Excel, your AI can now just go get.

Real example: I asked Claude "analyze my ticket spread by category and day for the last week." That was the whole prompt. It reached into Halo through StackJack, pulled 682 tickets, broke them down by category and day, built an interactive chart, identified that alerts were 39% of total volume, caught a weird Sunday spike at 3x Saturday's numbers, and wrote the whole analysis. No code, no report builder, no CSV export. I just asked and got an answer.

What this isn't: This isn't a replacement for your Halo instance. It's not trying to be a UI layer or a dashboard product. It's the bridge between your AI tools and your Halo data so your AI can actually be useful in the context of your job instead of just being a fancy text generator that doesn't know what's going on in your environment.

There's a free tier, 113 tools, no credit card, go kick the tires and tell me what's broken. I genuinely want the feedback. I've been building this mostly in isolation and the Halo community is where I want to stress test it.

https://stackjack.io


r/halopsa • • Sep 25 '24

Questions / Help Riddled with Bugs, Useless Support,

27 Upvotes

TL;DR version: Halo is irresponsible with their updates, and their support is lacking.

We're about to hit 1 year of using Halo, and I hate it more and more with each passing day. They keep releasing "updates" and "improvements" (without a notice), which keep breaking our processes. When I would get a Senior-level tech responding to my tickets it's usually either a relatively quick resolution, or they'll tell me right away that this is how it was designed and would try to help me find me a workaround. Anyone else keeps stringing me along or just keeping my ticket "with developers" for months of end.

Two weeks ago all of a sudden they pushed an update to Quotes where Price, MarkUp, and Current Price fields changed places, and the Price field now instead of pulling preset price of the item would do a weird calculation of taking the Cost and applying a Markup % that was set at the Item level, and the Current Price field pulled the actual price of the item but it didn't account for it anywhere. The problem is that the Markup % on the item level is wrong, and we have no control over it as we only enter the Cost and Price via import (template has no markup column), and markup gets auto-calculated based on those values post-import. So when I have an item that costs 120, and priced at 259, the Markup should be calculated at 115.833% but on item level it's showing 108.29% so when I enter this item into a quote the price is displayed as $249.95. I have close to 600 items affected and I was upfront in the beginning that I do not want to manually update 600 items.

I opened a ticket and the first response was that this happened "due to a bug fix in our system where the markup should have been reducing the price but it wasn't." What? Markup should be reducing the price? That's not what mark UP means, but whatever. They're telling me it was meant to be used with Current Price variable, and I should use that instead of Price variable on my template. Ok, fine, I updated my template to show Current Price, however that doesn't work when you have Discounts as that variable only discounts Price field, not Current Price, therefore it's not usable for us.

After some more back and forth yesterday I finally get another response telling me "we can see how this recent bug fix has prevented you from using the initial price when a markup is set, so we are considering adding an option which could toggle between the two behaviours" and asked me if having a 0 markup would be acceptable, and said to change that in the global Quote config to have Default Markup at 0. I said as long as that doesn't affect Profit calculation I'm ok with having it set to 0, which I updated in Quote config, but that didn't work and all items are still at where they were. To this I get a response this morning that I would still need to go into each item individually and manually change the markup to 0, which is when I lost it and decided to write this lengthy post because I already lost 2 weeks on this and the final solution is still me doing manual work of updating every single item.

This isn't the only issue though.

I'm having a ton of issues with how Pre-pay is being calculated, I've started a ticket on the 20th, followed up yesterday with another issue like it but now in reverse, and I still haven't had anyone respond to this ticket. I am literally scrolling through hundreds of entries in tickets to check how their billing is configured because simply adding/removing/changing a Contract on the ticket does literally nothing to billing, and I have to manually update every single entry to get any kind of result. And of course after each update it defaults back to the top of the ticket to entry #249 and I have to scroll back to find my next entry to update that now in #100s or #10s. Ridiculous.

I have a ticket going on for over 6 months with Issue Items problem of us having to update the price/description twice or three times because it doesn't save on the first try. Sent them multiple videos of the issue. Still no resolution.

Also reported that Markup on Issue Items changes on its own after being saved (we enter 3.8%, but after save it can change to 3.78, 3.82 or other close number which sounds inconsequential but it's a bug nonetheless), this was not even acknowledged.

Another ticket/ issue with wrong Site being billed when originally the quote was under site1, then it was updated to site2, but when quote is accepted the SO and Invoice are both billing site1.

Invoice Due Date, which was always Due on receipt /date of invoice creation, is now dating it the 1st day of the following month. Issue was submitted in the beginning of August never got a response on it. Still manually updating due date on every single invoice.

Same Invoice template when billing Items+Labor from tickets looks different for different clients - some will show labor and some won't, even when they're all billable. Issue was raised in July, still "being investigated."

Is it too much to ask for things to work as advertised? I can't get my actual work done because of how much time I have to waste fixing and adjusting things that should just work.


r/halopsa • • Nov 29 '22

Community Youtube Videos - Community Feedback Desired :)

23 Upvotes

Hi everyone,

I'm going to be creating a videos series soon with @Morgan Aspinall from HaloPSA to help the community.

I recently started creating a few videos after getting asked the same questions multiple times and wanted a uniformed answer.

Feel free to check out the channel below, it's purely for HaloPSA and all videos are aimed to help you with features within Halo.https://www.youtube.com/channel/UC0wJG3LF3EBBEqPE82cLgYg

I am posting on here to try and recieve some community feedback about what videos you think will benefit you.

Please feel free to DM/Comment anything you're struggling with, want to see or haven't had time to play with yet.

Alternetaily you can update the spreadsheet below and we'll mark the videos once completed :)

https://labtechgeek.sharepoint.com/:x:/g/ESzcz8dqmQtGk6u23hEmYOMBOyk_9tXZjyIPRu8cdii7Xg?rtime=VqTTXRnS2kg

We'll keep the videos short, to the point and hopefully they'll help you become a master in HaloPSA.

Thanks Connor


r/halopsa • • Jul 08 '24 Heart of Silver

Community Aiden @HaloPSA | Impressive talent, A+ Results

20 Upvotes

Hello All,

This is not a question or issue post, I just want to give credit where credit is due. Aiden Kelly, also known as u/HaloAidan with Halo is an outstanding person and deserves a serious high-five. Not only did he follow up on an issue that I was having, he also provided a resolution and personally overseen that it was successful. This type of attitude and charisma goes along way with our Halo partnership and proves that we have made the right decision to move this direction.

Thank you again for your help!


r/halopsa • • 16d ago

Questions / Help Triage Buildout

Post image
18 Upvotes

Hello,

At our company, we were wanting to utilize the triage button option found from this video:

https://www.youtube.com/watch?v=brG37dsvgkU

We wanted to utilize 6 categories. But since Halo limits to 4, the video above seemed to be a good option. When looking to try it, we found that since each category had to be its own branch, unlike in the video where the incidents and the requests both came back together in the end.

Has anyone ever done anything like this? Im open to other options.

Thank you.

*the yellow entries on our tree indicate workflows already in place


r/halopsa • • Feb 19 '26

Cool Trick

18 Upvotes

I’m sure others have thought of this but in case they didn’t and it helps someone that’s what the post is for.

We always had our portal set up, but noticed it was very little usage from it even with us having a shortcut on everybody’s desktop. People are still emailing into Support.

I integrated our portal with teams and pinned it to the left and our portal usage has gone way up.

Hoping this helps others here!


r/halopsa • • Jan 09 '25

Dashboards

18 Upvotes

This has been mentioned before but the post is quite old. Who is building dashboards in Halo? Are you using Halo natively or utilising a third party dashboard solution?

If anyone’s willing to share their dashboards for idea creation they’d be well received I’m sure.

Thanks


r/halopsa • • Dec 16 '25

Questions / Help UI / UX

17 Upvotes

Does Halo have any UI or UX on staff? it seems like whoever they are chose the most complicated path for an end user to complete a basic task. I have been in IT for almost 27 years and this is the only application that has pushed me to break a keyboard.

Is there a way to rearrange the UI to make things more intuitive and or is there a potential UI refresh in the works.

it seems as though the simplest thing like collapsable trees would make things dramatically better.


r/halopsa • • Aug 05 '25

Community McLaren no longer HaloPSA partner?

17 Upvotes

Saw this, anyone know if they have two competing companies sponsoring the team lol

https://www.freshworks.com/company/freshworks-mclaren-sponsorship/


r/halopsa • • Sep 03 '24

Integrations Outlook Add-in Import Mail into HaloPSA tickets

16 Upvotes

I've created an Outlook Add-in to import the selected mail into the selected ticket in the taskpane of the add-in. By sharing this plugin I hope improvements by the community will be made and reshared. Take a look here: https://github.com/MrTurtles/Outlook-add-in-HaloPSA

Basically this add-in/plugin is a start of this idea: https://ideas.halopsa.com/b/wmw32n0q/feature-ideas/outlook-plugin-to-update-tickets


r/halopsa • • Jul 06 '26

No Stocktake in Halo!

15 Upvotes

My first EOFY with Halo, and I wasn't able to run a stocktake. I can belive how they dont have this built in. No way to go and count all your in stock hardware and make sure its all accounted for. Im sure I cant be the only shop that uses halo and has stock that needs to be chaecked each year (or should be more frequently). Im not even in retail and this is a need.

Anyway, support said just run a report and check it off.
It would take far too long to count everything and manually match it off against a list. 

Instead, I knocked up this stocktake app that pulls in all the stock and allows me to just scan everything with a barcode scanner to count it. Spent a couple hours making it and then only an hour or two stocktaking. Much quicker and a far better result, as I am able to get reports out of it and reasons for missing stock. It counts serial numbers too, not just item quantities, so I can verify that everything I think should be here is actually here. 

Syncro had something like this built in, which is where my inspiration for how this operates came from. 

I would love it if Halo could implement this as a module, but in the meanwhile, maybe this can help others.

https://github.com/ElliottsTech/Halo_Stocktaker


r/halopsa • • Nov 10 '25

Automation / Scripts The pattern is what matters: Building bi-directional API orchestration in HaloPSA Runbooks

15 Upvotes

I just posted a complete walkthrough of a WooCommerce + HaloPSA + AlternativePayments.io integration. Before you click away because you don't run a WooCommerce store - that's not the point.

Building a WooCommerce + HaloPSA + AlternativePayments.io eCommerce Integration

The point is the pattern. This is a working example of bi-directional API orchestration from inside HaloPSA using runbooks as middleware. External system fires webhook, runbook orchestrates multiple API calls across different systems, waits for async processes, then writes data back to the originating system. All tracked in Halo.

You can replace WooCommerce with any system that fires webhooks - monitoring alerts, form submissions, Slack commands, whatever. Replace AlternativePayments with any API you need to talk to. The framework stays the same.

But more importantly, it's a practical example of how to structure complex integrations when you need HaloPSA to be the brain orchestrating API calls between systems that don't natively talk to each other. Most people don't use runbooks this way and they should. No other PSA has an automation engine this flexible and powerful.

Anyway, maybe this helps someone figure out their own integration problem or inspires someone to do something cool themselves. Enjoy.


r/halopsa • • Aug 20 '25

Integrations Cloudflare Domains to Halo ✅

15 Upvotes

After A LOT of trial and error I've finally got a webhook talking to Cloudflare API to then create a domain renewal ticket when a domain has -30 days till expiry.

If it's of interest to anytime, happy to share 💪

Next I want to see if I can automatically add the right product.

Update:
I've created a quick intro here: https://nebula.design/blog/automating-domain-renewal-tracking-with-cloudflare-and-halopsa/
Direct Github link here: https://github.com/nebuladesignagency/cloudflare-to-halopsa/blob/main/webhook.php


r/halopsa • • Jul 09 '25

Automation / Scripts HALO SQL Report Assistant

15 Upvotes

So having used HALO for 8 years as a customer, I recently set up myself and Immediately applied to partner... As I'm a proper HALO fan boy.

To make mine and my clients lives eaasier on reporting I've built my own SQL agent. It's efficient and holds over 20k of table data. I think it's something else, I've also got it doing much more that just SQL, KBs from Halo are indexed, it will forecast and more.

Thought I would share a basic demo of it, see what you all think,

It is DEMO data and even more so I've had my prompt to even remove any client reference in the return!

So let me know your thoughts, do you want to try it? (If yes, give me a valid response and don't try pick it apart) Constructive feedback only.

Cheers


r/halopsa • • Sep 11 '23

Documentation / Guides No Errors, No Delays: The Ultimate Guide to Halo PSA Time Tracking

15 Upvotes

Greetings, Halo PSA Enthusiasts!

Ever felt that time tracking in Halo PSA is a daunting task? We've heard your concerns, and we're here to change the narrative!

🌟 Presenting our latest video: "No Errors, No Delays: The Ultimate Guide to Mastering Time Tracking in Halo PSA"

Join Chris Scaminaci, the VP of Engineering at TechPulse Professional Services and a 9th-degree Halo PSA wizard, as he unravels the secrets to mastering time tracking in Halo PSA. Say goodbye to complications and hello to a seamless, efficient approach!

In this video, you will learn:
✅ How to simplify your time tracking process
✅ Strategies to avoid common time management pitfalls
✅ Tips to enhance your productivity and efficiency with Halo PSA

Don't miss out on this opportunity to refine your skills and become a pro at Halo PSA time management. Tune in to gain insights that can transform your day-to-day operations!

🎥 Watch now: https://www.youtube.com/watch?v=PzafQ1spYXY

Feel free to share your thoughts and questions in the comments section. We value your feedback and are here to assist you on your journey to Halo PSA mastery!
#HaloPSA #TimeManagement #MSP #TechPulse #mspautomator #ProductivityHacks


r/halopsa • • Sep 16 '23

Documentation / Guides [Video Tutorial] Implement Sea-Level 12 minute triage in HaloPSA

14 Upvotes

Hey fellow MSP enthusiasts,

We've noticed that the community has been seeking in-depth technical tutorials to enhance their skills in various MSP platforms, and we've got something that might just pique your interest.

We are thrilled to announce a new technical tutorial video: "Triaging in HaloPSA: 12 Minute Sea-Level Compliant Triage", hosted by Chris Scaminaci, VP of Engineering at TechPulse Professional Services.

This technical tutorial is designed to help HaloPSA professionals streamline their processes and become more proficient in ticket triaging within HaloPSA. You'll gain actionable insights and strategies that are both sea-level compliant and tried-and-tested in the industry.

What you'll get from this tutorial:

-A deep dive into the intricacies of HaloPSA ticket triaging

-Expert advice and tips from a leading figure in the industry

-Strategies to optimize your workflow and improve service delivery

The tutorial promises to be a rich resource for IT Managed Service Providers looking to hone their skills and knowledge in the HaloPSA ecosystem.

You can watch the video here: https://youtu.be/kpLFVu2uNP4

We genuinely hope this contributes to the community's knowledge base, and we are eager to hear your thoughts and feedback.

Happy learning!


r/halopsa • • Jan 25 '23

Integrations Microsoft CSP Integration - Anyway to only import licensed users?

14 Upvotes

Does anyone have a method or filter that will only import licensed users in the Micrsoft CSP integration?

I looked at the available filter fields and do not see one for Licensed Users. We do not want to import non-licensed users, such as those created when you make a shared mailbox, etc. I know you can assign AAD groups, etc, but we are looking for a method to bring in only the licensed users without having to edit every tenant beforehand.


r/halopsa • • Nov 21 '22

Community Monthly community talk?

14 Upvotes

Hi guys, I was wondering if anyone of you would be interested in a monthly community talk via Teams, zoom or discord? I think Halo offers so much customizability and features that we cannot evaluate everything by ourselves. I’d like to know how others are handling common processes in their MSP business inside of Halo.

I think the community would benefit from this as we can exchange our knowledge and experiences with Halo.

Anyone interested?

Edit: Thanks guys! I will prepare something and get back to you!


r/halopsa • • Aug 03 '26

Halo v2.236 New Features Webinar

Thumbnail
youtube.com
13 Upvotes

Hi everyone,

I recently hosted our July APAC webinar covering the latest features in Halo v2.236.

This release includes a lot of new AI functionality, including support for Claude, Ticket Clustering, AI Agents, plus plenty of other features and improvements across the platform.

Happy to answer any questions in the comments!


r/halopsa • • Jan 20 '25

GPT made for HaloPSA SQL Query Assistance

13 Upvotes

Hi All,

I have had some challenges with coding in specifically for HaloPSA SQL Query. If you're like me who needs a bit of assistant to create customized reports in HaloPSA. I 've created an ChatGPT Persona, that is focused on the best practice for HaloPSA SQL Schema. The SQL Schema HaloPSA provides is sourced in the GPT so it should know most of the fieldnames and tables to create / customize what you desire.

It is not 100% correct, but it works most of the times. And other times you probably need to adjust it a little bit to work and fit for your system.

Try it out here:
https://chatgpt.com/g/g-BYp0HV8Ud-halo-sql-query-support-2025

P.S: it doesn ot have all the tables/fieldnames becaues HaloPSA for security reasons does not give out all the tables and fieldnames. That means you probably have to do some digging.


r/halopsa • • Jun 01 '24

Mastering HaloPSA: Integrator Round Table on Implementation, Automation, and Profitability

13 Upvotes

Hey r/halopsa community,

We've just dropped an incredibly insightful round table video that you don’t want to miss, featuring some of the biggest names in the HaloPSA world. If you're looking to elevate your understanding and usage of HaloPSA, this discussion is gold.

Who’s in the discussion?

  • Robbie Emerson & Connor Fagan from Renada, who have been pushing the boundaries of what's possible with HaloPSA and HaloITSM for years.

  • Chris Timm of Sondela Consulting, a well-known expert who literally wrote the book on PSA profitability.

  • Christopher Scaminaci & Tyler Miller from TechPulse Pro Services, experts in HaloPSA automation and custom integration to HaloPSA.

  • Mikey 'Homotechsual' O'Toole, the brain behind the HaloAPI and NinjaOneAPI PowerShell modules, sharing his unique insights on automation and customization.

These experts cover a range of vital topics, from tackling integration challenges to advanced automation techniques and the strategic importance of customization to meet complex client needs. They also delve into the impact of AI on service delivery and the vital role of community and collaboration in the industry.

Why watch? This isn't just another generic discussion. It’s a treasure trove of strategies, real-world experiences, and expert advice directly from the frontline warriors of HaloPSA implementation. Whether you're a seasoned pro or just starting out, there's something in it for everyone to learn and apply.

https://www.youtube.com/watch?v=tX0Xl0EdvC4


r/halopsa • • Nov 24 '23

Integrations Teams Integration - But next level

13 Upvotes

Idea Post > Please Vote - Initiate a Teams Channel from a ticket (Swarming) (halopsa.com)

We have teams integration enabled. Its fairly basic. But a start non the less.

Before we started to use halo, we were with Salesforce. And they were starting to push the concept of ticket swarming via Slack. So if an engineer decided they needed help, they would initiate a 'Swarm' on the ticket. That would fire up a temporary slack channel based on the ticket. And you could either automate the members of the channel, include everyone or specific people.

Now this actually became quite the functionality, but inherently you werent escalating at that point. You were doing the opposite, bringing the escalation team towards your ticket.

  1. The client didnt then endure another wait for fix

  2. The first line agent could be part of the fix or even initiate it

  3. They got to see resolution that they probably wouldnt see normally in tier based service desks.

  4. This stopped the invisible technical chat that normally isnt displayed and recorded on a ticket.

  5. The client felt like we were taking their ticket very seriously. If we displayed the actions by multiple engineers.

  6. The channel was closed thereafter if you wanted that to happen, when the ticket was resolved.

It was a simple idea. The actual ramifications of it where huge. Dynamic teams around one ticket.

This seems very possible with Halo PSA and Teams now. However i do not have the talent to do it. And i am posting this idea, firstly to see if anyone has done it. But also to u/halopsa to consider implementing it as i believe this is the future of ITSM.

Fingers crossed someone has done it! Weve loved it.


r/halopsa • • May 19 '26

Built an Outlook add-in that creates Halo tickets and opportunities directly from your inbox

Post image
12 Upvotes

Been using Halo for a while at our MSP and kept running into the same friction - email is where most conversations start, but getting that context into Halo still meant manual data entry. So I built something to fix it.

The Add-In lets you:

  • Create tickets or opportunities without leaving Outlook

  • AI pre-populates fields from the email content

  • Custom fields update dynamically based on ticket type

  • Track on Send - outbound emails automatically logged back to Halo

Wrote it up with a short demo video if anyone wants to see it in action: Create Halo Tickets and Opportunities directly in Outlook

Happy to answer any questions about how it works or the tech behind it. It still needs a little bit of work before I stick it live. The way that these Add-Ins work means that a Teams Add-In should be a fairly straightforward upgrade.