Back to compare picker

Assignment vs Task list vs Review queue vs Approval workflow vs Mentions vs Object picker vs Notification center vs Activity feed vs Permission sharing

Use assignment to set or change who is responsible for a specific work item, task list to show fixed task rows with status, review queue to triage many items needing work, and approval workflow to route a submitted request through governed decisions.

Learn the decision

Match the interaction to the person's task

Use assignment to set or change who is responsible for a specific work item, task list to show fixed task rows with status, review queue to triage many items needing work, and approval workflow to route a submitted request through governed decisions.

Assignment

Use it when: A user must set, change, or clear who is accountable for a work item.

Make this state clear: Unassigned item state.

Observe the result: 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.

Study the full pattern →

Task list

Use it when: A page needs to display a known set of tasks with status and links to start or resume them.

Make this state clear: Linked startable task row.

Observe the result: A user scans five task rows, sees that Financial history is incomplete, selects anywhere on that row, completes the section, and returns to find the row status changed to Completed.

Study the full pattern →

Review queue

Use it when: A team or individual repeatedly reviews many independently queued items.

Make this state clear: Queue loading and count state

Observe the result: 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.

Study the full pattern →

Approval workflow

Use it when: A submitted request needs authorized approval before a deployment, purchase, access grant, publication, content change, policy exception, financial action, or workflow step can proceed.

Make this state clear: Draft or submit-ready request handoff state

Observe the result: A finance approval requires both manager and controller approval; the first approval advances the sequence, a rejection stops downstream processing, and the requester sees the exact rejection reason and revise action.

Study the full pattern →

Mentions

Use it when: Composed content needs to target people or groups inline.

Make this state clear: Highlighted suggestion, keyboard-selected suggestion, mouse or touch-selected suggestion, and inserted mention token.

Observe the result: A user mentions @Dana in a private incident note, sees that Dana lacks access, chooses Invite and mention, and the resulting notification opens the exact note.

Study the full pattern →

Object picker

Use it when: Users assign, link, reference, invite, route, or attach an existing entity.

Make this state clear: Empty object lookup field with label, helper text, and current search scope.

Observe the result: A user searches Acme, compares two same-named records by region and status, selects the active EMEA account, and reviews the selected account ID before saving.

Study the full pattern →

Notification center

Use it when: Users receive multiple asynchronous updates across objects, jobs, collaborators, approvals, or reminders.

Make this state clear: Closed entry-point state with zero, new-unseen, and unread-but-seen counts.

Observe the result: Opening the notification drawer clears the new-notification badge while unread items remain available for later triage.

Study the full pattern →

Activity feed

Use it when: Users need to catch up on recent collaboration, app, repository, channel, project, meeting, reminder, or task activity.

Make this state clear: Default feed state with actor, verb, object, timestamp, source, type icon, preview, scope, and destination for each activity item.

Observe the result: A user filters Activity to mentions and replies, answers one thread inline, clears low-value reactions, saves a custom view for VIPs, and opens a deployment failure in the source app.

Study the full pattern →

Permission sharing

Use it when: Owners or admins need to manage durable access to spaces, sites, repositories, projects, folders, datasets, boards, environments, or sensitive objects.

Make this state clear: Default access list state with users, groups, guests, anonymous access, roles, and effective access.

Observe the result: A space admin removes Maya from a direct grant but sees she still has View through the Contractors group, so they remove the group grant or ask a site admin to update group membership.

Study the full pattern →

Practice the judgment: Imagine this situation: Reassignment erases the previous owner, reason, or handoff context, making accountability unclear. Write the person's goal, choose one of these patterns, and show the state that helps the person continue. Use the decision rules and source trail below to explain your choice.

Review the underlying principle →

Decision dimensions

