Synchronising Item Fields with User Profile fields (Question)

Hi, Glide Community!

I’m working on an app that will allow users to track their device repairs in my small computer / phone repair shop.

I’d love to know if there’s a way I can automatically update the user’s items in the “Repairs” table, when they edit the email on their user profile, stored in the “Users” table

Many thanks

Ryan

Are you then trying to see all the repairs that a user has? If so check out the relations column and how to set it up here: https://docs.glideapps.com/all/product/data-editor/relations

What you could do is have a relation column linking a user’s Row ID to a column that matches their Row ID in the repairs column. You could set this so that every time a repair is added for a particular customer, that the ID from their user profile is added. This way even if they change their email, name, or otherwise, you will still see the repairs for that user.

2 Likes

Also, I would not advise allowing a user to change their email. This can have bad consequences on their experience of using the app, because a profile might be deeply linked to the signed-in user’s email. I’m not sure if user-specific columns are linked or not.

Thanks for your reply, justinjmp, I have a relation setup between the tables “users” and “repairs”, the “repairs” table is used to populate repair tracking pages that are sent by links in SMS updates, what I’m hoping to achieve is updating the email address for any matching “repairs” items when the user updates their profile (if they’ve signed into the Glide Page using the email matched in the “Repairs Table”). I’d be open to using automation tools such as Zapier or Make, to make it happen if needed.

I forgot to mention that we collect the repair leads to populate the “repairs” table from an onboarding form that can be used be either signed in or signed out users (to reduce friction)

So how do you link things when signed out users populate the form? I assume you let them type in their email?

Correct :slight_smile: Users input into a form which feeds “Repairs” and “Users” with the email

If you want “cascading edit”, then it would have to be Make/Zapier.

  • Create a “temporary email” user-specific column in your users table.

  • When users click the “Edit” button, set the real email column’s value to that temporary email column.

  • Allow users to edit that temporary email column.

  • Use an on submit action, first to send to Make/Zapier the original email column, and the “temporary email” column, only if those values are different.

  • Next step in Make: use a search row function for Google Sheets (assuming you’re using Google Sheets as your backend), search for the original email value in your “Repairs” table, then use an “Update Row” column to update the email value to the “temporary email” value (the new value).

  • Back to Glide, add a step to set the value of “temporary email” to the real email column to complete the flow.

1 Like