Update multiple database records on button action (that meet criteria)

Hi everyone - has anyone been able to find a way to update multiple records in a database based on a specific criteria? Or possibly a creative workaround?

Essentially, a button action would go through a database and check if a certain field = X. If yes, a second field in all of those records would be updated. Thanks in advance!

@sadalo this is not possible within Adalo. You’ll need to use a tool like integromat.

You can do it in 2 ways:

  1. Initiate a trigger from Integromat at regular intervals to get the data from Adalo’s collections and perform the update action back to Adalo based on the criteria
  2. If the action is triggered by a user in Adalo, send a webhook to integromat to trigger the action. This will eliminate the need for integromat to perform the action automatically and saves costs

@bhanu Thanks so much - that sounds very promising! Will look into it right now.

I’m new to tools like Zapier/Integromat. Is it safe to assume that I would need a middleman integration here with something like Excel or Airtable where my Adalo collections are being uploaded first? Then use Integromat to edit multiple fields in Airtable based on the specific criteria I’m looking for…

Thanks so much again in advance!

@sadalo you don’t need another tool between integromat and Adalo. You can call Adalo’s API to get the data and post back after performing the updates.

3 Likes

Hey @bhanu, thanks so much again for all your help on this. I experimented a bit with Integromat scenarios, and am still a bit stuck on the multiple-record-update. I got as far as creating a webook to pass back and forth one record from an Adalo collection… but can’t seem to pull an entire collection to make bulk changes.

Do you happen to have some tips on what I may be missing, or a quick screenshot of the Integromat setup if you’ve been able to achieve this before? THANK YOU AGAIN!!

@sadalo

When you send a webhook to Integromat to initiate a workflow, at step 2 in integromat, you call the Get All Records from Adalo collections which meets your criteria, this will bring entire collection.

Here, you need to use Iterator module to loop through the records fetched in step 2, and for each record, you need to trigger a POST call to Adalo collections with elementID to go back and update the record with updated data.

Sequence looks like this in integromat:
Step 1: Receive Webhook
Step 2: Get All records from Adalo
Step 3: Loop through the records
Step 4: Put the records back in Adalo after adding the extra column or data

2 Likes

Genius @bhanu. Seriously, thank you! You are the man.

Last question: I was able to set up the sequence with one exception… due to my lack of knowledge in Integromat logic. In Step #2, I can’t seem to get the criteria filter to pull specific records based on my filter (currently this Integromat scenario is pulling all the records from Adalo, without any filter).

How would I enter the filter here? I specifically need to pull any event records within an hour of a specified Start Date/Time from the webhook in Step #1. I tried to represent the logic here in the screenshot.

Edit: Just noticed my screenshot logic is wrong haha. So disregard that example. Essentially I want to code that Start Date/Time should be between X and Y.

1 Like

@sadalo best way to do this is, send filtered results to iterator by clicking on the spanner in between step 2 & step 3

Filter provides you the option to choose the fields you want to filter based on a specific criteria.

Update: In order to filter by specified start date & time, you can actually send that date & time when you’re triggering webhook and use that data in the filter between step 2 & step 3

1 Like

Hi @bhanu

I’m trying to implement the same setup in Integromat but I also can’t quite get it to work. I want to trigger a webhook from Adalo to get all records and then update all records that have a “password” that is the same as the one that the user entered in Adalo when the webhook was triggered.

I’ve copied your scenario flow above and the webhook triggers, the first HTTP module gets all records but I can’t set the filter up correctly. How should I set the filter so that it only passes the records to the iterator that have the same password? I’ve attempted like this but obviously it’s wrong

Thanks,
Ash

Can anyone point me in the direction with this please?