Rate limiting in Workday Studio

Posted 2 years, 8 months ago

Is your Workday Studio integration experiencing API rate limit issues? You can add a short pause to your integration with sleep.

// Sleep for 5,000ms (5s)
Thread.currentThread().sleep(5000)

Note: You should only use this when your integration is at or exceeding a rate limit. Applying it to every request could seriously slow down your integration. You could use something more like:

// Apply a 5 second delay when the rate limit drops below 25
props["rate_limit"] = message.getHeader("x-ratelimit-remaining");
props["rate_limit"] < 25 ? Thread.currentThread().sleep(5000) : ""

Good practices:

  • Use conditions to apply pauses only where necessary.
  • If you make API calls in many places, try a local out after each request to a single local-in that checks the rate limit. (Don't forget to set Clone Request = true on each local-out)
  • A warning via put integration message when pauses are used can proactively identify future scaling issues.