Dimension AssignmentTask listReview queueApproval workflowMentionsObject pickerNotification centerActivity feedPermission sharing
UI or UX UI + UX - Responsibility control for assigning a work item to eligible people, teams, roles, bots, or no ownerUI + UX - Component-level list of linked task rows with names, hints, and statusesUI + UX - Actionable queue for triaging many items that need human reviewUI + UX - Routed decision workflow for requests that require authorized approvalUI + UX - Inline recipient reference with autocomplete, stable recipient identity, notification routing, access checks, and broad-audience safeguardsUI + UX - Existing-entity lookup and selected-object confirmationUI + UX - Durable user-opened notification history and action drawerUI + UX - Catch-up stream of recent collaboration and work events with actor, verb, object, type, destination, and triage controlsUI + UX - Durable permission administration for users, groups, roles, inherited access, effective access, and revocation
UI guidance 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.Give each control a clear label and visible state.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 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.Show mention suggestions at the caret with names, handles, avatars, teams, channels, availability or scope hints, permission warnings, and keyboard-highlight state; distinguish exact matches, ambiguous display names, unavailable recipients, and broad-audience mentions.Show enough fields to distinguish same-named objects before selection, and keep the selected object preview visible after the popup closes so the submitted entity can be inspected.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 activity feed as a typed event stream where each item names the actor or source app, action, object, workspace or channel, timestamp, preview, event type, read or cleared state when supported, and a stable destination for follow-up.Render permission sharing as an access-management surface with the protected resource, current direct grants, inherited grants, groups, guests, anonymous or link access, role or permission level, effective access, pending changes, and revoke or save actions.
UX guidance Make assignment changes traceable and reversible enough for teamwork: explain who owns the item now, who was notified, whether the assignee can act, what changed in assigned-to-me views, and what happens to existing watchers, reviewers, collaborators, or queues.Use task list when users need to scan a known set of service tasks, understand what each task is, choose a task to start or resume, and see each task's current status.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.Make the approval route understandable over time: who has the request, what decision is needed, what happens on approval or rejection, what blocks self-review, and where the requester can revise or withdraw.Use mentions when a user needs to call attention to a person, team, channel, role, or group from inside a message, comment, task, document, issue, or thread while keeping the reference embedded in the authored content.Use an object picker when the user must choose an existing entity whose identity matters beyond the displayed label, such as a record, person, group, account, file, team, project, or workspace.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.Protect attention by grouping low-value repetition, preserving meaningful actors and destinations, distinguishing mention/reply/reaction/app/reminder/project-change types, and routing audit evidence, long-form content, and live status elsewhere.Use permission sharing when authorized owners or admins need to grant, change, audit, or revoke durable access to a space, site, repository, folder, project, board, dataset, environment, or sensitive object.
Good UI 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 task list row for Upload evidence shows the task name, a short hint, a linked row, and a Needs attention status with the unavailable reason in the row text.A moderation queue has Held, Likely spam, Reported, and Escalated tabs, row evidence, policy reason, reviewer claim state, approve/remove/escalate actions, and bulk-action preview.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 comment composer opens a suggestion list after @, shows people and teams with avatars, handles, access labels, and keyboard focus, then inserts a mention chip for Priya Rao.A Related account field shows two Acme Retail records with account ID, region, status, and owner, then displays a selected-object preview card before saving.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 team activity feed shows Priya mentioned you in #refunds, Build bot marked release-128 failed, Maya reacted to your handoff note, and Rahul merged PR #742, each with icon, timestamp, preview, type filter, and Open action.A repository access page lists teams, outside collaborators, deploy keys, and direct users with Read, Triage, Write, Maintain, and Admin roles, showing that only Admin can manage access.
Bad UI Automatic assignment points to a stale default owner.A task list uses uppercase button-like status pills and users click the status instead of the row.The most urgent or oldest item is buried by default sort.A stale email approval applies to a request version that has changed.Mention chips break when copied, pasted, edited, localized, or rendered in plain-text fallbacks.A text field accepts Acme Retail as free text even though the backend needs a record ID.Users ignore the center because duplicate low-value messages inflate the badge.A feed includes every presence heartbeat and typing event, making mentions and failed deployment events impossible to find.A permissions page shows only individual names and Remove buttons even though group membership and parent folder inheritance still grant access.
Good UX 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 five task rows, sees that Financial history is incomplete, selects anywhere on that row, completes the section, and returns to find the row status changed to Completed.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 finance approval requires both manager and controller approval; the first approval advances the sequence, a rejection stops downstream processing, and the requester sees the exact rejection reason and revise action.A user mentions @Dana in a private incident note, sees that Dana lacks access, chooses Invite and mention, and the resulting notification opens the exact note.A user searches Acme, compares two same-named records by region and status, selects the active EMEA account, and reviews the selected account ID before saving.Opening the notification drawer clears the new-notification badge while unread items remain available for later triage.A user filters Activity to mentions and replies, answers one thread inline, clears low-value reactions, saves a custom view for VIPs, and opens a deployment failure in the source app.A space admin removes Maya from a direct grant but sees she still has View through the Contractors group, so they remove the group grant or ask a site admin to update group membership.
Bad UX An automatic assignment silently routes every new component issue to a former maintainer and leaves the team with stale ownership.A completed row has the strongest colour treatment, so users repeatedly revisit it instead of incomplete rows.A reviewer marks a pull request reviewed from an old queue row after the author pushed new commits and re-requested review.The first approver clicks Approve and the system marks the whole request approved even though policy required everyone to approve.A mention notification opens the record homepage rather than the exact comment sentence, forcing the recipient to search for why they were pulled in.A user picks the first Acme result because every row looks identical, then links the case to the wrong account.Users mark all notifications read and lose the only record of an export job they still need to download.A user clears a notification in Activity but the notification center badge stays out of sync and the same event reappears as unread.A repository admin removes a collaborator but forgets a deploy key with write access because the access page treated machine credentials as unrelated settings.
Best fit A user must set, change, or clear who is accountable for a work item.A page needs to display a known set of tasks with status and links to start or resume them.A team or individual repeatedly reviews many independently queued items.A submitted request needs authorized approval before a deployment, purchase, access grant, publication, content change, policy exception, financial action, or workflow step can proceed.Composed content needs to target people or groups inline.Users assign, link, reference, invite, route, or attach an existing entity.Users receive multiple asynchronous updates across objects, jobs, collaborators, approvals, or reminders.Users need to catch up on recent collaboration, app, repository, channel, project, meeting, reminder, or task activity.Owners or admins need to manage durable access to spaces, sites, repositories, projects, folders, datasets, boards, environments, or sensitive objects.
Avoid when The user only needs to mention or notify someone in conversation.Users are browsing arbitrary records rather than completing a fixed set of service tasks.The task is a single request moving through a governed approval route.The user only needs to check their own answers before submission.The user is selecting a structured owner, assignee, approver, or recipient field outside written content.Any arbitrary text is valid.The product has only occasional current-action feedback that a toast or inline status can handle.The surface is primarily content consumption, media browsing, or article-like stream reading.The user is requesting access after denial rather than administering access.
Required state Unassigned item state.Linked startable task row.Queue loading and count stateDraft or submit-ready request handoff stateHighlighted suggestion, keyboard-selected suggestion, mouse or touch-selected suggestion, and inserted mention token.Empty object lookup field with label, helper text, and current search scope.Closed entry-point state with zero, new-unseen, and unread-but-seen counts.Default feed state with actor, verb, object, timestamp, source, type icon, preview, scope, and destination for each activity item.Default access list state with users, groups, guests, anonymous access, roles, and effective access.
Accessibility burden Label the assignment field with the current assignee, item name, and responsibility meaning.Use list semantics for the collection of task rows and clear heading structure for grouped task lists.Use labelled queue name, count, filters, sort, group, row status, selection, preview, and action controls.Use labelled request summary, approver, status, due date, decision, comment, and history regions.Expose the suggestion list as a labelled popup tied to the editor and announce the number of available mention targets.Give the lookup field a persistent label and helper text that explains the expected object type.Announce new notification arrival with status semantics when appropriate, but avoid interrupting users repeatedly for low-priority center items.Give the activity feed a heading and expose the current filter, layout, and unread or cleared state in text.Use labelled tables or grids with column headers for principal, source, role, capability, status, and actions.
Common misuse Treating a mention as an assignment.Using task list as an answer summary.Treating review queue as approval workflow and hiding many-item workload controls.Treating the first approval as final when the rule requires more approvers.Treating a mention suggestion list as a generic people picker and ignoring caret position, inline serialization, and notification side effects.Treating the picker as a free text field when the system requires an existing object ID.Treating the badge count, unread count, and total notification count as one number.Dumping every low-level system event, presence update, typing event, or cursor movement into the feed.Showing only direct users while group or inherited access remains active.

