okta-workflows-tables

Documents six quirks and workarounds for Okta Workflows Tables data store operations.

1|Updated Aug 10, 2026
One-click install
npx skills add https://github.com/TheViziusGroup/vibe-engineering-skills --skill okta-workflows-tables-theviziusgroup
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: okta-workflows-tables
Source: https://github.com/TheViziusGroup/vibe-engineering-skills/tree/main/plugins/okta-workflows/skills/okta-workflows-tables
Command: npx skills add https://github.com/TheViziusGroup/vibe-engineering-skills --skill okta-workflows-tables-theviziusgroup

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Okta Workflows Tables behave in non-obvious ways — case-sensitive search, a hidden 3,500-row return cap, no native upsert, and throttling under high-frequency access — causing silent data mismatches, duplicate rows, and failed flows in production automations. ## Core Features & Use Cases - Search Rows guidance: Explains case-sensitive searchRows2 behavior with no "starts with" support, plus workarounds using To Lower Case normalization or List - Filter helper flows. - Pagination and limits reference: Covers the hard 3,500-row return cap with 0-based Offset pagination, and table limits of 500,000 rows, 64 columns, 16 KB per cell, and 200/100 table quotas. - Upsert race mitigation: Documents the read-then-write pattern (Search Rows → If/Else → Create/Update Row), its concurrency race risk, and serialization via a concurrency=1 helper flow. - Use Case: When building a sync-reconciliation flow that searches a table by email and updates rows, apply case normalization and Offset pagination to avoid missed matches and truncated result sets. ## Quick Start Ask how to handle case-sensitive Search Rows and the 3500-row limit in an Okta Workflows table sync flow.

Frequently Asked Questions about okta-workflows-tables

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why is Okta Workflows Search Rows not finding my table rows?

Search Rows (searchRows2) is case-sensitive, so text matching fails on case mismatch and there is no "starts with" operator for text. Normalize case with a Text - To Lower Case card before both writing and searching, or use a List - Filter helper flow for case-insensitive matching.

How do I get more than 3500 rows from an Okta Workflows table?

Search Rows returns a maximum of 3,500 rows regardless of the Limit field. Page through results using the 0-based Offset input in a recursive or paginated helper flow, or design queries on indexed key columns that return fewer than 3,500 rows.

How do I upsert a row in Okta Workflows Tables?

There is no native upsert; the documented pattern is Search Rows, then If/Else on whether the Row ID is empty, then Create Row or Update Row. Under concurrent flow executions this read-then-write can create duplicates, so serialize writes through a concurrency=1 helper flow.

What are the size limits of Okta Workflows tables?

Tables support a maximum of 500,000 rows, 64 columns, and 16 KB (16,000 characters) per cell. You can create up to 200 tables on paid plans or 100 on free plans, and rows cannot be added once the row limit is reached.

Why does my Okta Workflows Where Expression return wrong results when testing?

When passing a variable into the Where Expression and testing the card, you must hand-edit the Where Expression JSON with the lhs/op/join/rhs structure or the test returns wrong output. This only affects card testing with variables.

Can high-frequency table requests cause Okta Workflows throttling?

Yes, table requests are an explicit throttling resource in Okta Workflows. Flows with highly active event cards that make requests through Tables function cards are called out as throttling-eligible, so batch or schedule high-volume table access.