Added correct appointment types on Halo dispatch bookings — each appointment is now booked as the right type (Firm/Tentative, Remote/Onsite) pulled from your own Halo appointment types, plus a new Default appointment type dropdown in dispatch calendar settings. Previously every booking defaulted to "Reminder."
Added the ability for Neo to set a Halo ticket's Team and Workflow when updating fields — instructions like "change the team to Support" used to be silently dropped. (Team applies immediately; the Workflow picker populates after your next Halo metadata sync.)
Added urgency and impact to phone-created Halo tickets — the phone agent now has urgency and impact selectors in its PSA settings and can stamp them on new tickets (configured per phone number), not just priority, with your Halo defaults preserved when unset.
Halo dispatch now books appointments in the technician's own timezone even when their agent record has no timezone set — falling back to their Workday timezone, then your tenant default, instead of treating them as UTC.
Dispatch
Smarter out-of-hours technician selection. Dispatch now reads a plain-language, per-technician on-shift status that resolves — in code — the one thing agents most often got wrong: an overnight shift that starts on the previous day and runs past midnight, evaluated in each technician's own timezone. So a ticket that comes in at 1:30 AM Monday correctly recognizes the engineer who's mid-way through a Sunday 19:00→07:00 shift as on-shift, and routes the ticket to them rather than to someone who's off. It stays a roster signal — time-off, holidays, and your custom availability rules are still layered on top — and the correct reading no longer depends on the underlying model being good at the time-zone arithmetic. This fixes real cases where after-hours tickets were assigned to the wrong engineer.
Agents & Tools
Added bulk approvals — the Approvals page now lets you approve or reject multiple pending requests (or every loaded request) at once, with a preview, an optional shared note, and exact per-item outcomes on retry.
Agents with the Security Operations M365 permission can now reach Microsoft Defender data — alerts and incidents, Secure Score, and Entra identity-protection risk.
Scheduling agents now factor in Neo's already-scheduled runs, so they space work out instead of double-booking (e.g. two reboots for the same client too close together).
RMM
On ConnectWise Asio, agents can now run RMM scripts with their parameters (PowerShell body, download URL, install package) instead of seeing every script as parameterless and falling back to manual dispatch.
Dashboard
Added a Duplicate button for intents, so you can clone an existing intent and adjust it instead of rebuilding from scratch.
Chat now shows an agent's response mode on the full-page view, and your skills list is now sorted alphabetically.
Integrations
The public API now returns a triggered agent's trigger settings and a scheduled agent's schedule when you read an agent — previously these were write-only.
Bug fixes
Agents & Tools
Fixed long-running chat sessions freezing once the conversation grew large enough to be compacted — affected sessions now recover on their own and keep responding.
Fixed agents occasionally narrating steps that never ran (e.g. reporting a step "returned no results" when it never executed); technician-facing notes now report only what the agent actually did.
Attaching a file to a ticket now fails gracefully with a fallback when a PSA has a transient outage, instead of dead-ending the run partway through.
On-prem Active Directory / Exchange automations now generate valid PowerShell — fixing a case where an existing user was falsely reported as "not found" (so the change silently did nothing) and a mailbox address-update failure.
Renaming a board, status, or queue in your PSA no longer silently breaks an agent's trigger filter — filters now track those resources by ID rather than name.
The agent builder no longer lists hidden, auto-injected tool dependencies as if they were tools you configure, keeping the tool picker to what you actually control.
Dispatch
Fixed urgent tickets being booked onto a technician's day off when their calendar for that day happened to be empty — non-working days are now always skipped.
ConnectWise
When a ticket is reassigned, Neo now correctly closes the previous engineer's schedule entry instead of stalling while looking for a "Done" status that most ConnectWise tenants don't have.
Integrations
Improved resilience to brief PSA and RMM provider outages across ConnectWise, Autotask, ServiceNow, and NinjaOne, so transient errors no longer interrupt a run.