Skip to main content

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 them

  • Fixed 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