Event (Training Class) signup app

I’m brand new to the AppSheet platform (a G Suite customer) and am looking to set up a simple app, quickly, that will show a list of training courses and allow my users to sign up to attend a course.

I looked through sample apps and searched this community but didn’t really see anything that fit. Any suggestions for getting started? Can someone point me in the right direction?

Hi @Brian_Gorsky, welcome!

Would you like your course content to also be contained with your application, or do you have links to external course content that you’re trying to share with users?

No course content. The course is classroom based.

Create the app with related table structure where the course is the parent and sign ups are child records. Please check this article…

1 Like

@Aleksi - So if I wanted to have a list of Courses and each course have multiple sessions (same content but offered at multiple different dates and times), would the Course still be the parent, course sessions the child of that and then individual sign ups the child of course sessions?

If the session’s content is the same, they should be child of Course… meaning one Course can have multi sessions. Then individuals would be child of Sessions… meaning again that one session will have multi individuals. The same individual can join all sessions if needed. Probably not happening but in generally possible.

In creating the signup form in AppSheet, I want to pull the logged in users name into the NAME field and their email into the EMAIL field. I have successfully used USEREMAIL() as the initial value and that works. When I tried the USERNAME() variable for the initial value in the name field, the field disappeared from the form even though it is set to SHOW? in the table columns.settings.

I removed USERNAME() from initial value and hoped it would re-appear but it did not. Seems bizarre. Thoughts?


Set Editable? to ON to allow the column’s value to be set and allow the user to modify it; or set Editable? to the expression, FALSE, to allow the column’s value to be set but prevent the user from modifying it.

@Steve I’ve done that but the field still doesn’t show in the form preview

It’s possible USERNAME() doesn’t provide a name for your email address. The function can only provide what the authentication provider provides to AppSheet, and not all authentication providers supply names.

Then, if a column has no value and the column cannot be modified by the user because Editable? is set to OFF or its expression evaluates to FALSE, AppSheet will hide the column (unless the column’s Show? expression explicitly directs otherwise).

So, I’m guessing the column doesn’t appear because USERNAME() isn’t providing a result, rendering the column value blank, which AppSheet hides because you’ve indicated the user isn’t allowed to modify the value.

@Steve - That was it. When I made it editable, it showed back up.

That being said, how can I pull the username in to pre-populate the form with the logged in user? I was hoping to not have to create a table with a list of users and emails because I’d have to keep updating it when someone new came on or left.

1 Like

How about using Usersettings and asking user to fill the name in the app?

@Aleksi - I read the doc on USERSETTINGS() but I don’t really understand how it works. In the system we have set up now (using Google Forms, Sheets and a little bit of scripting), our users don’t have to enter their name or email and I was hoping to not add a step in the process by having them enter their name.

If there is no other way to do it, I would consider creating a table of users and referencing that.

@Brian_Gorsky Usersettings is like a virtual table that contains data from the user. All data is stored locally in your device and then you can use it with formulas. In generally your user needs to add that name only once in one device.

Thank you both. After reading through the doc’s (several times :smile:) and playing around for a few hours I’ve got this figured out.

Just to clarify though, this is app specific and would have to be configured for every app? Reason I ask is that I’m using usersettings to capture their name and phone number which I am probably going to need when I create other apps.

If I wanted to use this information across all my applications, could I create a user table with this information (name, phone number, ID number, etc.) and link it to multiple apps? Would there be any way to sync from the G Suite Directory API to generate this “table”?

Yes.

Yes.

I don’t know, myself.

@Steve - Thanks for clarifying.

@Aleksi - Can you answer this one?

Would there be any way to sync from the G Suite Directory API to generate this “table”?

If you mean that could you create a table into your app through API, I’m afraid that’s not possible at this moment.

1 Like

But if the table exists, could it be populated?