2-way sync: Softr User Accounts

Softr User Account Management Issue


I’m posting this so that

  1. Other users might avoid my mistake if their staff/user table is used in a similar method as mine and
  2. So that support can understand my issues and any resulting feature requests (TDLR; please add a way to flag records to NOT sync and not delete record from AT if i delete these junk accounts, please enable true 2-way email address syncing. Also would be nice if there was an automation that will allow me to send welcome email using make.com or something vs manual admin dashboard. I have way too much on my plate to manage setting up every account)

Issue #1: Email Editing is effectively impossible

Email was incorrect in softr or airtable when account initially created

I have a staff member that did not follow instructions when signing up to the application. Instead of typing his email correctly as the rest of the organization can see it, “ej.petty@email.com”, he failed to include the dot and typed “ejpetty@email.com” when he created his account. So if I am trying to fire off an email notification in airtable using the email listed for this staff member, it’s undeliverable.

Softr does not allow an admin to edit the email

image

So I wondered, what if I generate a magic link and log in as user to edit the email directly using user profile block? spoiler alert, NOPE. won’t let you.

Let’s try and fix it in airtable and see what happens! after all, per the documentation:

image

NOPE. Updating the email to be correct in airtable has now created a duplicate staff account BOTH in softr and airtable.

So much for a 2-way sync! This is one of those details that really should have been in the documentation so I had not opted to enable 2-way sync.

I have loads of different actions and forms that are capturing either the logged in users staff name or the logged in users email. Same deal for editing permissions. And I seemingly have NO way of merging or reconciling these issues.

The only fix I currently have going for me is to just allow the email to be incorrect right now, automations be damned.

TLDR; 2 way sync does not work for email addresses. I think I’m “sh*t out of luck” if anyone creates an account with a typo? Which brings me to my next issue…

Issue #2: ZERO mention of the fact that 2-way sync will create new softr accounts for every.single.record. with an email address in your table

In the past, having my softr user accounts mapped to my airtable staff table behaved as follows when new accounts are created:

  • I have employee information already in my staff table because I need to be able to keep track of them regardless of if they have been onboarded to softr yet
    • the data is still messy as hell. We just merged 3 large organizations, and even after reconciling staff data with a multitude of team trackers and all three payroll systems, there are remaining inconsistencies.
    • This is [one of many] my responsibility, figuring out how to get staff information accurate. I figured, SOFTR! I can allow staff to create accounts and reconcile their own data. Eventually, it’ll be great to have a source of truth.
  • When an employee that already exists in my database creates an account using the same name or email address as a record listed in my staff table, the softr account was syncing the data automatically. Occasionally I still merge these records, but there’s been no HUGE issue. Not a great long term solution since it requires I am regularly running de-dupe in airtable but not the end of the world. Was eager for this 2-way sync and to develop ways to ensure duplicates aren’t created for improvements

Now? When I enabled the 2-way sync, it created 857 new softr accounts for my application using the dirty messy data in my database. It created it for terminated employees and current.

  • thankfully, I was spared by the bad luck gods and softr did not email everyone!
    • but also, sh**, it didn’t email them?
    • how do staff create accounts now? is it going to allow them to create an account the old way even though an account now exists with their email address? am I going to have to manually enter the admin dashboard for all 857 users and send them a welcome email when it’s appropriate?

Back to issue #1. It just created a ton of bad accounts using email addresses that are outdated. The emails ALSO don’t comply with the domain restricted signup settings I had configured

(remember, we merged 3 orgs, so many records contain old parent company email addresses)


so what am I supposed to do? to recap:

  • I can’t change these record’s email addresses. Existing staff with login credentials and incorrect email addresses I guess are doomed to have incorrect email addresses. Deleting them will delete the staff record and all it’s history so that’s not going to work.
  • I can’t revoke access for terminated employees without wiping them from my database and all the historical information my organization still needs to refer to after their departure. This seems… like a silly issue. I’d be happy with an admin option to ‘revoke access’ or something…
  • I have no idea how to allow self-service sign up options for the staff who do need accounts eventually and already existed in my staff table, therefore had accounts created when 2-way sync was enabled
    • will it create duplicate staff records and softr accounts?
    • will it prevent the user from using the signup block altogether?
  • I will be creating duplicate records in airtable and softr for any staff record account created using a legacy incorrect email
  • I can’t undo the two way sync now :worried: If this had been explained in the documentation prior, I never would have opted in. My organization is about to finally start rolling out the live app I’ve been building for the last six months, and this is quite literally the WORST timing to muck up the onboarding process or be dealing with duplicate records in airtable. Please help
