Hello Gliders! Thanks for taking the time to read this.
I have some workflows triggering other workflows (so workflow #1 is done, triggers workflow #2 using a manual trigger).
Example:
Workflow #1 creates a couple rows in a Helper table
Workflow #2 is supposed to take those rows and create a Google Calendar event for each row, etc. After processing, each row is deleted.
What I’ve tried so far in terms of troubleshooting:
Use a button to trigger workflow 2 manually: this works.
Re-trigger the workflow after itself, but that creates some crazy loop eating up a hundred updates for 3 rows to be processed (although the rows are being processed succesfully then:D).
Chatted with Fin and it really appears it is due to the workflow being juuuust a little too fast
I know I can add a delay in a user-interaction workflow, but not in a otherwise/manually triggered one.
PS. only using native Glide Tables in my setup.
In conclusion/question: as it appears, I would need a couple seconds delay to make this work. Does anyone have a smart workaround or alternative suggestion for this?
Would love to hear from you, thanks a lot in advance!
If your first workflow is an App Interaction one, you could add a wait for condition to wait for the creation of these new rows right before you trigger your second workflow. You’d need to store the new row IDs somewhere (selected at the bottom of the add row action), and then wait for those fields to not be empty.
Ah, yes, if you are using a server side workflow, that doesn’t help much. In that case, you could use a third party like Make or Zapier to interject a wait. For example, your first workflow could use a webhook to trigger a Zapier zap/workflow that includes a delay action. After the delay action runs, it could trigger a Glide webhook workflow to run (you can change your existing manual workflow to a webhook).
Alternatively, something I haven’t tried yet, you might include a Call API action in your second workflow to look for the new row, or call a service that waits for a few seconds before returning a response. I’ve seen the Call API action wait for a response in other cases and I think it could be used as a makeshift wait action.
Would have to agree with it, I face this just last week, though I need it to wait at the start of the manual workflow, so I set a wait on the app interaction action like @NFNHello suggested.
Probably this is the only way to do it now. Add an API call to a webhook in Make I guess, make it delay some seconds, and then use a value to return to Glide. If it’s 1 second from your end, it’ll definitely take more to go to Make and back though. It’s not ideal.
Thanks! As it seems, the zapier/make workaround seems to be the only solution for now. Major disadvantage from my perspective right now would be that the delay will be significant then, while I probably only need 1s. I’m also in touch with the support team, will update here if there’s a solution.
In the meantime: maybe we can make it a feature request? Seems simple enough, since it already exists in the user-interaction workflow…
Yeah you can do that, I don’t know how much it would be a problem for these workflows as they’re running server-side, not on device like app interactions.