Custom Actions - too slow

I’ve read about this somewhere before but can’t find it. I’m having an issue with how my custom actions are executed. I have:

Set column (edit pending?: yes)
Show notification
Play Sound
Webhook (an Integromat scenario that takes approximately 10 seconds to complete)

My integromat scenario returns ‘no’ back to the ‘edit pending?’ column so that I can use this to ensure hidden visibility on components that should not be used whilst the integromat scenario is running.

I’m finding that my set column action is not executing predictably, in some cases it sets the column even after the integromat has completed and sent the ‘no’ back.

Any solutions?

This is likely because Integromat runs faster than the set column action. You would want to add a sleep step in your Integromat.

1 Like

I have done, hence the reason it takes 10 seconds.

I guess my point when I say not predictable is that the set-column action is the first action in the flow, my expectation is that this is executed before it even sends the webhook, nevermind what my integromat scenario is doing…

It most likely does, but it then needs to sync to your GSheet. In my experience, in a race between a webhook fired Integromat sheet update, and a Glide update - Integromat wins 99.9% of the time.

2 Likes

So is there a solution for what i’m trying to achieve, other than adding sleep and slowing the whole process down, in fingers-crossed approach?

Probably, but I’m having a little difficulty wrapping my head around your scenario.
In your OP, you said that Integromat sets the column to ‘yes’, but contradicted that in the next sentence by saying it sets it to ‘no’. I’m guessing the first was a typo?

Can you describe your use case a little more, and what your expectations are?
I get that you’re trying to control component visibility based on the state of a column, but other than that it’s a bit fuzzy. I guess my question would be - why is it important that the change has synced to the GSheet? ie. why can’t you just show/hide immediately?

Yep typo. For clarification integromat returns ‘no’.

Effectively telling the app the form that was submitted (webhook action) has finished.

I wouldn’t want users to be able to edit forms until the integromat scenario is finished.

yeah, still not really getting it, sorry.

anyway, not sure if this will make sense, but how about using two different columns for the status?
ie. Have Glide write to one column, and Integromat write to another column. Then you can add some logic to decide which column to use to drive the visibility.

1 Like

Excellent and simple idea!

Not sure how I could have put it any simpler, but you came up with a solution without even knowing why haha kudos.

After trying, I ran into the same problem.

All well and good returning a value to a different column to signify the completion of the scenario, but I will still need to reset that column on the next time that edit form is complete in order to meet visibility requirements.

I don’t see a way round this on Glide :expressionless: