How to allow an Existing User to Join a Team

Hi all!

In my sign up process, I have an option for a new user to invite other users to join their team. The invited user gets an email with a link to join their team. How do I allow already existing users to join another users team? Every time I try to sign up an invited user with an existing email, it throws an error.

If a user in your app already exists using an email address you are using to try and create a new user account you will get that error.

If your ‘team’ is a data type, you can easily relate a user that is already signed up to your application to a ‘team’ they get invited to. Same way you are sending the link, which probably contains parameters to pass the data about the team, but instead of making workflows to sign the user up to your app (create a new user account), have them signin to their account and then run the workflows to make changes to the ‘team’ data type and add the current user to the team.

Hey @boston85719 & @lewis.rachelt

I found myself in a similar situation. I’m in the last steps of finishing an app, the only thing I need to do is for users to invite external collaborators on specific projects.

If these external collaborators aren’t signup, they must sign up to access the project page, and if they are already signed up, they are taken straight to the page…

I can’t find the way to do it. Would you be willing to give me a hand?

Thank you so much in advance.

Send an email with a link to the page that has a parameter that is the users email address…use the parameter value in your workflows and conditionals to determine if the user is a registered user or not and determine if it should be autmatically login or request signup.

@boston85719 thank you so much for getting back to me so quickly. Truly appreciate that mate.
I must say I am not sure to totally understand the logic behind this with the user email address in the page parameter…

However, what I’ve done so far is the following (with an example):

1°) Consider a data ‘PROJECT’ in the database with slug = name of project.
2°) A project has a corresponding page URL https://nameofapp.io/project_page/slug
3°) on this page, a user can invite other users to join the project by clicking on a button ‘INVITE USERS’. Once they click on this button, an email is sent to the invited user.
4°) the invited user receives an email with a link which brings him to a new page URL (type: project): https://nameofapp.io/project_signup_page/slug
5°) This page displays a signup form for the new user to signup. Once done, the workflow is the following ‘Sign the user up’ > ‘Make changes to PROJECT’ > user_assigned add Result of step1.
6°) Then, on the initial project page https://nameofapp.io/project_page/slug, the user appears in a the corresponding RepeatingGroup with data source = list of user_assigned.

So it seems quite different than what you explained to me…
I actually tried to follow the latest video from Buildcamp about Team invitations and replacing Team by the Project page.
But in his video, what I don’t understand is the new page that we have to create for the invited user to signup… What’s the point of creating a new signup page when I already have one?

Thank you so much for your time @boston85719

I’m not really sure. I have never watched that video and am not familiar with what they did.

Check out what URL parameters are and how to pass data between pages…that should help clarify a bit about what I explained as to how I would approach your situation. A URL parameter is basically a way to store some data values in the URL the same way the ‘slug’ path can do.

Hey @boston85719, you’re super helpful on here! I’ve setup a workflow like you suggested. Hopefully you could give me some insight to an issue I ran into.

My workflow to join a team for an existing user goes like this

Step 1 - Log the user in

Step 2 - Make changes to the Company (which would be same as Team)

Step 3
Make changes to user

Step 4 Go to launchpad.

My Problem: The app data for Step 2 & 3 don’t show up in the app data. I’m very confused at this point.

There might be privacy rules set on the data types…check there first. Then check using the debugger evaluator in a step by step mode the values that are evaluated to see if the data is correct or even present.

This topic was automatically closed after 70 days. New replies are no longer allowed.