Internal apps and client portals: how to automate the user creation with (OUTDATED)

Hi all,
A use case that many of you can have: you build an internal app, which may not have a sign up process but only a log in process.
How to add, automatically, a user/client inside Softr, Airtable and generate a magic link in order to let him/her enter your app seamlessly. All this from your live Softr app, without having to go back and forth from a tool to an other tool.

  1. Before everything, you need a “users” table in Airtable and make sure that this table is linked to Softr inside the Users settings (Screenshot 1 & 2)
  2. Add a customizable form block somewhere in your app to add your users/clients. Choose the option “send to make” and collect the full name and email, you just don’t need more. (Screenshot 3)
  3. Follow the well explained process to add a Make custom webhook (screenshot 4)
  4. This what looks like the Make automation (screenshot 5, 6)

Don’t forget to check “Yes” in the last module for “generate magic link”
Your Softr API Key is in your dashboard, at the top right corner of your softr dashboard (see screenshot 7)
You don’t have to worry about creating a user in Airtable: if the user is created in Softr, it will be added to Airtable, automatically.

  1. Last but not least, set up an Airtable automation to send the magic link (also automatically added in Airtable from Softr) each time a user is created (screenshot 8 and 9).
    The second part of the Airtable automation, “send email” is also related to the users table.

  2. You’re set!

If something is unclear/missing, feel free to point it out!



Hey @matthieu_chateau,

I appreciate you shared this info, your insights were truly helpful. :star_struck:

1 Like

Hey @matthieu_chateau , thanks for sharing your approach to automatically generate “magic link”. I was exactly looking for this solution and I found your post. Nice one!

1 Like

You’re welcome!

Hey @matthieu_chateau - thanks for sharing this.

I have a use case where one user could manage two or more profiles/people, e.g. one parent who has two children (but uses just one email address for themself).

I want the parent to be able to log-in and manage, and edit the profiles for each child, and also to be able to select a child to be able to then add them to a competition.

Would this be as simple as having a users table for the parent, a multiple linked record to a child/participant table? Would the parent be able to change the details of the child profiles?

Thanks a lot @matthieu_chateau this is really helpful. Next year we will work on two ways sync too. However this solution is pretty cool as one can add user into slack and trigger same user being added into Softr too!

1 Like

@Lobbers ,
Yes this shouldn’t be a problem. Though it seems it’s not related to this guide doc, if I’m correct?

Anyway, here is the global process for your use case (some details might be missing, but you should make it easily):
A parent becomes a user. Then you add a form somewhere, let’s say “add your children”. Each time a child has to be added = the parent will use the form. It will create a record within the children table. You will need to add a hidden field to catch the email (or the recordId) of the parent (as it is the parent that would enter the data and create new records). This hidden field will points to the link record field in Airtable, linking the parent table and the children table (not to the lookup field, if there is one!)

The children profiles will be displayed within a list block and the details of every child in a list details block (accessible on click in a modal or in an other page). In the list details block, enable the edit option, create edit permissions in the app settings, and that’s it.

Parents will be able to edit the records of their children and only their children.

Note that you can make a specific design for displaying the children and their details, in Softr, without having to create two pages (here it’s managers, but can be used for any use case). Check the first part of the video :point_down:

1 Like

Yes, this is important for internal apps of SMBs/Startups, I have this use case with one of my client who wants to use this process with Slack and another with Hubspot.

Other classic B2B operation processes can be used: manually reviewing the information of a lead or a partner or a client, then edit a value inside Airtable or directly inside the Softr app (if there is a built admin portal, next to a client portal, which is 100% doable) to run the Make scenario.

Most of the SMBs internal apps inquiries have to take their place in a process that already exists, which implies a bit of operation consulting in addition to the pure building work :sweat_smile: (+ the use of Make)

Thanks @matthieu_chateau - yes, it was not directly related to the guide, but it triggered some thoughts on how I can do this, and I very much appreciate you taking the time to respond. Thank you :+1:

1 Like

Hello @matthieu_chateau

I was able to successfully create a user using following your guide. By the way, Airtable automation for magic links are not required anymore as it is now built-in at See image:

The users we create in this form are intended for customers. When creating a User that way, we are currently limited to sending over Email and Name only. How can we let Airtable know what customer to associate this newly created user with?

Also, in our “Users” table in Airtable, we have two other additonal fields we need users to have:

  1. Type. This can be Employee/Vendor/Customer. Since we create a user for customers, this should always be “Customer”.
  2. Permissions: Owner/Manager/Employee
    We also segregate customers users with different permissions. Some customers users are intended for low level employees, while others are managers that should see more data.

Currently, the fields above are not sent via the form using the technique. We have a new user created in Softr and Airtable, but we can’t know if this user is a Vendor, Customer, or Employee. We need at least some additional data sent from the form using the automation that is not the EMAIL and NAME to know where to categorize this newly created user.