1 Like

Just commenting to add: I understand that we usually have immediate changes pushed after a big feature release like this. Can support please keep us closely updated on features and timelines? I only ask not to be a pain, but because

  1. my organization is rolling this out to staff already and it’s going to be a big flop if the accounts are now an issue for every new user and
  2. I can hack out a workaround using some guides posted by community members and come up with a way to send off a magic link + create airtable automations to send email with link and have automatically redirect to reset password page… But I need to know if any updates are going to break this workaround I’m about to spend time building or if it’s even necessary if the fix can be implemented in next 2-3 days

Oh boy, seems like a very big step to rely already on the 2 way sync feature.

So hopefully be optional to update the user’s block when the feature rolls out for our old apps.

1 Like

it’s available for old apps. don’t click it unless you have the same exact records in your table that exist already in your user block. Otherwise it will generate accounts for all records and you will not be able to delete them without the records being deleted from your airtable base, and the newly created accounts will make it impossible for users to use their email to sign up using the sign up block, because an account will already exist with that email. Just no password or welcome email.

I’m absolutely devastated. I don’t even know how to fix this. Theres no way I can delete these 857 staff records without completely wiping a ton of important data from my airtable base. I’m really upset that I couldn’t predict or avoid this un-doable nightmare because there was zero way of knowing this would be the result from the documentation.

I am sure you have probably considered this but…have you checked the app history and try to restore a snapshot of your app?

And this is why I wait a few weeks for new features. I sincerely thank you for all of your testing and reporting on this. This is yet another case of why we must be able to change user emails @artur. Hopefully, that can make it on the roadmap.

1 Like

frankly, I’m terrified to do this. It’s impossible for me to discern in advance if doing this will delete the softr user accounts created and resultingly delete the associated records I need to preserve. And regardless of if it does somehow work smoothly (delete only softr accounts, leave the records alone), it still won’t undo the 2-way sync, so I’d be in the same boat as soon as the sync kicks back in.

This is all my rough understanding since it’s so vaguely documented. I mean, it SAYS I can’t undo it so as far as I can guess, that’s the reality of what would happen.

Marine has given me a solution that sounds promising that I am going to first test in a dummy base before pulling the trigger on. I will update on results after I confirm that I didn’t wreck anything further LOL.

The Plan:

  • Duplicate my email field.
  • Disconnect my airtable staff connection from the user app.
  • In the new duplicated field, leave all emails as they were. In the “live” field, I will be deleting all email addresses for records with an empty “last seen” field (this is my best way to know that if they were never ‘seen’ it probably was an account generated in error when I enabled the 2-way sync)
  • in the softr User Accounts panel, delete all accounts with empy “last seen” fields
  • Re-map my airtable staff table sync with the user accounts. Pray that Softr’s User Account fields sync with my intended records that should have accounts (without creating duplicate accounts in softr or duplicate records in my staff table)

Moving forward I am trying to develop a method for staff to be able to generate an account for records that already exist in our staff table by using an automation that once they review the email and swear on their mother’s life that it is 100% CORRECT, it will trigger an automation to first copy the “dummy” email field value (what I will be creating when I duplicate my email field) into the “live email” field.

I’m going to create a “softr account status” single select that is defaulted to “no account” and updates to “account requested” once a staff member confirms the record’s email is correct. The updated status will trigger the live email field to populate in airtable.

From there, I expect the softr sync to do it’s annoying thing and automatically create the new account. I think I’ll have an automation that fires once the account creation date field is populated that will send an api call to softr to generate a magic link, as well as updating their softr account status field to “magic link generated”.

Ill create the next automation to run when the magic link field if the records account status is “magic link generated”. When triggered, it’ll fire an email to the user with the magic link, and update their status to “account created”

