Display user choice to all, with button that is user specific

Trying to build an app to help a group schedule who is or isn’t going to show up to a weekly game. What I want is for the user to be able click a button that basically toggles whether they are “in” or “out”. I want all users to see who has responded “in” or “out”.

So when they go on the app, it shows a form or button for that week’s game and they can click a choice selection or button saying whether they are in or out, and then below that, it shows who has 1. Responded ‘in’. 2. who has responded ‘out’. 3. Who hasn’t responded. Ideally this list is grouped by 1, 2 and 3.

Unless I’m missing something, that’s harder than I expected. You can create a user specific column that automatically records the choice specific to them as the signed-in user. But you can’t display data to all users from user specific columns. Right? I suppose you could have a form where they put in their name and then the answer of in/out. But I was hoping for a one click solution that can be easily toggled if they change their mind (rather than opening an edit screen) that doesn’t have the variable that they misidentify themselves or record a response for someone else.

So I’m trying to think if there is a way to write their choice to a column (or row) that will be displayed to all users, possibly by grabbing their user name or email address and writing it to a row. Would it be to an array that gets split later? I’m not sure… It’s either not easy, or I’m missing something super simple. I hope it’s the latter.

Hi,

Maybe this discussion can help you to start

Two questions:

  • Are you using Row Owners in your User Profiles table?
  • Do you need to maintain a record of past responses, or do you only care about the next scheduled game?

Hi.

Mostly care about the next scheduled response, so happy to hear options that don’t rely on saving the prior ones. As for row owners, while I’ve used “Column is user specific” when creating a column, I haven’t explored row owners. So any thoughts on that would be great.

I’ll dig into this.

Okay, so if you’re not using row owners, then probably the simplest option would be to have a boolean column in your User Profiles sheet, and then present a checkbox to each user.

  • If the value is true, they are in
  • If the value is false, they are out
  • If the value is empty, they haven’t responded

Thinking about it a bit more, you’d probably want to combine that with a date/time (“Response Time”) column so you can filter out “stale” responses (ie. responses from previous events).

So… on your screen you might present a button bar component

  • Left Button: “I’m In!”
  • Right Button: “I’m Out!”

(make sure you filter the screen “where email is signed in user” - this will ensure that all responses are written to the correct rows)

And each button will have a two step action attached.

  • Step 1: Set Columns on the boolean (true for in, false for out)
  • Step 2: Set the last response time to the current date/time

In the Data Editor, you’ll probably need a few columns:

  • A math column to determine the first day of the current week. If your week starts on Monday, the following will work:
Now+MOD(8-WEEKDAY(Now),7)-6-HOUR(Now)/24-MINUTE(Now)/1440-SECOND(Now)/86400
  • An if-then-else column to check when they last responded
    • If last response is on or after first day of week, then use the response (true or false)
    • Else blank (they haven’t responded this week)

And then finally, you can do a rollup on that if-then-else column to summarise your responses.

  • count true: those that are in
  • count false: those that are out
  • count empty: those that haven’t responded

Thanks @Darren_Murphy and @gvalero. The multi check solution is not quite what I need here but provides a possible solution on another project, so I’m glad you shared that.

@Darren_Murphy: filtering the screen by the signed in user was the missing ingredient. Could not figure out how to record the choice to the right user! Thanks for that!!