| UI or UX | UI + UX - Concise transfer packet for responsibility, conversation, case, or task context | UI + UX - Responsibility control for assigning a work item to eligible people, teams, roles, bots, or no owner | UI + UX - Highlighted region for key information from a longer page | UI + UX - Searchable and exportable record of system, user, or administrative events | UI + UX - Object-attached comment composer and comment list with authorship, replies, state, permissions, and moderation | UI + UX - Durable user-opened notification history and action drawer | UI + UX - Routed decision workflow for requests that require authorized approval | UI + UX - Actionable queue for triaging many items that need human review | UI + UX - Object-level sharing control for recipients, link scope, roles, delivery, copy-link, native share, and access management | UI + UX - Authorization and access-boundary state |
| UI guidance | Render handoff summary as a transfer packet that names sender, receiver, transfer reason, current status, source object, generated or updated time, summary structure, next action owner, urgency, risks, and links back to transcript, ticket, log, case, or source records. | Render assignment as a responsibility field on a specific work item with current assignee, unassigned state, eligibility-filtered candidate picker, self-assign affordance, reassign and clear controls, notification outcome, and visible responsibility wording. | Render a summary box as a labelled region with a specific heading, short body, scannable key points or next steps, and only links that directly support the summarized page task. | Render activity logs as evidence-oriented records with event time, actor, action, object, source system, scope, result, and technical context such as IP address or location when available. | Render comments as anchored contributions with author identity, timestamp, body, optional attachment or selection context, edited state, reply target, and state labels such as open, resolved, hidden, deleted, or assigned. | Provide a persistent notification entry point, usually a bell or inbox control, with a count that represents new unseen notifications rather than every unread item forever. | Render approval workflow as a routed request record with requester, object, requested action, approver eligibility, required rule, current gate, due date, decision controls, comment history, and outcome consequences. | Render review queue as an actionable worklist with queue scope, counts, filters, sort order, row reason, owner, priority, age or SLA, status, preview context, selection, and row actions. | Render share dialog as an object-specific access panel that names the shared object, current access, recipient entry, link scope, role, notification and message choices, copy-link state, external-domain warnings, expiration, download controls, and revoke or manage-access actions. | Show the blocked object or action, current account, permission level, required role, owner, and request path when revealing that information is allowed. |
| UX guidance | Use handoff summary when work, responsibility, or conversation context moves between people, teams, shifts, AI agents, live agents, queues, or tools and the receiver should not need to reconstruct the situation from raw history. | Use assignment when users need to decide who is accountable for doing or owning a work item, not merely who should be notified, mentioned, approved, invited, or granted access. | Use summary box when users need the essential facts, eligibility notes, deadlines, documents, or next steps from a longer page before reading every detail. | Use activity log when users need to investigate, audit, verify, or troubleshoot actions across accounts, objects, systems, settings, or security boundaries. | Use comments when users need to discuss, question, annotate, review, or leave follow-up notes on a specific object, selection, file line, record, document, or task without changing the primary content directly. | Use a notification center when users receive enough asynchronous system or collaboration updates that they need a durable place to review, triage, and act later. | Use approval workflow when a submitted request cannot proceed until an authorized person, group, threshold, sequence, or external policy gate explicitly approves or rejects it. | Use review queue when a team repeatedly processes a changing set of tickets, comments, pull requests, content items, cases, requests, or records that require human inspection and action. | Use share dialog when a user is granting, narrowing, distributing, or reviewing access to a concrete object such as a file, folder, document, dashboard, board, recording, report, calendar item, or media asset. | Use permission denied state when the system knows the user is authenticated but their role, group, share, license, policy, or approval status blocks a specific object or action. |
| Good UI | A support conversation handoff shows customer, issue, AI steps already attempted, account status, reason for escalation, current sentiment, open question, next action, queue, owner, and source transcript link. | An issue sidebar shows Assignee: Maya Chen, Assign to me, Change assignee, Clear, eligible teammate search, reviewer separate from assignee, and a note that the new assignee will be notified. | A benefits guide has a summary box headed Before you apply with deadline, required documents, and Start application link above the detailed eligibility rules. | An organization audit log table shows timestamp, actor, action, target object, app, IP address, result, and a Details drawer with before and after fields. | A document margin comment shows the selected paragraph, author, timestamp, body text, Reply, Resolve, Assign, and Copy link actions with the composer focused on that selection. | A bell opens a drawer with Unread and All filters, showing comment mentions, approval requests, export results, and background-job failures in newest-first order. | A production deployment request shows requester, service, environment, change summary, required reviewer group, self-review restriction, wait timer, Approve and Reject with reason controls, and a timeline of route changes. | A support queue shows New triage, SLA at risk, owner, customer, status, priority, age, preview text, assignment, and next actions without opening every ticket. | A report share dialog shows the report title, current viewers and editors, a recipient field, role dropdown, Notify people checkbox, message field, link set to Restricted, Copy link, and Manage access. | A report page says Quarterly revenue report requires Finance viewer access, shows the current account, names the report owner, and offers Request access and Switch account. |
| Bad UI | A ticket says Transferred to Billing with no reason, customer need, previous attempts, blockers, or next action. | A comment field says @Rahul please handle this but does not create an assignment record or appear in Rahul's assigned work. | A pale box repeats the entire page introduction, every related link, and several unrelated policy notes. | A page titled Activity shows vague entries such as Changed settings with no actor, target, timestamp, or source. | A Notes textarea sits under a record and calls itself comments even though every user overwrites the same field. | A red badge says 42 forever because opening the drawer, reading items, and viewing related work never update the count. | A request page says Waiting without naming the approver, required count, due date, or escalation path. | A review queue shows a flat list of titles with no reason, age, owner, status, priority, or action controls. | A Share button instantly copies an Anyone with the link can edit URL without showing the current access level or role. | A denial page says Something went wrong and shows Retry even though the user lacks a required group. |
| Good UX | A live agent accepts a bot escalation, reads the handoff summary, sees the customer already tried password reset twice, confirms the account lock risk, and continues without asking the customer to repeat themselves. | A triager changes a support ticket from unassigned to Priya, adds a handoff note, sees that Priya has access and capacity warning, and the ticket appears in Priya's assigned-to-me queue. | A user scans the box, learns they need photo ID and proof of address, then continues into the detailed instructions with the same terms repeated in context. | An admin filters to failed SSO events, expands one entry, copies the event ID, exports the filtered range, and sees that records older than 180 days require a different archive. | A reviewer comments on a selected line, adds an action item for Dana, receives a reply, resolves the comment, and can reopen it from the resolved filter. | Opening the notification drawer clears the new-notification badge while unread items remain available for later triage. | A requester submits a deployment, sees it is waiting for Release managers, cannot self-approve, receives a change request with a required comment, edits the change summary, and resubmits to the same route. | A reviewer claims the oldest SLA-at-risk ticket, opens a preview, assigns it to Billing, returns to the queue with the row removed, and lands on the next oldest item. | A manager adds finance@example.com as Viewer, keeps the link restricted, writes a notification note, copies the link, and sees that the file can be unshared from Manage access. | A user opens a restricted report, sees which account is signed in, requests viewer access with a reason, then sees that the request is pending with the owner. |
| Bad UX | A receiver gets an assignment notification and must read 80 chat messages to learn why the customer is blocked. | A user assigns a confidential issue to a teammate who cannot open the project, and the UI reports success without warning. | Users miss an eligibility rule because it appears only inside a sidebar summary and not in the main instructions. | A user marks a notification read and the corresponding activity evidence disappears from the only log. | A user writes a long comment, loses network connection, and the draft disappears when the page reloads. | A payment failure that blocks the current checkout is only stored in the notification center and never appears in the task. | The first approver clicks Approve and the system marks the whole request approved even though policy required everyone to approve. | Two reviewers open the same unclaimed item, both act, and the second decision overwrites the first with no stale-row warning. | A native share sheet sends a private file URL to a chat app, but the recipient cannot open it because the product never granted access. | The app returns a blank screen for a restricted file, so the user cannot tell whether the file is gone, private, or opened with the wrong account. |
| Best fit | Responsibility, context, or conversation control transfers to another person, team, queue, shift, AI agent, live agent, or system. | A user must set, change, or clear who is accountable for a work item. | A longer page has a small set of key facts or next steps that users need early. | Users need to inspect recorded user, admin, system, security, or integration events. | Users need object-attached discussion without changing the primary object content directly. | Users receive multiple asynchronous updates across objects, jobs, collaborators, approvals, or reminders. | A submitted request needs authorized approval before a deployment, purchase, access grant, publication, content change, policy exception, financial action, or workflow step can proceed. | A team or individual repeatedly reviews many independently queued items. | A user needs to share one object or a small set of selected objects with people, groups, domains, links, or device targets. | A signed-in user lacks permission to view, edit, publish, export, delete, approve, share, administer, or configure a resource. |
| Avoid when | There is no receiver taking over context or responsibility. | The user only needs to mention or notify someone in conversation. | The highlighted content is an urgent status, outage, validation result, or severe consequence. | The goal is only to show a readable milestone history for one case or process. | The user is simply entering a long answer into a form field. | The product has only occasional current-action feedback that a toast or inline status can handle. | The user only needs to check their own answers before submission. | The task is a single request moving through a governed approval route. | The task is inviting a person to become a workspace, organization, or team member rather than sharing a specific object. | The user is not signed in and the next step is authentication rather than authorization. |
| Required state | Default handoff summary with sender, receiver, reason, status, and source object. | Unassigned item state. | Default summary box with heading, concise body, key points or next steps, and optional task-specific link. | Default log state with event records, result count, visible timezone, retention window, and permission scope. | Empty comment list and first-comment composer. | Closed entry-point state with zero, new-unseen, and unread-but-seen counts. | Draft or submit-ready request handoff state | Queue loading and count state | Object identity and current access summary state | Whole-object access denied state. |
| Accessibility burden | Use clear headings for situation, background, assessment, recommendation, actions, risks, source links, and receiver status. | Label the assignment field with the current assignee, item name, and responsibility meaning. | Expose the box as a labelled region or group with a heading that fits the page heading hierarchy. | Use table or structured list semantics so actor, action, object, timestamp, result, and scope are perceivable together. | Label the comments region with the object or selection being discussed. | Give the entry-point control an accessible name that includes new or unread count without relying only on a red dot. | Use labelled request summary, approver, status, due date, decision, comment, and history regions. | Use labelled queue name, count, filters, sort, group, row status, selection, preview, and action controls. | Use labelled fields for recipient entry, role, link scope, notification toggle, message, expiration, password, download controls, copy-link, send, revoke, and stop-sharing actions. | Use a heading that identifies the access boundary and a text description that does not rely on lock icons or red color alone. |
| Common misuse | Sending only an assignment notification and calling it a handoff. | Treating a mention as an assignment. | Repeating the whole page in a highlighted box. | Calling a social feed or notification drawer an activity log without event evidence. | Using one shared Notes field as a comment system and overwriting prior contributors. | Treating the badge count, unread count, and total notification count as one number. | Showing a generic pending message without the approver, gate, rule, or due date. | Using an ordinary table with no review reason, urgency, ownership, or decision actions. | Using Share as a one-click public-link generator without showing the link scope. | Treating authorization denial as a generic retryable error. |