Workbench

Agent

Launcher
pill
icon
bar
pill, open
Persona
listening
thinking
speaking
Welcome
Assistant
Morning, Oscar
What can I help with?
Avatar
seed, at 40px
dufeuconnectorpsaquotesflowonboarding
size
2024324872
grid, at 48px
79111521
no glow, then a slow period, then a fast one
held still, and forced to move whatever the system says
Transcript

Is anything broken right now?

Two open, neither losing data.

  1. Microsoft 365 backups degraded in several regions
  2. Reporting exports timing out on large date ranges

The first is the older of the two, and the one with a known cause: API throttling from the move to Microsoft Graph.

ServiceUptimeState
PSA99.22 %Degraded
Connector100.00 %Operational
Nothing needs re-running. Backups are queued rather than failing.

See the incident for the full history.

CopyGood answerBad answer

If you are chasing a cause, start with throttling rather than the pods.

CopyGood answerBad answer

Will my backups need re-running?

The Northgate tenant especially.

No. They are queued rather than failing, so the backlog drains on its own once throttling lifts.

  • Northgate is 40 minutes behind
  • Everything else is inside the hour
  • Nothing has been dropped
CopyTry againGood answerBad answer
State
ready
typing
Working
streaming
That did not send. Check your connection.
error
Attachments
capacity-report.pdf1.2 MB
one file
capacity-report.pdf1.2 MBbackup-log-2026-08-03.txt44 KBscreenshot.png310 KB
several
Toolbar
mode and context
Context meter
low
high
nearly full
Confirmation
The assistant wants to close 6 tickets and email a resolution summary to each contact. Do you approve this action?
You approved this action
You rejected this action
Commit
Mpsa/tickets/T-4471.json+12-3
Apsa/tickets/T-4482.json+45
Mpsa/contracts/CTR-0042.json+2-2
Dpsa/tickets/T-4310.json-28
Reasoning
Checking the contract terms for Northgate before I answer, since their first-response target is tighter than the default and that changes which of these actually breach.
Chain of thought
Searching the open queue
24 tickets across 3 contracts
Comparing against contract targets
First response 30m, resolution 8h
Two of these are waiting on the customer, so their clock is paused.
Drafting the summary
Checking who is on call
Inline citation
Northgate are on a tighter target than the rest of the book, 30 minutes for first response rather than the standard hour1/3CTR-0042 Managed Supporthttps://psa.meridian.example/contracts/CTR-0042Section 4.2 sets first response at 30 minutes during business hours.Response targets are measured from ticket creation, excluding time waiting on the customer., so T-4471 is comfortably inside it.
Attachments
Disk usage
Error dialog
Event viewer
capacity-report.pdfhandover.mp3screen-recording.mp4SLA policy
capacity-report.pdfapplication/pdf, 1.2 MB
Disk usageimage/png, 310 KB
Task
Plan

Close every ticket resolved before Friday

Six tickets qualify. Two are on contracts that require a written sign-off, so those get a summary email before the status changes.

  1. Pull every ticket resolved before FridayService Desk, all contracts
  2. Check each against its contract for a required sign-off
  3. 3Draft a resolution summary per ticket
  4. 4Email the contact on each
  5. 5Set status to Closed
  6. 6Post a digest in Chat

Working out what needs closing

Reading the queue and checking each contract for a sign-off requirement.

Queue
  • Then chase the renewal quote for Northgate
  • And tell me who is on call this weekend
    Include the out-of-hours rota
  • Compare this against last month
    capacity-report.pdf
  • Read the open queue
  • Check contract targets
  • Draft the summaries
  • Email each contact
File tree
Northgate Legal
Contracts
MCTR-0042 Managed Support.pdf1.2 MB
CTR-0051 Project.pdf890 KB
Handover notes.docx112 KB
Service policies.md18 KB
Command palette
Checkpoint
Before bulk close2 min ago

Schema

Endpoint
PATCH/v1/tickets/{ticketId}

Update a ticket. Partial: only the fields you send are changed.

ticketIdstringpathrequired

The ticket reference, for example T-4471.

includestringquery

Comma separated: notes, time, attachments.

X-Dufeu-Tenantstringheaderrequired

The company the request is scoped to.

statusstringrequired

One of the configured ticket statuses.

prioritystring

Critical, High, Normal or Low.

Only accepted when status moves to Complete.

summarystringrequired

Sent to the contact.

billableboolean

Defaults to the contract setting.

minutesinteger

Time to append before closing.

Replaces the current watcher list.

resourceIdstringrequired
idstring

The ticket reference.

statusstring
updatedAtstring

ISO 8601, always UTC.

The contract the ticket bills against.

idstring
namestring
firstResponseMinutesinteger

The target this ticket is measured on.