I’ll configure a user group based off of the “account created” status to redirect the staff based off that group to a password reset page so they can create their password. I havent tested this yet but my hope is that by accessing this link, it will populate the “last seen” field for the first time. My intent is to use that field to create a conditional automation to run if status is “account created” and last seen field is updated to then run the automation to update status to “sign in successful” (mostly so I can generate new magic links in the future without reverting the user to be in a group that always redirects to password reset page)

WHEW that was a lot but good to get my plan sorted. Does this sound excessively dumb, anyone who is more experienced than myself? Overkill? easier methods? I’m open to the collective wisdom of the community LOL. But I’ll test it in my playground first.

1 Like

Hi Diana, thanks for the detailed feedback. Could you contact support and share the app you want to undo 2-way sync? We’ll revert it back for you manually (you can share this reply to my teammate).

RE: Email & Welcome (+ other) email automation — these are features we’ll add in the future. Can’t commit to a timeline yet due to higher-priority features like conditional forms, but they’re on the radar :wink:

RE: Only add users who meet certain criteria to Softr — this is definitely a feature we’re exploring, but the solution is not easy because we’ve seen at least 50+ ways real companies set up their user flow/user db (not all of them are entirely logical), so it’ll take time for us to study and think through different options.

It sounds like this project you’re tackling is indeed unique (companies merging, messy data, etc). Regardless of whether you have 2-way sync on or off, I’d recommend layout the overall flow/process on some diagram to ensure everything will work (and our support team is always available to help!).

2 Likes

Oh great! I actually did try requesting they manually undo it when this happened, but I will try again now that you gave the go-ahead… But my only concern will be that if when they undo it, can I delete the junk accounts created in softr without it deleting in my data source? Or should I first unmap the connection, delete the accounts and then request they undo 2-way sync before remapping
?

@danyalamriben, please share the app domain, and we will disable the 2-way sync for that app. You will be able to delete a user then in Softr without deleting from datasource (test with one first though)

2 Likes

This is precisely the issue I’ve ran up to just now.
At least for Airtable this would be possible if we could map Softr Users ↔ Airtable User Db not only based on Airtable Base+Table, but also +VIEW

2 Likes

My recommendation is to never use two way sync as it destroys the sign up workflow.

Hi @Sean_Wilson. I’d be interested in hearing about your user onboarding workflow and how it relates to Softr then. I’ve been attempting to figure out a more secure way to sign up users with Softr’s blocks for weeks with no luck.

My solution has largely been ignored unfortunately:

Hey, so there is no real solution to this in a proper sense. What I did was the following:

  1. We assume that most people come to our page due to an invite from our systems through either the CRM or airtable. In that case, they are likely a user in softr already.
    In this case, the sign in page also has as “Sign up not working? Click here to retreive your password!” link which sends people to a customised “forgot password” page with, “hey, we already invited you, confirm your email here to get your password”.

They then fill in the email, receive the email and reset their password that way. Its just a nicer UI with the forget password skin over the top.

2 Likes

I have set this up - but you still need to manually “Publish” in Softr for the user to be reconised in Airtable to allow them to sign in via an access code

1 Like

I’d also like to know the timing of email automation

At the moment my “Welcome” email is sent from Airtable, with a trigger requirment being “MagicLink is not empty” as a user cannot sign in to Softr, unless they have a user account created already.
We are a closed community, and only want those that are registered to access the application.

There is currently no way to add them (we have almost 1000 users & growing) unless I manually sign in to softr to trigger the sync.

Hi @kristyb . Can you elaborate on this? What exactly did you set up and what do you mean by “manually publish in Softr”?

So far, when a user enters their email address on a Sign Up With Code block, that email address shows up in my Airtable immediately, however it does not show up in the Softr Users table until I open it or refresh it after the email address was entered.

Hi Ben,

I think Kristy is trying to say that one of the ways she found to force an immediate sync between airtable users table and softr, is by re-publishing the app directly from softr studio.

An alternative to visiting app users in softr studio and waiting for the sync to happen.

Correct :slight_smile:

@Ben - we don’t allow a user to “Sign Up with code” unless they are already in our database as it is a closed community.
We only want users that exist in our database to be able to sign in, however, they need to complete a ‘sign up’ process which happens predominantly via softr form entered into airtable first + a set of automations completed to then allow them to become a user.
There’s no way to send them the temp password or magiclink unless syncing with Softr (which requires me to sign in) and they can’t use Access code until they are in both airtable/softr.

1 Like