Changelog — Week of August 24, 2026
New features and improvements
Integrations
Custom API connections are now generally available — build a reusable, credential-safe connection to any REST endpoint under Integrations → Custom API and hand it to any agent
Custom API connections now handle any OAuth2 shape — password and custom grants, extra token parameters with secret values, and Basic auth on the token endpoint — via a new Advanced OAuth section
External API setup now lives in one place: the per-agent inline API editor is gone and the agent builder links straight to your Custom API connections
Choose exactly which folders of a SharePoint library get synced — untick anything you don't want indexed and Neo removes those documents from the index
Disconnecting a documentation source now truly removes it — the Remove dialog shows how many documents Neo holds and offers to delete them, and IT Glue and Hudu credentials are deleted so the tile no longer stays stuck on "Connected"
Neo now backfills 90 days of ticket history instead of 30, and syncs every ticket updated in the window — so reporting on a newly added company compares real periods instead of reading a sync gap as a drop
Agents can now read Microsoft 365 subscription renewal and expiration dates straight from Microsoft Graph — renewal questions are answerable even for SKUs not bought through a marketplace, with no new consent needed
Autotask
Added the "resolution plan" completion date to the ticket filter dropdown, so you can filter on tickets with no resolution plan entered
Agents now apply future-dated contract-service selling-price changes the way Autotask supports them, instead of failing and leaving the change as a manual step
Agents & Tools
Edit any file in an AI Skill directly in the dashboard — a real code editor with per-file version history and Restore, plus a read-only sandbox Run panel to test against a chosen agent's integrations without saving or spending credits
Agent instructions editor: Tab and Shift+Tab now indent and outdent list items, markdown markers nest properly inside lists, and there is a new editable Markdown source view
Agent templates now carry a complexity level, the integrations a template can use but doesn't need, and setup notes — so you can filter to templates that fit what you've connected
Create an agent from a template through the public API and get a version already adapted to your own PSA and RMM — permission blocks for integrations you don't use are cleared automatically
Agent scripts can now call the Neo public API from the sandbox with the same permissions the agent already holds — so a script can read or compare settings across a fleet of agents
Edit one triage field's instructions through the public API without resending every field
PowerShell scripts may now load approved modules (ActiveDirectory, Exchange Online, MSOnline, AzureAD) — AD and M365 onboarding scripts no longer fail validation, while unapproved or obfuscated module loads stay blocked
Ask the Neo Support Agent for something Neo can't do yet and it now points you to Roadmap & Updates with a ready-to-post write-up, instead of quietly opening a support ticket
Switching an agent to a schedule now explains in place why there's no Filters tab, and how to scope a scheduled agent to the right client companies
Dispatch
Dispatch approval cards now have one button per intent — Assign, Offer to someone else (with an optional note), and Don't auto-assign — and declining genuinely offers the ticket to the next available technician, excluding everyone who already declined
The Approvals page offers the same three dispatch answers as the Teams card, so an admin can offer a ticket to someone else rather than only approve or reject
Dispatch can now read calendar blocks that ended earlier the same day, so a morning shift-roster entry is still honoured for afternoon assignments
Dashboard
Reorder filter rules and groups by dragging them or with Move up / Move down — in the workflow builder, the agent Filters tab and the backfill wizard, with a warning when a move changes what the filter matches
End-user chat
Give every form question its own description — paste guidance from your existing intake forms straight in — and forms now hold up to 25 questions instead of 15
Chat & Teams
Relayed technician replies now show the ticket title above the ticket number, so a contact with several open tickets can tell which one the reply is about — switchable per channel, on by default
Search
Agents can now find a device or configuration by IP address — tickets that only name an IP (VPN, printer, firewall) now match the right configuration instead of the agent guessing hostnames
Searches that reach back further than Neo has synced for a company now say so, so a low count reads as missing history instead of a real drop
Phone Agent
The phone agent add-on now bills as a prorated line on your main Neo invoice instead of a separate subscription
Bug fixes
Integrations
A ticket sync that fails part-way now says so on the integration's sync details instead of reporting success, and a retried sync resumes where it stopped
A ticket merge or close against a PSA board with no synced closed status now raises an actionable item explaining what to configure, instead of failing the run
Ingram Micro now returns a clear, recoverable message when an order is rejected because an earlier order is still processing
ConnectWise
The "Neo's non-API member" picker no longer stops at the first 100 — every member in your instance is listed and searchable
Time-entry updates ConnectWise refuses now say why — naming the submitted timesheet holding the entry — instead of the misleading "the ticket is closed", and a refused write is reported honestly rather than as success
Fixed agreement lookups returning nothing when a company's agreements sit on a site other than its default — technicians no longer have to apply the agreement by hand
A company whose status forbids saving tickets now produces a clear "needs configuration" item instead of a hard failure and pointless retries
Fixed ticket searches aborting partway through large result sets when ConnectWise returned a database error on a deep page
Fixed sync crashing on a company with no default site set
Fixed attaching a configuration to a ticket failing with an opaque ConnectWise error
An intermittent time-entry read error no longer fails the whole scheduled workflow
Autotask
Fixed ticket filters that exclude many companies or resources failing verification in the workflow builder
A filter naming a picklist value that isn't unique in your instance now matches every matching value, instead of picking one at random and silently processing a subset of tickets
A name shared by several companies, contacts or resources now resolves to every match, active entries first — so rules like "company is not X" cover all of them
Fixed tag lookups wasting a failed round-trip before working
Creating a ticket and adding a note in one step no longer errors after the ticket was created
Halo PSA
Fixed ticket attachments never actually being stored in Halo — files now upload with their real name, and attachment errors say whether Halo crashed or refused the file
Contact triage no longer wipes a contact's roles when resolving them by email — an authorized requester is recognised again instead of being pushed to review
Fixed the merge agent picking already-closed tickets as merge candidates
Fixed ticket creation failing for clients with no main site or several sites — Neo resolves a site itself and retries
Asset lookups by last-login user now also read Halo custom key fields
Halo entities sharing a name (or differing only by capitalisation) are no longer collapsed to whichever was read last
Dispatch
Fixed dispatch runs starting seconds apart all picking the same technician — each run now sees what its peers have just claimed
Dispatch no longer hands a ticket to a technician on approved leave, and out-of-hours runs look ahead to the next working day instead of judging on an empty tonight
Fixed double-booking on large scheduled batches — Ticket Dispatch now runs one ticket per trigger, with the supported pattern explained in the builder, and same-run overlaps are detected and reported
A technician reserved for a ticket that then books nothing is released immediately instead of being locked out for the rest of the run
Agents & Tools
Custom Instructions no longer rewrite your prompt — lines of
=,*or_used as section rules stay exactly as you typed themFixed the PSA update allowlist rejecting valid updates when a saved field name differed only in capitalisation — agents couldn't set a status, and Halo time entries were saved with zero minutes
Chat agents can now run RMM scripts in a conversation with no ticket attached
Agents can now read IT Glue SSL certificates for reporting — read-only, so no agent can change or delete a certificate record
Agents no longer put a MAC address into a serial-number search that can never match
Triage runs can now write more than one customer-facing time entry per run — both the intake message and the dispatch acknowledgement land
Run messages in Event History now render as formatted text instead of vanishing or breaking the dialog when they contain angle brackets
Offboarding no longer stalls on classic mail-enabled distribution lists — those removals route straight to Exchange
Converting a mailbox to shared is no longer reported as failed — the change is asynchronous and Neo now verifies it later
Microsoft 365 user and group filters on on-premises properties now work instead of being rejected by Graph
On-prem AD scripts now run for every company in a PSA parent group sharing one domain controller, and a runner configured by FQDN or real host name resolves correctly
A transient timeout on a Neo API call is handed back to the agent to retry rather than failing the run
Fixed a crash that could stop a scheduled agent run when resolving its conversation
Workflows & Triggers
A trigger-only audit-trail field used in an entity-search filter is now rejected at save with a pointer to the right field, instead of silently matching nothing
An agent referencing a workflow that doesn't exist is now told which workflows it may trigger, instead of crashing the run
RMM
Fixed a Datto device losing its name when looked up by ID
An N-Sight task that was already queued no longer crashes the triggered workflow
A run no longer fails outright when an agent asks for a script execution that no longer exists
Sandbox
A brief network blip while a sandbox is being reconfigured is retried instead of aborting the run
Dashboard
Fixed unreadable white-on-white panels in dark mode across message details, markdown content and the PSA connect dialog
Fixed intermittent errors and up-to-15-minute stale data on dashboard and API pages under concurrent use
Runs ended outside Neo (timeouts, worker restarts) no longer sit at "Running" forever
Agent-builder dropdowns no longer error on a partly configured PSA connection
Removed the dead-end "I'm new here" form from the sign-in page
The shared template catalogue can no longer be edited by anyone but Neo — your own saved templates are unaffected
Chat & Teams
Fixed Teams showing users a "something went wrong" message when the reply had in fact been delivered
White-label Teams bots no longer fall back to Neo-branded error text — every failure message is brand-neutral
End-user chat
Fixed one end-user message occasionally filing two tickets when a transient fault made the turn replay
Search
Fixed agents getting a confident "zero tickets" answer when a search filtered on a field that doesn't exist — the query now names the problem, and Autotask billing code and work type are now searchable
Insights
Fixed the processing-performance breakdown failing outright and reporting per-agent figures against the wrong agent
Notifications
Scheduled notifications covering several tickets now name the ticket on every message in the batch
Phone Agent
Phone numbers are now reconciled against the carrier, so a number released upstream stops showing as Active while calls to it go nowhere — and the phone-number limit was raised to 3
Deactivated numbers no longer answer calls or count against your agent limit, and an orphaned number reads as released with clear next steps instead of a toggle that silently switches back off
Performance
Fixed ConnectWise syncs timing out for tenants with thousands of companies — syncs that had failed for days are restored