Method
GET/v1/tickets

List tickets.

POST/v1/tickets

Raise a ticket.

PUT/v1/tickets/{ticketId}

Replace a ticket.

DELETE/v1/tickets/{ticketId}

Delete a ticket.

Snippet
$
Bearer
Stack trace
at calculateSla ()
at TicketRow ()
at renderWithHooks ()
at mountIndeterminateComponent ()
at beginWork ()
at processTicksAndRejections ()
Package info
nextmajor
15.3.316.0.1

App Router changes affect every route handler in the platform.

Dependencies
react^19.1.0
react-dom^19.1.0
@oscarkalid/uipatch
0.3.20.3.4

Status badge sizing and the composer glyphs.

@tanstack/react-queryadded
5.62.0

Replaces the hand-rolled fetch cache in the PSA queue.

momentremoved
2.30.1

Superseded by the platform date helpers.

Voice selector
VoiceSelector
Shimmer
Working out what needs closingShimmer

Code

File
TypeScript
import { cn } from "../lib/cn";
 
/**
* One tick per day for the last ninety.
* Anything it cannot classify stays plain.
*/
export function UptimeBar({ days, className }: { days: readonly Day[]; className?: string }) {
const last = days.length - 1;
return (
<div className={cn("flex h-9 gap-[2px]", className)} role="img">
{days.map((d, i) => (
<span key={i} title={`${last - i} days ago`} className="min-w-[2px] flex-1" />
))}
</div>
);
}
CSS, with two lines marked
@theme {
/* Two layers, on purpose. */
--primitive-grey-900: #171b22;
--color-ink: var(--primitive-grey-900);
--duration-fast: 110ms;
}
Diff
unified, folded, with the counts and an expand
+3-4
export type TranscriptTurns = "bubble" | "plain" | "indent";
export interface TranscriptProps {
messages: readonly AgentMessage[];
turns?: TranscriptTurns;
mark?: boolean;
busy?: boolean;
/** Copy, retry and rating under each agent turn. */
controls?: TurnControls;
className?: string;
}
export function Transcript({ messages, turns = "bubble", mark = true, busy = false }: TranscriptProps) {
export function Transcript({ messages, mark = true, busy = false, controls }: TranscriptProps) {
return <div className="flex flex-col">{null}</div>;
}
Markdown
What it renders

Paragraphs, emphasis, inline code, links, and lists:

  1. numbered
  2. and nested
    • underneath
KindRendered
Tableyes
Footnoteleft as text
Anything it cannot parse stays as text, which is the right failure.

Status page

Incident

Microsoft 365 backup performance degraded in several regions

  1. Monitoring - The latest changes have been deployed to every affected region. Backup success rates are climbing across the fleet and we are watching them settle.

    4 Aug 2026, 16:09 BST

  2. Update - Configuration changes are going out to the remaining regions to further reduce the degraded backup performance. We will keep watching the results as we develop additional improvements.

    4 Aug 2026, 13:26 BST

  3. Identified - Backups are still degraded for some Microsoft 365 services across multiple regions, caused by API throttling from the move to Microsoft Graph.

    4 Aug 2026, 09:41 BST

  4. Investigating - We are looking into reports of slow backups affecting some Microsoft 365 tenants.

    3 Aug 2026, 22:15 BST

Impact
critical

Ticket creation and email intake are down

  1. Identified - The primary database has failed over and is not accepting writes. We are promoting the standby now. Inbound email is queued, not lost, and will be processed once writes are restored.

    6 Aug 2026, 11:52 BST

  2. Investigating - New tickets cannot be created through any channel. Existing tickets are readable.

    6 Aug 2026, 11:38 BST

  3. Investigating - We are investigating reports of errors when saving a ticket.

    6 Aug 2026, 11:31 BST

major

Microsoft 365 backups degraded in several regions

  1. Monitoring - Throttling limits have been raised and the backlog is draining. Most tenants should catch up within the next few hours.

    5 Aug 2026, 18:20 BST

  2. Identified - API throttling from the move to Microsoft Graph is slowing backups for some tenants. No data has been lost.

    5 Aug 2026, 14:05 BST

minor

Attachment previews are slow to load

  1. Monitoring - Preview generation has been moved to a larger worker pool. Times are back under two seconds and we are watching them.

    4 Aug 2026, 16:40 BST

  2. Update - Previews of PDFs over 20MB are taking up to 30 seconds to render. Downloading the file is unaffected.

    4 Aug 2026, 15:02 BST

maintenance

Ticket search index rebuild

  1. Scheduled - Ticket search will be read-only for around 40 minutes while the index is rebuilt. Nothing else is affected.

    9 Aug 2026, 02:00 BST

resolved

Single sign-on failures for Entra ID tenants

  1. Resolved - Sign-in has been stable for six hours across every tenant. We are closing this out and will publish a post-incident review this week.

    2 Aug 2026, 21:00 BST

  2. Monitoring - The certificate has been rotated and sign-in is succeeding again. We are watching the error rate before closing.

    2 Aug 2026, 15:14 BST

  3. Identified - An expired signing certificate was rejecting SAML assertions for tenants federated with Entra ID.

    2 Aug 2026, 14:47 BST

Uptime

PSA

Degraded performance
90 days ago99.22 % uptimeToday

Connector

Operational
90 days ago100.00 % uptimeToday

Quote Manager

Operational
90 days ago99.98 % uptimeToday

Service Portal

Degraded performance
90 days ago99.61 % uptimeToday

Flow

Partial outage
90 days ago99.42 % uptimeToday

Chat

Major outage
90 days ago99.74 % uptimeToday

Documents

Under maintenance
90 days ago99.89 % uptimeToday

Onboarding

No data
90 days agoNot measured yetToday

Buttons

Variant
primary
secondary
ghost
danger
dangerQuiet
Size
sm
md (default)
lg
With icon
leadingIcon
icon only
icon only, primary
State
default
loading
disabled
disabled, secondary
Split
secondary
primary
sm

Form controls

Text entry
Input
Textarea
Choice
Select
CTR-
InputGroup
Field state
default
Hours must be greater than zero.
invalid
disabled
Lookup
Combobox
SearchInput
Compact
Select compact
SearchInput compact
beside the default
Numeric
NumberInput
hrs
with suffix
disabled
Selection
Checkbox
Radio
Auto-assignSwitch
Segmented

Status

Status badge
Ticket lifecycle
NewAssignedIn ProgressScheduledReady To ScheduleFollow Up NeededCustomer UpdatedWaiting CustomerWaiting VendorOn HoldEscalatedCompleteClosedCancelled
Triage and diagnosis
TriageInvestigatingDiagnosedNeeds InfoDuplicateKnown Issue
Delivery
DispatchedOn SiteRemote SessionAwaiting PartsParts ReceivedAwaiting AccessMaintenance Window
Approval and review
Awaiting ApprovalUnder ReviewApprovedRejectedChange RequestedVerified
Sales and billing
DraftQuote SentAwaiting SignatureSignedAwaiting PaymentInvoicedPaidWritten Off
Projects and onboarding
Not StartedPlanningIn BuildTestingTrainingHandoverLiveAt Risk
Dormant
SnoozedDeferredArchivedMerged
Live status
L-4400Outlook not syncing after password resetNew
L-4401Server C: drive at 94% capacityAssigned
L-4402New starter setup, 3 accounts and a laptopIn Progress
L-4403Teams call quality poor on VPNNew
L-4404Backup job failed two nights runningAssigned
One ticket advances every 1.6s
Status colour
slateblueindigopurplemagentapinkredorangeambergreentealcyan
Status icon
eyesearchdocumentcardsendpentruckpinmonitorserverlinkarchivebugkeybookmoonwarningthumbsUpticketpersonteamcalendarcalendarPlusclockhourglassprogresswrenchchatenvelopephonebellpackagepauseplayescalatechecklockcrossplusalertquestionflagstarshielddot
Status badge size
Follow Up Neededsm
Follow Up Neededmd (default)
Follow Up Neededno icon
In a row
T-4468Server C: drive at 94% capacityEscalated
T-4471Outlook not syncing after password resetFollow Up Needed
T-4470New starter setup, 3 accounts and a laptopScheduled
T-4465Teams call quality poor on VPNCustomer Updated
T-4459Backup job failed two nights runningWaiting Vendor
Badge tone
Newneutral
In progressaccent
Waitingwarn
Escalateddanger
Resolvedok
Badge form
In progressdot
In progressno dot
SLA breachsolid
Priority
Criticalcritical
Highhigh
Normalnormal
Lowlow
Count
3single digit
24double digit
1,482thousands
Status dot
Onlineok
Degradedwarn
Agent offlinedanger, pulse
bare
Tag
escalatedbackupout-of-hours
removable
on-sitestatic
contractbreach
tone

Avatar

Colour is derived
OKDBSRCVSWJL
Size
xs
sm
md
lg
xl
Source
DBinitials from name
photo
broken photo
unknown person
Shape
NLcircle
NLsquare
Presence
online
away
busy
offline
Group
default
+3max={3}
+2size=sm
+2spread={false}
Member selector
Watchers
Assigned engineers (max 3)
With text
DBDominic Barrowname only
SRSasha RossiService Deskwith secondary
SWSarah WhitfieldStanton Motorssm, in a cell
In a row
T-4468Server C: drive at 94% capacityOscar KalidStanton Motors+3
T-4471Outlook not syncing after password resetDominic BarrowNorthgate Legal+3
T-4470New starter setup, 3 accounts and a laptopSasha RossiHarper and Vale+3
T-4465Teams call quality poor on VPNCallum VanceBrightwater Care+3

Navigation

Breadcrumbs
Breadcrumbs
Tabs
Tabs
Side nav
SideNav
Menu (presentational)
Anchored
DropdownMenu
align=end
Popover (any content)
Open search KKbd

Data table

Toolbar
1 ticket selected
Sortable header
T-4468Stanton Motors41m
T-4471Northgate Legal2h
T-4470Harper and Vale5h
Assembled
TicketSubjectCompanyPriorityStatusOwnerAge
T-4468Server C: drive at 94% capacityStanton MotorsCriticalEscalatedDominic41m
T-4471Outlook not syncing after password resetNorthgate LegalHighIn progressSasha2h
T-4470New starter setup, 3 accounts and a laptopHarper and ValeNormalWaitingCallum5h
T-4465Teams call quality poor on VPNBrightwater CareNormalIn progressSasha1d
T-4463Renewal quote for M365 Business PremiumNorthgate LegalLowNewUnassigned1d
T-4459Backup job failed two nights runningStanton MotorsHighResolvedDominic2d
6 of 24 shown
Row state
T-4471Outlook not syncing
T-4468Drive at 94% capacity
default and selected
Cell variant
Outlook not syncingstrong
Northgate Legalmuted
T-4471mono (tabular)
Pager
page 1 of 4

Records

Description list
Company
Stanton Motors
Contact
Sarah Whitfield
Queue
Service Desk
Owner
Dominic
Contract
Managed Support, CTR-0042
Work type
Remote support
Created
Yesterday, 16:12
Due
Today, 17:00
Timeline
  1. Sasha took ownership41 minutes ago
  2. Waiting on customer2 hours ago
    Asked Sarah to confirm whether the drive was expanded during the last maintenance window.
  3. Priority raised to Critical2 hours ago
    Disk crossed 90% and the nightly backup started failing.
  4. Ticket createdYesterday, 16:12
    Raised automatically by the capacity monitor.
Stepper
  1. Countersigned 3 Aug
  2. M365 and Entra
  3. 3
    18 of 27 done
  4. 4
  5. 5
  1. Countersigned 3 Aug
  2. M365 and Entra
  3. 3
    18 of 27 done
  4. 4

Surfaces

Card

Contract renewal due

Northgate Legal, Business Premium x 42, expires in 11 days.

static

Onboarding in progress

Brightwater Care, 6 of 14 steps complete.

interactive
Stat
Open tickets
24
6 vs last week
direction=down
First response
18m
4m faster
direction=up
Billable this month
142.5
no delta
Module tile
default
disabled
Module grid
Empty state

No tickets in this queue

Nothing is waiting on the team right now.

Feedback

Banner
Autotask sync is degraded. Ticket updates may take up to 20 minutes to appear.
Read-only mode. You are viewing this company as a member of the sales team.
Spinner
default
size={20}
Checking agent statusin context
Alert tone
Sync scheduledContract data refreshes from the PSA every 15 minutes. Last run 4 minutes ago.
Onboarding completeAll 14 steps finished for Brightwater Care. The account is live.
SLA at risk3 tickets breach their first-response target within the hour.
Backup failedStanton Motors, two consecutive nights. Check the agent before raising it with the customer.
Alert form
SLA at risk3 tickets breach within the hour.
with title
3 tickets breach their first-response target within the hour.
body only
Toast
Ticket T-4471 assigned to Sasha
ok, dismissible
Could not save. Check your connection.
danger
Progress
1 of 14 steps
value={6}
6 of 14 steps
value={43}
Complete
value={100}
Skeleton
text lines
tile
Tooltip
Breaches SLA in 42 minuteson hover or focus

Overlays

Live
Modal
Drawer
Confirm
with body
no body
Form

Motion

Duration
instant70msColour and opacity swaps, focus rings
fast110msHovers, presses, small state changes
base170msMenus, tooltips, small entrances
slow240msModals, sliding indicators, list entrances
slower340msFull-height panels, drawers
Easing
ease-out
Entering, settling. The default.
ease-in
Leaving. Get out of the way.
ease-in-out
Moves, then stops in place.
ease-emphasized
Tab underline, segmented pill.
ease-spring
Switches, checkboxes, knobs.
Morph
SplitButton
MorphPopover, align=end
wide content
Enter and exit
anim-pop (Popover)
anim-rise (Modal)
anim-slide-right (Drawer)
Stagger
Reduced motion
Test itmacOS: System Settings, Accessibility, Display, Reduce motion. The page needs no reload.