User profile info block: Email field is not allowing edits

Hey Softr,

I am working on introducing a user profile page to my app.

As a user, I am not able to change my email address. Why can that be happening?

I have mapped the users list in Airtable (Name > First Name and added a custom field of Last Name). They work fine. But not the email address although it’s properly mapped to an email field in the user list.

Attaching a screenshot.

Hi @Tanzi yes, changing the email address is not possible because doing so will disrupt the sync, and a new user will be created instead, causing the old credentials not to work and the data of old user not being associated with the new one

Any workarounds on this?

This is kind of problematic in my case, I’m working in a educational program and the users are being created by other users who oftenly mis-type the emails… As I’m the one managing both the database and the Softr app, I’m frequently asked to “modify the emails”, which is basically going to the database, changing the email, then duplicating the record, erasing the old one and finally sending the new credentials to the end user… Obviously too time-consuming considering it’s an app with around 1000 users and growing, not to mention rude users with smart phrases like “I can’t even change my email? what kind of shi**y app is this?”

Anyway… If anybody has creative ideas to work this out, it will be highly appreciated.

OK, problem solved.

I managed to do something that’s working thru an automation, i don’t think it’s ideal, but it does the job, it’s basically the same workflow I explained above, but automated and with a couple of tweaks.

So, in the profile page of my app, I inserted a button (edit record) with the label “modify email”. The button does two things, it modifies the email and checks a box in my database (the checkbox is a hidden field within the “modify email” button).

Then in Airtable, I configured an automation (when a record enters a view), being the view my users table with a filter of this checkbox checked, create a new record, (I had to manually add every single field and program it so it’s dynamically filled with the data of the record that triggered the automation), finally run a script that deletes the old record.

In the Softr app I did also two things, I changed the setup of the profile page so it shows the data of the user based on the name, not the email, if not, the page would go blank after modifying the email, also, I modified the output message of the button as “please sign in again to see the changes”.

I tried the workflow with different sample users and works nicely, the end user won’t know a thing, sad part of it is that any changes, or new fields or deleted fields to my user table will cause problems to the automation, so I need to keep an eye on it.

// Get the record ID that triggered the automation
let inputConfig = input.config();
let recordId = inputConfig.recordId;

// Fetch the table
const table = base.getTable('Usuarios');

try {
    // Delete the record
    await table.deleteRecordAsync(recordId);
    console.log('Record deleted successfully!');
} catch (error) {
    console.error('Error deleting record:', error);
}

Quick demo: User Data Update Process 👨‍💻 | Loom

PS: I tried to duplicate all the data from the original record thru an script and didn’t it made it, if anybody wants to jump in with a solution for that, I would appreciate it.

Hope that works for anybody running into the same problem,
Enjoy,