Assignment

UI or UX
UI + UX - Responsibility control for assigning a work item to eligible people, teams, roles, bots, or no owner
UI guidance
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.
UX guidance
Make assignment changes traceable and reversible enough for teamwork: explain who owns the item now, who was notified, whether the assignee can act, what changed in assigned-to-me views, and what happens to existing watchers, reviewers, collaborators, or queues.
Good UI
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.
Bad UI
Automatic assignment points to a stale default owner.
Good UX
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.
Bad UX
An automatic assignment silently routes every new component issue to a former maintainer and leaves the team with stale ownership.
Best fit
A user must set, change, or clear who is accountable for a work item.
Avoid when
The user only needs to mention or notify someone in conversation.
Required state
Unassigned item state.
Accessibility burden
Label the assignment field with the current assignee, item name, and responsibility meaning.
Common misuse
Treating a mention as an assignment.

Task list

UI or UX
UI + UX - Component-level list of linked task rows with names, hints, and statuses
UI guidance
Give each control a clear label and visible state.
UX guidance
Use task list when users need to scan a known set of service tasks, understand what each task is, choose a task to start or resume, and see each task's current status.
Good UI
A task list row for Upload evidence shows the task name, a short hint, a linked row, and a Needs attention status with the unavailable reason in the row text.
Bad UI
A task list uses uppercase button-like status pills and users click the status instead of the row.
Good UX
A user scans five task rows, sees that Financial history is incomplete, selects anywhere on that row, completes the section, and returns to find the row status changed to Completed.
Bad UX
A completed row has the strongest colour treatment, so users repeatedly revisit it instead of incomplete rows.
Best fit
A page needs to display a known set of tasks with status and links to start or resume them.
Avoid when
Users are browsing arbitrary records rather than completing a fixed set of service tasks.
Required state
Linked startable task row.
Accessibility burden
Use list semantics for the collection of task rows and clear heading structure for grouped task lists.
Common misuse
Using task list as an answer summary.

