Help with Sign in flow to create profile

I would love to get some help setting up the sign in flow when a new user needs to create a profile.

How do I make sure that a new user that just signed in with their email lands on a profile creation page that makes sure to add the profile information to the same row.

I feel like I always mess up this part!

Do I want to make a new form screen with “set column values”?

You could create a tab that’s visible only when the profile is not complete, and filter the tab to the user’s row in the user profile table. Then from there you can either add a button to edit the row, or place entry components directly on the screen.

1 Like

Do you suggest I have a 1 tab for “no email - new sign in” and then a second tab for “email with incomplete profile” (and adjust visibility)

Or should I have 1 tab for both and adjust visibility for content on that one tab, having the form pop up only when the user signs in?

Either way could work I guess.

A single tab could work if you share a lot of elements between not signed in and signed in but profile not completed. I think you would probably have to rely only on the profile complete condition to control the tab visibility, and then any individual component visibility conditions.

Two tabs might be easier to maintain. One for user’s not signed in, and then another for users signed in but the profile is not complete.

Not much of an advantage either way. Just whatever feels easier to you.

1 Like

Hello :wave: Parts 4 and 5 would be of interest to you:

3 Likes

ok awesome! Thanks!!

1 Like

Thanks for sharing!

OK so my only problem now is that, after I sign in with my email, it doesn’t direct me to the right tab to make a homepage

It brought me back to the main explore page instead of one of these options:

Is there anything I can do to make it so that post sign in. the user goes where I need?

That new tab needs to be your first tab (top of the list). Assuming it’s only visible when users are not signed in or signed in without a completed profile, the app will always show the first tab first. Once the tab disappears, it will default to the next available tab in order.

3 Likes

OK so I moved the form to the first tab, filled everything out in the form, and made a custom action to set the column values and then navigate to their new dashboard.

But it won’t let me save it?


Just for clarification. I see you are using a Form Container. By their own nature, forms always add rows…unless of course it’s an Edit form which only updates an existing row. Shouldn’t you be updating the existing user row that was created when the user signed in? Is it possible that you are currently adding a duplicate row and setting the date in the original row? User profiles will always link up to that original row.

2 Likes

Ok gotcha, so I should make a custom screen that has entry components and then I assume I’ll need to make my own submission button? To update the existing row?

So far, the form screen wasn’t adding a new row. But interestingly it added the information I entered to the database even though I couldn’t actually hit the submit button

so either way, I’m doing something wrong here!

Yes, that would be correct, if you don’t want the user to have to click a button to open an edit screen, and instead want the tab to directly shown the form.

If your components are directly pointing to the actual columns in the actual user row, then you really don’t need a button since you are updating the column values in real time. But, a button is useful to set a timestamp or a boolean to signify that the user profile is complete so you can hide the tab. You can control when the final button is enabled by using visibility conditions or custom action conditions.

You could also have your “form” fill user specific columns and then use the button to move all of those user specific values into the the regular columns if you want your form to only fill the user profile when it’s completed.

1 Like

OK, I don’t know why sign up is so challenging for me. lol.

So I set up everything for the profile as edit components. I added a button in order to complete the profile set up, hide that page, and direct me to the dashboard page.


I press “save” and nothing happens

Is it safe to say that all of the values, as well as the Sign Up Date, are all getting filled in correctly for the correct user? What are the visibility conditions for the Create Profile tab?

I’m pretty positive the basic fields are correct, it’s pretty straightforward. However, the date/time isn’t registering when I press “save”. And that’s what indicates that the “profile isn’t complete” and makes the Create Profile screen go away.

Did I select the right thing for registering the date/time?

Can you show how one of the entry components is configured? Also, do you have any filters on the tab to filter to the correct user row?

Is there any chance that the date is being written to a different row?

OK I chcked the entries. They all go to ‘user profile’ and then the correct column

The entry is in the right row:

I don’t have a filter on the main tab, should I?

Ok, I think my theory might be correct then. You are writing directly to the user profile row, which would be the row of the signed in user, but your button is setting the date in This Row. If that tab is not filtered, it’s most likely overwriting the date in the first row of the table.

I recommend filtering the tab to the signed in user row. You can keep allowing your entry components to write directly through the user profile, or you can just select the columns from the table since it would be filtered to the correct row.

Once the tab is filtered, This Row will point to the correct row.

Ok you’re right! I checked the date/time of my first user row and it was changed to today.

So even though the entry components knew where to go bc I could pass it over to the ‘user profile’ data, the date/time column didn’t because I hadn’t filtered the main tab and there isn’t a way on the action button to do direct that?

just want to make sure I’m understanding it!!

But did I filter it correctly now?