# flow-data-tables

> Configure the Data Table screen component in Salesforce Screen Flows for row selection, including single/multi-select, column setup, and downstream consumption of selected rows.

- Skill: `pranavnagrecha/flow-data-tables` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds add pranavnagrecha/flow-data-tables`
- Raw SKILL.md: https://api.skillmd.com/api/skills/pranavnagrecha/flow-data-tables/raw
- Safety review: PASS (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Tags: Data Table, Flow, Lwc, Salesforce, Screen Flows
- Author: PranavNagrecha (https://skillmd.com/u/pranavnagrecha)
- Updated: 2026-08-22
- Page: https://skillmd.com/skills/pranavnagrecha/flow-data-tables

---


# Flow Data Tables

The Data Table screen component (GA) displays a record collection and lets users select rows. It is the replacement for custom LWC datatables inside flows for 80% of cases. This skill configures columns, selection mode, and downstream consumption of the selected rows, and documents the row-count soft limit beyond which you should switch back to a custom LWC table with server-side paging rather than stretch the screen component into a role it wasn't designed for.

## Adoption Signals

Screen flows that need row selection from a list. Not for inline edit use cases — use lightning-datatable LWC.

- Use Data Table when the user must pick one or many rows that drive a downstream Flow path.
- Avoid when row count exceeds a few hundred — pagination and search aren't first-class in the standard component.

## Recommended Workflow

1. Get Records of the SObject into a collection variable.
2. Add Data Table component; bind Source Collection; configure columns (Label, Field Name, Type).
3. Pick selection mode: Single or Multiple.
4. Downstream: reference `{!DataTable.selectedRows}` or `.firstSelectedRow`.
5. Empty state: branch on collection size and show a message screen if zero.

## Key Considerations

- Column types inferred but can be overridden for currency/date/checkbox.
- Soft limit ~1500 rows; beyond that use pagination or refactor to LWC.
- Sort is per-column user action, not configurable default.
- Supports Lookup columns; Rich Text limited.

## Worked Examples (see `references/examples.md`)

- *Select Contact from list* — Case creation
- *Multi-select bulk update* — Update Cases

## Common Gotchas (see `references/gotchas.md`)

- **Huge collection** — Browser sluggish.
- **Missing empty state** — Empty screen with no action.
- **Lookup column confusion** — Shows Id not Name.

## Top LLM Anti-Patterns (full list in `references/llm-anti-patterns.md`)

- Custom LWC when Data Table suffices
- Unbounded collection
- Missing empty state

## Official Sources Used

- Flow Builder Guide — https://help.salesforce.com/s/articleView?id=sf.flow.htm
- Flow Best Practices — https://help.salesforce.com/s/articleView?id=sf.flow_best_practices.htm
- Reactive Screens — https://help.salesforce.com/s/articleView?id=sf.flow_ref_elements_screen_reactive.htm
- Flow HTTP Callout Action — https://help.salesforce.com/s/articleView?id=sf.flow_concepts_callout.htm

