Added full ConnectWise Asio (ScreenConnect) API access — agents can query and act on Asio natively, with permission groups gating reads vs. writes.
Added full N-sight and N-central RMM API access — agents can query and act on both RMMs natively, with permission groups gating reads vs. writes and technician approval on script execution.
Added Exchange PowerShell execution in sandbox scripts — works for cloud, on-prem, and hybrid environments, so sandbox automations can run any Exchange cmdlet you'd run manually.
Added a technician context tool for dispatch agentic agents — dispatch decisions now factor in richer technician data (workload, recent activity, expertise) before picking an assignee.
Added new Microsoft Graph endpoints for authentication methods and organisation details — useful for MFA audits and tenant overviews.
Read-only API calls no longer require a technician instruction plan when read access is enabled — agents can look things up instantly; writes still require approval.
Workflows & Triggers
Workflow triggers now accept multiple values on "From" and "To" conditions, so one rule can cover several status transitions instead of cloning the workflow for each.
Triage actions accept a predefined list of ticket types and subtypes, letting you constrain exactly which options agents can pick.
ConnectWise agreement department is now available during triage, so agents can route tickets based on the agreement covering the work.
Dispatch
Dispatch fetches ConnectWise notes in a single batched call, cutting workload-analysis time on high-volume tickets.
Workload filters check time entries before notes, giving a more accurate picture of real technician activity.
Insights
Insights run automatically once a PSA sync completes — no need to trigger them manually.
Dashboard shows a "sync pending" state when PSA sync hasn't completed, so you know why stats haven't filled in yet.
Dashboard
Analytics and Performance tabs merged into a single unified Analytics page.
Time Saved promoted to the top hero stat on the Performance page — at a glance you see how much manual work agents are handling.
Sync Filters renamed to PSA Filters for clarity.
Event Executions modal is now horizontally scrollable with a sticky Actions column, so row controls stay reachable on wide tables.
Credits column tightened to free up space on wide tables.
Phone Agent
Added custom ElevenLabs voice selection in PhoneAgent settings — pick any ElevenLabs voice ID instead of only preset choices.
Performance
Improved ticket sync throughput for large syncs.
Per-PSA concurrency limits tuned — 150 for ConnectWise and Halo, 75 for Autotask — reducing throttling on busy MSPs.
Autotask callbacks defer the initial ticket fetch until after the audit-trail check, avoiding wasted API calls on tickets we're going to skip anyway.
Bug fixes
Dispatch
Fixed ConnectWise estimated hours pulling from the wrong field — now reads budget hours correctly.
Fixed weekday eligibility applying too broadly — it now only restricts the instant-availability phase.
Fixed overnight shifts being missed when detecting technician schedules.
Fixed dispatch crash when OpenAI returned no content for a ticket image attachment.
Agents & Tools
Fixed fuzzy matcher dropping technician and company names with long parenthetical suffixes.
Fixed bundling agent trusting stale search results — it now verifies with the PSA in real time when needed.
Fixed PSA summary failures when structured output didn't match the expected schema.
Fixed generic PSA writes accepting invalid picklist IDs — values are now validated against the tenant's cached options.
Fixed apostrophes being stripped from HITL approval cards.
Fixed silent RMM script failures going undetected — we now inspect script output instead of trusting the exit code.
Integrations
Fixed Ingram Micro auth, response parsing, and license order payloads so the integration works end-to-end.
Fixed NinjaOne OAuth token refresh — concurrent refreshes no longer invalidate each other and lock the tenant out.
Fixed Datto RMM poller spamming the API and triggering 429 rate-limit bursts.
Fixed ConnectWise SLA deadlines — now read from the correct goal fields.
Fixed Exchange role-assignment inbox messages — they now include the end-client company name, and deduplication happens per tenant instead of collapsing unrelated failures into one message.
PSA Sync
Fixed PSA metadata sync killing the entire sync when one entity failed — failures are now isolated per entity.
Fixed manual dashboard syncs blocking the nightly ticket sync; insights are also deferred on first sync to keep initial onboarding responsive.
Insights
Fixed subgroup monthly totals not summing to the parent total.
Fixed team notifications firing on clients without enough ticket data to produce meaningful insights.
Fixed the insights table using wrong counts for monthly subgroups.
Workflows & Triggers
Fixed scheduled work runs being unbounded and leaving orphaned SKIPPED executions.
Fixed Teams, Slack, and email sends holding database transactions open — they now happen after the transaction commits.
Fixed PSA API calls holding database transactions open in the notification agent.