Review queue

UI or UX
UI + UX - Actionable queue for triaging many items that need human review
UI guidance
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.
UX guidance
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.
Good UI
A moderation queue has Held, Likely spam, Reported, and Escalated tabs, row evidence, policy reason, reviewer claim state, approve/remove/escalate actions, and bulk-action preview.
Bad UI
The most urgent or oldest item is buried by default sort.
Good UX
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.
Bad UX
A reviewer marks a pull request reviewed from an old queue row after the author pushed new commits and re-requested review.
Best fit
A team or individual repeatedly reviews many independently queued items.
Avoid when
The task is a single request moving through a governed approval route.
Required state
Queue loading and count state
Accessibility burden
Use labelled queue name, count, filters, sort, group, row status, selection, preview, and action controls.
Common misuse
Treating review queue as approval workflow and hiding many-item workload controls.

Approval workflow

UI or UX
UI + UX - Routed decision workflow for requests that require authorized approval
UI guidance
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.
UX guidance
Make the approval route understandable over time: who has the request, what decision is needed, what happens on approval or rejection, what blocks self-review, and where the requester can revise or withdraw.
Good UI
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.
Bad UI
A stale email approval applies to a request version that has changed.
Good UX
A finance approval requires both manager and controller approval; the first approval advances the sequence, a rejection stops downstream processing, and the requester sees the exact rejection reason and revise action.
Bad UX
The first approver clicks Approve and the system marks the whole request approved even though policy required everyone to approve.
Best fit
A submitted request needs authorized approval before a deployment, purchase, access grant, publication, content change, policy exception, financial action, or workflow step can proceed.
Avoid when
The user only needs to check their own answers before submission.
Required state
Draft or submit-ready request handoff state
Accessibility burden
Use labelled request summary, approver, status, due date, decision, comment, and history regions.
Common misuse
Treating the first approval as final when the rule requires more approvers.

Mentions

