2-way sync: Softr User Accounts

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

Thanks for elaborating @kristyb. I see how your flow works for a closed community. For open sign up however, I’m finding that with the two way sync, an access code from the sign in with code block immediately adds the user to Airtable. This is a no code work around to authenticate an email address, but the trick after this seems to be configuring a User Profile block to capture more user info and password so they can log in again.

If anyone sees issues with this on-boarding workflow, please let me know and thanks in advance!