Context: I'm working on a flow in which the user is requesting information from the some or all of their personnel (Displayed below as Info A, Info B, or Info C).

The user needs to be able to request some or all information, from some or all of a group. They also need to be able to make a request to select individuals for some or all of the information. These requests will be sent to the selected individuals.

I'm torn between two approaches.

One flow where all groups are displayed, expandable, and info options are given for each.

enter image description here

And another where I use an inline multi-select input, where users can expand groups and deselect a chip if it't not needed for an individual.

enter image description here

Both approaches give the user the option to make a custom request, where they can search or filter to a select few, and make a one-off request.

Question: I only ever see multi-select inputs used for filtering, or adding tags. Is it a good practice to use it like this? My team prefers option 2, as it gives the user the most flexibility, but I've never really seen multi-select inputs used in this way.

  • I don't understand what will the chips do when selected or deselected, for instance, what is it supposed to happen after I remove a chip or how will the system respond to this behavior?
    – Devin
    Commented Aug 23, 2023 at 16:47
  • See the last row in Group 1 in option 2. If I remove a chip, that means I don't need that piece of information from that person, and the group input changes to "Mixed".
    – Michael
    Commented Aug 23, 2023 at 16:49
  • yes, I understood that. What I mean is what is this for. Is just to remove variables and then they are saved? Basically: what happens once you click on continue? Is it a search? something else? I see you said "These requests will be sent to the selected individuals", so I assume there's some important process happening, taht's what I'd like to know since the answer varies depending on that
    – Devin
    Commented Aug 23, 2023 at 16:53
  • Yea, this is a request information flow. As in, I am requesting information from you like dietary restrictions, airline preferences, passport information, etc. You would get a notification with the requested details and send them back. In this case, an admin is requesting that type of information from their personnel, which is split into groups. The challenge is, they might only need some information from a certain individual and all the information from another. The admin needs to be able to do all of this refinement and send in one go.
    – Michael
    Commented Aug 23, 2023 at 16:58
  • No controls are reserved for one specific scenario. Controls, even rarely seen ones, are building blocks and we can use them whenever the use cases are right. Commented Aug 24, 2023 at 4:51

1 Answer 1


OK, your second approach is nice, more elegant, and takes less space.

However, you need to consider the following: there must be a way to bring back the chips if needed. For example, if a chip was accidentally deleted, there has to be a mechanism to bring them back without reloading. The usual method for this type of situation is a predictive search box, but then you'll have an additional row (unless you make that multiselect container a predictive box, which is quite common as well).

In short, as long as you can recover from mistakes (see rule #6), your second option looks really nice. It also offers a quick eye scan that you wouldn't have in the case of checkboxes (like in your first image).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.