What problem does it solve? Looping cards in Okta Workflows behave in non-obvious ways: unbounded For Each concurrency floods Okta and Graph API rate limits, "Ignore Errors" hides failures from the parent flow, plain For Each returns no outputs, nested iteration triggers CPU-time throttling, and List - Filter has a substring direction gotcha. This Skill documents each quirk with its workaround so flows are designed correctly the first time. ## Core Features & Use Cases - Concurrency and rate-limit guidance: Explains the asyncEach concurrency input, the 30-concurrent-Workflows connector ceiling, the 15 concurrent GET /users/{id} limit, the core.concurrency.org.limit.violation System Log event, and the separate org-wide 75-transaction limit. - Error handling and output collection patterns: Shows why "For Each - Ignore Errors" only ignores errors from the parent's perspective (handle errors in the helper flow) and why plain For Each returns no outputs (use Map/Reduce or a shared Table). - Scale and filtering workarounds: Covers CPU-time throttling from deeply nested iteration cards, the List - Filter (Custom) pattern for starts-with matching, and when to switch to Stream Matching Records for very large lists. - Use Case: A flow processing 500 users with For Each starts returning 429 errors; use this Skill to set an explicit concurrency of 5-10, move error logging into the helper flow, and collect results via Map instead of For Each outputs. ## Quick Start Ask the assistant to review your Okta Workflows loop design for rate-limit, error-handling, and output-collection pitfalls before deploying it.