UI or UX
UI + UX - Inline recipient reference with autocomplete, stable recipient identity, notification routing, access checks, and broad-audience safeguards
UI guidance
Show mention suggestions at the caret with names, handles, avatars, teams, channels, availability or scope hints, permission warnings, and keyboard-highlight state; distinguish exact matches, ambiguous display names, unavailable recipients, and broad-audience mentions.
UX guidance
Use mentions when a user needs to call attention to a person, team, channel, role, or group from inside a message, comment, task, document, issue, or thread while keeping the reference embedded in the authored content.
Good UI
A comment composer opens a suggestion list after @, shows people and teams with avatars, handles, access labels, and keyboard focus, then inserts a mention chip for Priya Rao.
Bad UI
Mention chips break when copied, pasted, edited, localized, or rendered in plain-text fallbacks.
Good UX
A user mentions @Dana in a private incident note, sees that Dana lacks access, chooses Invite and mention, and the resulting notification opens the exact note.
Bad UX
A mention notification opens the record homepage rather than the exact comment sentence, forcing the recipient to search for why they were pulled in.
Best fit
Composed content needs to target people or groups inline.
Avoid when
The user is selecting a structured owner, assignee, approver, or recipient field outside written content.
Required state
Highlighted suggestion, keyboard-selected suggestion, mouse or touch-selected suggestion, and inserted mention token.
Accessibility burden
Expose the suggestion list as a labelled popup tied to the editor and announce the number of available mention targets.
Common misuse
Treating a mention suggestion list as a generic people picker and ignoring caret position, inline serialization, and notification side effects.

Object picker

UI or UX
UI + UX - Existing-entity lookup and selected-object confirmation
UI guidance
Show enough fields to distinguish same-named objects before selection, and keep the selected object preview visible after the popup closes so the submitted entity can be inspected.
UX guidance
Use an object picker when the user must choose an existing entity whose identity matters beyond the displayed label, such as a record, person, group, account, file, team, project, or workspace.
Good UI
A Related account field shows two Acme Retail records with account ID, region, status, and owner, then displays a selected-object preview card before saving.
Bad UI
A text field accepts Acme Retail as free text even though the backend needs a record ID.
Good UX
A user searches Acme, compares two same-named records by region and status, selects the active EMEA account, and reviews the selected account ID before saving.
Bad UX
A user picks the first Acme result because every row looks identical, then links the case to the wrong account.
Best fit
Users assign, link, reference, invite, route, or attach an existing entity.
Avoid when
Any arbitrary text is valid.
Required state
Empty object lookup field with label, helper text, and current search scope.
Accessibility burden
Give the lookup field a persistent label and helper text that explains the expected object type.
Common misuse
Treating the picker as a free text field when the system requires an existing object ID.

Notification center

UI or UX
UI + UX - Durable user-opened notification history and action drawer
UI guidance
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.
UX guidance
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.
Good UI
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.
Bad UI
Users ignore the center because duplicate low-value messages inflate the badge.
Good UX
Opening the notification drawer clears the new-notification badge while unread items remain available for later triage.
Bad UX
Users mark all notifications read and lose the only record of an export job they still need to download.
Best fit
Users receive multiple asynchronous updates across objects, jobs, collaborators, approvals, or reminders.
Avoid when
The product has only occasional current-action feedback that a toast or inline status can handle.
Required state
Closed entry-point state with zero, new-unseen, and unread-but-seen counts.
Accessibility burden
Announce new notification arrival with status semantics when appropriate, but avoid interrupting users repeatedly for low-priority center items.
Common misuse
Treating the badge count, unread count, and total notification count as one number.

Activity feed

UI or UX
UI + UX - Catch-up stream of recent collaboration and work events with actor, verb, object, type, destination, and triage controls
UI guidance
Render activity feed as a typed event stream where each item names the actor or source app, action, object, workspace or channel, timestamp, preview, event type, read or cleared state when supported, and a stable destination for follow-up.
UX guidance
Protect attention by grouping low-value repetition, preserving meaningful actors and destinations, distinguishing mention/reply/reaction/app/reminder/project-change types, and routing audit evidence, long-form content, and live status elsewhere.
Good UI
A team activity feed shows Priya mentioned you in #refunds, Build bot marked release-128 failed, Maya reacted to your handoff note, and Rahul merged PR #742, each with icon, timestamp, preview, type filter, and Open action.
Bad UI
A feed includes every presence heartbeat and typing event, making mentions and failed deployment events impossible to find.
Good UX
A user filters Activity to mentions and replies, answers one thread inline, clears low-value reactions, saves a custom view for VIPs, and opens a deployment failure in the source app.
Bad UX
A user clears a notification in Activity but the notification center badge stays out of sync and the same event reappears as unread.
Best fit
Users need to catch up on recent collaboration, app, repository, channel, project, meeting, reminder, or task activity.
Avoid when
The surface is primarily content consumption, media browsing, or article-like stream reading.
Required state
Default feed state with actor, verb, object, timestamp, source, type icon, preview, scope, and destination for each activity item.
Accessibility burden
Give the activity feed a heading and expose the current filter, layout, and unread or cleared state in text.
Common misuse
Dumping every low-level system event, presence update, typing event, or cursor movement into the feed.

