Dev here - Not an uber-good solution, but it should work. You could use a lookup table as a dynamic mapping, then, in the recipe, add a ruby/js script step to parse the payload into a list of objects with 2 fields, one for the key of the field, one f...
The way we've implemented it was wrapping the whole in a for loop with a set number of attempts, and if the call passes, skip all the steps in the loop, but if it doesn't and it's the rate limit, start the wait.
Yeah, so it's a very simple recipe that takes in an integer, then uses a Execute Ruby Code step with ruby's sleep function. Workato has it's own Wait function on the Scheduler app, but we've noticed for longer wait times, it tends to stall and won't ...
We've implemented a sleeper utility, so when we hit rate limit errors, we sychronously call the util with an x minute wait, then when it returns, retry the initial call.