I have a scenario in integromat that is ment to update two fields in a collection on adalo.
I am able to get and filter the record just fine but it just doesn’t update on adalo.
I initially though it was a timing issue, so i added a timer from when the record is created to when it is then updated but still it doesn’t work. Help would be appreciated.
Below is what my scenario looks like.
What to you have in the last filter (between List Records) and how the modules of List Records and Update Record are set up?
The last filter gets a field from the webhook and checks if it is equal to any order ID field on the listed records. The one that matches should be record that we update.
1st filter - checks if status is successful
Webhook sample result
2nd filter - checks if orderid matches tx_ref
But what do you have in the last Adalo module in the “main” scenario flow?
i have a connection linked to my Order collection that is meant to update the filtered record field ‘test’ with ‘123’. It runs successfully but in adalo the field remains unchanged, i have tested this out with different field types and all the same they dont get updated.
What do you put into the very first entry in Adalo Update record?
The same scenario (create record in Adalo, call Integromat scenario, List records + filter + update newly created record there) worked for me well in a lot of cases.
With this I can conclude that the problem is either in:
(a) some very specific bug which is related to your exact database in Adalo, or
(b) some mistake in your scenario.
Unfortunately based on the screenshots you provide it is quite difficult to diagnose what could be the problem and conclude is it (a) or (b). The thing is that Adalo returns 200 (success) for PUT even if the data wasn’t processed (due to mistake or smth else). So if your Update Record action does not work, you need to check if the set up of this action is correct.
This is what I was asking in my 1st message, and unfortunately I still don’t understand now this action is set up - some components of this puzzle are still missing. Moreover, you don’t have Module IDs displayed (to turn them on, right-click on the empty space in the editor, and select the option in the menu, like this:
And as you have several Adalo modules, without module IDs it might be difficult to determine if you’re using the data from the needed module or not (for example, may be you’re updating the record based on ID taken from the same module, of course this won’t work).
If I had this problem, I would do the following to “isolate” the issue:
- as a starting point, to check if the record is updated, I’d use Postman and create a Get One call there. Sometimes Adalo app builder caches the data in a browser, so using Postman will help to get most recent data.
- run the Update Record module only (there is such option in Integromat). Put the Record ID by hand, put test value by hand, see what happens
→ if record is updated, then there is a mistake in the scenario
- if record is still not updated, I’d have a look at the data I’m trying to pass to Adalo and see if there is a data types mismatch or not. For instance, Adalo won’t update Number value if you’re trying to send text to it.
→ just in case - in Integromat, if you get a value which looks like a number, it is not always a number “internally”, sometimes it is treated as text. E.g. if you set a variable and put a value 0 there, it won’t have a “number” type. This could cause issues with updating record’s values when certain data type is expected.
- if the data is still not updated with the manual runs, I’d try to use Postman and make a PUT request there and try to make it work.
IMPORTANT: at the moment (22/12) there is some problem with Adalo API with POST and DELETE records, so it might be better to wait till API works correctly, and debug the scenarios afterwards.
Best regards, Victor.