Using action button as a like/save button?

Has anyone figured out how to use an action button to like / save an item?

In my case, I want the user to be able to save jobs to their profile - thus, I need to somehow send the job field to the user’s linked record field, but without deleting the jobs that have been saved there already. I saw the “save button” snipped on Softr, but that one is not working anymore - happy to also hear about other workarounds to make that happen :slight_smile:

Thanks so much in advance! :slight_smile:

I would suggest doing this on three parts:

  1. Make an alternative field to your linked jobs on airtable to accept the new id of the liked job.
  2. Make a formula field to grab the ids of both linked record fields
  3. Setup an automation that will fire when alternative linked record field gets updated, grab the ids from the previous formula field and put those on the reference linked record field that you want your users to store their favorited listings.
1 Like

This is a great idea, let me look into that!
I was hoping to not have to use Airtable automations because if thousands of people save jobs, I’ll reach the 50,000 runs super quickly.

Any idea how to not involve automations or to automate it with another tool such as make.com so that I don’t get to the Airtable limit?

Would this help ? One-Click Favorite in Softr (no code version!) - YouTube

It would work, but it would also include an automation run every time someone saves a job, so that wouldn’t last very long unfortunately with the 50,000 automation runs :confused:

Wish the action button could update a record and not just replace it, that would be a dream

1 Like

@Tim_ClimatEU, what do you mean by updating the record vs. replacing it? Do you rather mean like appending into linked record (or alternatively adding new linked record) ?

1 Like

I have the same problem! It would also help me if users could see how often a product was liked. Airtable should therefore be able to count and display the number of likes, does anyone happen to know you?

Yes, I mean the option to append data to a field and not just replace it, so that no automation is needed. For example, if I have already liked the user “Artur”, that I can like the user “Tim” and it adds “, Tim” to the field so that both have been tagged, just like in the Airtable automations.

That would make it possible to build like buttons and have users create lists easily. With a few thousand users it escalates quickly otherwise and the Airtable business plan starts at 1,400€ per month, unfortunately.

1 Like

You can just create a count formula that counts the linked records of each field and then show that?

Appending would indeed be the dream!
Currently I do that with three fields:

  1. Likes
  2. Newly added like
  3. Formula field, with complicated replace formula, that created a new list by appending the new like to the existing likes.

Plus an automation, that updates the likes field with the formula field content, and removes the newly added like.

The same is true for removing votes!

It adds a lot of complexity to the table and could be really simple with an append option in Softr.

Ps: here is the formula is use:
IF(
upvotes_removed=BLANK(),
upvotes,
IF(upvotes_removed=upvotes,“”,
TRIM( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE(upvotes, ', ’ & upvotes_removed, ‘’), upvotes_removed & ', ‘, ‘’ ), ’ ,’, ‘,’ ) ) ))

1 Like

This is how someone built a cart with e-commerce functionality. One of my favorite how-tos. How to Build a No-Code eCommerce Store Using Softr & Stripe (with Cart & Checkout) | Part 1 - YouTube

This doesn’t seem relevant? :slight_smile:

I just tried this, but unfortunately if I like the job simoultaenously with two different accounts, the automation is too slow to grab both. It will end up saving one “like” and the other automation will come back as an error. Any idea how to avoid this?
@softrsimon does your solution not have that issue?

Hi Tim,
As I don’t have too many users yet, I didn’t bother, but I ran into the same problem.
One solution I had in mind is to create a buffer field from which the Airtable automation can load / update the “likes” field one after the other.

You would need a new field, that is connected to the like button on Softr using the “add” action. This way any number of users can click the button and the automation can take all the time it needs.

Let me know if it helps:)

How would you go about adding that buffer field though? It would work if there was a 2 seconds delay or so on the action, but I can’t wrap my head around how to do it. I’d need some automation to copy the data into the buffer field.

By the time the automation runs, another like has come in, and so, it can’t grab the user’s email in time.

Or what do you mean by “add” action? I’m doing this on the list view, not the details view, so there is no add action unfortunately, only the one-click update, edit record, or delete record.

Following up:
It takes Airtable automations 9 seconds to save the job via a one-click action, so if there is any other like action within these 9 seconds then it doesn’t work and it will only save the second “like”, so that’s not really scalable :confused: Not sure how to circumvent that, any idea?

It takes roughly 2 seconds for the like to be added via the one-click update, and then another 7 seconds for the linked record field to be updated

You are right. I thought there was a native “add” action.
In that case, it is only possible on a detail page/modal.
Another option would be to use a helper table.
I do that for some of my interaction buttons for climesumer.com.

It’s essentially a table that logs the

  • User (Peter Fox)
  • the table from where the action was taken (products)
  • The action (like)

You can use a form with only hidden fields.

Then use an automation to add / update the corresponding fields. Not ideal if you have many users and want to save automations.

Good to know with that 9 seconds!

1 Like

@artur is it feasible / on the roadmap for Softr to add an “append” option to the “Replace existing value with” option that the one-click update has now?

1 Like

@artur I’m using the method you referenced in the video, and worked around the issue @Tim_ClimatEU is experiencing by updating the Users table with a job the user wants to favorite instead of updating the Jobs table with a user the job needs to be a favorite for.

This is where I’m running into an issue (will use @Tim_ClimatEU’s jobs example):

My User table has the following fields:

  • Jobs to Add
  • Jobs to Remove
  • Jobs

If the Jobs to Add field is updated with a linked record of a job, it’s appended to the Jobs field.

If the Jobs to Remove field updated with a linked record of a job, it’s removed from the Jobs field.

If the user wants to re-add the same job, they can’t. The job is already in the Jobs to Add field.

You would think the solution is simple - just clear the Jobs to Add field after the linked record is moved to the Jobs field, but isn’t perfect. If a user is adding to jobs in rapid succession, the latter is often removed by the former’s clearing action and thus never added.

You could do some other work around where you clear the Jobs to Add field and Jobs to Remove field with an automation on a recurring schedule, but if the automation has a “When record updated” triggered, it will trigger it and waste automation runs.

There is no fool proof solution here.

I’m personally accepting the bad user experience that’s created by a user not being able to re-add a job.

We really need Softr to add an options for:

  • Adding/appending a new linked record to a linked record field
  • Removing one linked record from a linked record field containing multiple linked records
  • Override all of the values in a linked record field with a one new linked record

Please, please, please add support for this.

1 Like

Couldn’t agree more @rrthegefsrht . I currently use a similar workaround, but it is just extremely slow and the UX far from where I would like it to be. For me, it comes down to two issues:

  1. The length of the current workaround (6 second per action) → seems easily solvable by an “appending” values feature
  2. That the action will not be shown in real time this way, but that the website needs to be refreshed (after six seconds) to see the change that was made via the action button. I’m not sure how/if that would be possible, but it would be a game changer.

Here is an example of a platform doing this - you can simply relocate items instantly by pressing the action buttons. Very smooth for the user and great for the company to track interactions :slight_smile: