Need help recursive workflow, using field as api parameter

Spent half the day trying to configure this - this (below) api endpoint has a parameter [id] which is a field called symbol in my existing table called CompanyInfo

The CompanyInfo fields are:

  • symbol
  • companyName
  • ceo
  • country

I am trying to generate a list of all symbols in the CompanyInfo table, then pass each symbol to the api endpoint as a parameter [id] so that I can grab some data (ceo among other things) from that endpoint and save it to the respective CompanyInfo

Here’s what I have so far:
This is the recursive workflow

This is the API trigger (when GET button is clicked)

Can’t figure out how to set this up correctly. Any help would be appreciated.

Thanks in advance

What happens? None of them get updated? I’ve done something similar, works fine. The only problem from what you posted is that I also used index < count because of my programming reflexes, but bubble indexes are based on 1 so it should be <= count

But if that’s your issue then the problem would be that only the last item doesn’t get their content updated, all the previous ones should have worked.

Hi @travis1 :wave:

The problem is that the endpoint you are using returns information from a single id:

And you are sending a list of symbols.

image

If I understood what you are trying to do, you don’t need to create a recursive workflow. Just Schedule workflow on a list and select, as the source of this list, the companies you want to GET data from. And your workflow, in backend, should be created expeting only one company at time.

When I trigger it, this is what happens:

The list to run on is incorrect - it shows symbols that were not in step 1.

@rpetribu thanks, I’d like to be able to grab all of the CompanyInfo’s symbols that exist in my db - then one by one pass those symbols through the API where the paramater [id] matches the symbol.

If I do it one by one, wouldn’t I have to run the list manually, 500+ times?

Create a backend workflow with a Company as a paramater. So, to run this backendworkflow you should send a Company to it. In this backend workflow create the steps you need to GET the information using your API and change the fields you need.

Now, open you database. Select ONE company, create in BULK and send this company to your backendworkflow. See if everything works fine.

If everything works as expected, you have two options to update your companies.

Option 1: Open your database, select all companies and send them all to your backend workflow. This should updata them all.

Option 2: Create a workflow in your app (when a page loads, when a button is pressed…) and insert the action “Schedule API Workflow on a List”. And send the companies you want to the desired backend. This action is super straightforward. And what it does is to submit all the selected companies to the same workflow. You don’t need to do it manually.