Permission sharing

UI or UX
UI + UX - Durable permission administration for users, groups, roles, inherited access, effective access, and revocation
UI guidance
Render permission sharing as an access-management surface with the protected resource, current direct grants, inherited grants, groups, guests, anonymous or link access, role or permission level, effective access, pending changes, and revoke or save actions.
UX guidance
Use permission sharing when authorized owners or admins need to grant, change, audit, or revoke durable access to a space, site, repository, folder, project, board, dataset, environment, or sensitive object.
Good UI
A repository access page lists teams, outside collaborators, deploy keys, and direct users with Read, Triage, Write, Maintain, and Admin roles, showing that only Admin can manage access.
Bad UI
A permissions page shows only individual names and Remove buttons even though group membership and parent folder inheritance still grant access.
Good UX
A space admin removes Maya from a direct grant but sees she still has View through the Contractors group, so they remove the group grant or ask a site admin to update group membership.
Bad UX
A repository admin removes a collaborator but forgets a deploy key with write access because the access page treated machine credentials as unrelated settings.
Best fit
Owners or admins need to manage durable access to spaces, sites, repositories, projects, folders, datasets, boards, environments, or sensitive objects.
Avoid when
The user is requesting access after denial rather than administering access.
Required state
Default access list state with users, groups, guests, anonymous access, roles, and effective access.
Accessibility burden
Use labelled tables or grids with column headers for principal, source, role, capability, status, and actions.
Common misuse
Showing only direct users while group or inherited access remains active.
Decision rules
  • Choose assignment when the user must set, change, clear, or inspect the responsible person, team, bot, or role for one work item, issue, pull request, document comment, task, or ticket.
  • Choose task list when the surface is a known set of rows with task names, hints, and completion statuses; assignment may be a field inside a row but does not define the task-list component.
  • Choose review queue when reviewers need to process many queued items with claim, assignment, SLA, preview, stale-row checks, and bulk actions; assignment is only one queue action.
  • Choose approval workflow when the assigned person is making an authorized approve/reject decision on a submitted request rather than becoming the accountable owner for doing the work.
  • Use mentions when the user is drawing someone's attention in a conversation; a mention becomes assignment only when it creates or changes a clear responsibility record.
  • Use object picker for the reusable person or team selection control, but assignment additionally needs eligibility, current owner, notification, due date, workload, reassignment, unassignment, and audit behavior.
  • Use notification center or activity feed to announce assignment changes, but keep the source of truth on the work item or assignment record.
  • Use permission sharing when the change grants access or role capability; assignment should not imply the assignee gained the required permission unless the product explicitly grants it and warns about that side effect.
  • Assignment controls must show current assignee, eligible candidates, responsibility semantics, multi-assignee limits, self-assign, automatic assignment, unassigned state, reassignment reason, and notification outcome.
  • Reassignment must preserve work context, expose handoff notes or reason when needed, prevent assigning ineligible or overloaded users when policy requires it, and synchronize assigned-to-me views and activity notifications.
Inspect live examples
Failure modes
  • A user mentions a teammate and assumes work was assigned, but no assignment record, notification, or assigned-to-me entry is created.
  • An issue is assigned to a person without the permission or role needed to act on it.
  • A bulk assignment changes hidden selected items without previewing count, current owners, or exceptions.
  • Automatic assignment silently chooses a default owner that no longer matches the component, team, or workload.
  • Reassignment erases the previous owner, reason, or handoff context, making accountability unclear.
  • A review queue treats claim, owner, reviewer, approver, and assignee as one field and routes work to the wrong person.

Saved items