Altough we can find the newly created user in Airtable using his email using a SEARCH, we can’t know which category to associate this user and what Permissions (Owner/Manager/Employee) to give him unless we have some mechanism to send this data to

Any idea?

Many thanks for the great guide.

The additional requirements can be easily fullfilled.

Here is how you should do it. 2 options to do so.

Option 1
In the page where you or your team add customers/users, add 3 customizable forms.

Each of them will have the same setup as explained in my guide.

Though each of the forms will have a hidden field. This hidden field will display the exact value (case sensitive) that appears in the airtable field where the user can be either an employee, a vendor or a customer. (should be a single select field I guess)

Form 1 will be setup with the value “employee”, the form 2 with the value “vendor” and the form 3 with the value “customer”. All these values to be manually entered in the hidden field.

For a better User experience you can use an other guide I created to create tabs. This way the three forms will be displayed on a specific button click. Here it is: New - unofficial - feature: TABS - Hide/Show multiple blocks horizontally

Option 2 , simpler and less work

Just add in your current customizable form a single select field (no need to be hidden) where your or your team will be able to choose between three values: employee, vendor or customer. The three values should be the exact same values as in your airtable field (once again: case sensitive, otherwise you will create multiple options in your airtable field with the next step described below. Such mistake can lead to some issues when setting up permissions in Softr for example)

Make setup common to both options

Add an Airtable module at the end of your current scenario. You will be able to update the newly created record by adding the additional information in the right airtable field. You will look for this additional information for this last module in the first module (webhook module)

Note that the option to send magic link is also referenced in my guide… But it is misleading. It doesn’t send anything to the newly created user, it only populates the magic link url in the corresponding Airtable field.
Unless it has since been changed, if so and you did a live test, just let me know.

If any problem to do so, just reply and I will record a video tomorrow or after tomorrow to explain the full process.

Thank you so much Matthieu.
I am unfortunately stuck at this part:

Add an Airtable module at the end of your current scenario. You will be able to update the newly created record by adding the additional information in the right airtable field. You will look for this additional information for this last module in the first module (webhook module)

Any idea why it don’t show up?

See screenshots to view the make scenario (and its details) that you should use.

For the record, the issue is to add a value to the “type” field in Airtable when a new user is created with my method.

There is an important setup in this scenario = a filter between the last two modules. I chose a filter that says only airtable records with “type as empty” should be taken. (In Make = type doesn’t exist)

Note that you need to redetermine data structure (first module - webhook) if you change something in your scenario.
Also be careful: check if the setup of your Softr Api Key in Make is the right one (because it needs to have the right domain, not only the right API key).

My advice would be to delete your current scenario and rebuild it according to what I show you.

I deleted part of your message in order to let the thread readable. If any problem => inbox with me


Thanks a lot Matthieu, it works!

I would like to add, in case someone runs into this issue in the feature (and it is relevant to this thread), that if some fields don’t show up as happened in my case, it also might be due to the use of the builder “Send test data”. You need to send the data structure from the live app.
I am reffering to this “Send test data”.

See this thread for more information.


Hi Matthieu,

I followed your guide and I got it work - thanks for this!

Is there a way to know when a user actually clicked the magic link? I want to know if the user actually completed the signup processes (clicked the link) and landed on their account. Currently I cannot track this.

I created a status column that has “Not Verified” (before link click) and “Verified” (after link click). I would need to change the status after they clicked. Any tip on how this can be done?

Thanks a lot!

The workaround you could use is to create a page with a form and only a form (no header, no footer).
This form would only have a button (all the rest would be hidden fields).

Text of this form button: “access your account”. The form option “open page” would be enabled and would redirect to the user account page, as you wish.

When the user clicks on the button it will send a new record to a table called “processed signup”. You will add a “created date” field in this table. This will give you the “who” and “when” of the completion of the sign up process.

This page with the form would only be accessible to users who have an empty cell in their user credentials table, in the field linking to “processed signup” table (as the table with user credentials must be linked to the table “processed signup”).
For this to work, you would need to create a specific user group “first time signed in user”, in Softr, and set up a redirect for this type of user (in the users settings).

This is a way. My favourite way as I hate overstacking an app.

An other way is, for example, this one: Connect your Mailtrack to Airtable integration in 2 minutes | Zapier
If you use the Sendgrid integration with Airtable: Tracking Settings | Twilio

Note that there is a “last seen” option for higher pricing plans in the users settings of any Softr app.

Hi Matthieu,

thanks for your quick reply and the idea with the second table! It works now:)
I tried to use Make to update a record put couldn’t get it to work.

I guess that action buttons will be able to update forms fields directly and remove the need for a second table.

Action buttons should be able to do it (though I’m not sure It will be done within a form block). When they will be released I will find a better workaround for sure, without having to create a new table

1 Like

I can already imagine what workarounds you will have when the Action Buttons are released, @matthieu_chateau :star_struck:

This guide is now outdated as there is now a two way sync with the users table in Airtable.
Closed Topic.