How can I allow a user to invite a “team” that can view their data. For example, a coach would create a schedule. I’d like the coach to be able to invite players to view this unique schedule via email, effectively creating new users of the app. My goal for now is to keep this relatively simple:
Allow users to create a team with players who belong to the team. Perhaps some type of roster functionality in glide similar to the screenshot
I am also working on an app for teams, and imagine that I can implement invitations the following way:
make a table for teams, each row a team. Headers need to be member1, member2, member3,…
coach with admin rights, sets up team name during onboarding.
coach can invite others via a webhook action, which fires after a form with new team members’ email addresses was submitted, and which is captured in zapier or integromat, which in turn sends the invitation email.
for all new rows that only one and no other team should see, the email addresses of members 1-X need to be looked up in google sheets (through an array formula), and row owners need to be activated in those email address columns in glide.
Thanks Gregory! Getting familiar with Glide and helps a ton to have the community.
I started working on an implementation similar to @Robert_Petitto method of creating private leaderboards. Hopefully this will work, but I haven’t quite finished yet so would be great to get your thoughts or anyone else.
The goal is to use the invite code functionality for a different use case to invite and create this shared view for teams instead of private leaderboards. Perhaps this will help you as well or give you an alternative.
I’d love to know if anyone has had success with this or any other method for what Gregory and I are looking to accomplish.
Thanks @Robert_Petitto! One challenge I had was how to properly submit multiple emails in the same form. Previously I added several “Email Entry” fields to a form and saw the error “Another component is already writing to this column”.
Do I need to structure it differently to accomplish this? Right now the issue may be that I am mapping this to @Email incorrectly.
Really appreciate you pointing me in the right direction either way. Thanks!
No great way to do this yet in Glide…just need to do it one at a time. The other hacky option is that you can add multiple addresses via comma separated list. Use a split column in the form submissions sheet and then you can relate the user to the split column…only issue is that removing a user from the CS list is tricky.
Makes sense thanks. Any thoughts on another hack option: Could I use text entry fields instead? Wondering if I could simply title them “Player 1 Email”, “Player 2 Email”, etc. and then perform some type of relation in Glide to ensure they are stored as emails. Not sure if this is even possible? And clearly a limitation I’d have to accept as a trade off would be the lack of proper email validation.
Ehhhh…it’s hairy. If anything, you could create a custom “form” using email entry fields to user specific columns, concatenate them using a template column and then submit that to the “Team Players” sheet…but you’d still run into the issue of removing them from the team if needed. There’s a complicated solution using the Trebuchet method:
Eliminate the form, use a show new screen action and write the comma-separated list of emails to a user-specific column.
The submit button takes the data to a webhook, then split it in Integromat.
Use an iterator module to iterate through that list of emails, each sending an invitation email (email module) and then add them to User Profiles table (Sheets module).
It might be tricky to add a name in there, maybe a structure like.
Email 1 - Adam, Email 2 - Alex
Then before each email module we transform the data of Email 1 - Adam again to split the email and the name on its own.
I really appreciate everyone jumping in and responding. I’ll take a look at the comma-separated method with Integromat.
I’m also debating if it makes sense to simplify the process and allow the person who created the schedule to email/text everyone else on the team some type of link to the app. Then anyone who receives this link could view the schedule created by the initial user after setting up their own user profile on Glide.
Instead of setting up a team on the front end we’d essentially create a “team” as each new user creates an account on glide to view the schedule.
In some ways I like this approach as it could make the invite process easier.
What would be the best way to implement this?
And are there any major downsides compared to the comma-separated method with Integromat?
Thinking it could be a simple text description telling the user to send a link to everyone on their team via email or text allowing them to control the invite process.
Some questions I have are:
What link would they share?
How can we then ensure each new user signs up with their name and email and can then immediately view the schedule for the team shared with them?