# Data Table

**Data Table** is a static grid on the canvas. You define columns (each needs a **key**) and optional rows. Downstream reads `{{node_X.rows}}`. A table with no usable column blocks **Save**. Zero rows is valid (empty set).

  <ShotPlaceholder
    src="/assets/workflow-nodes/data-table.png"
    name="wn-table"
    alt="Data Table spreadsheet editor"
    capture="Data Table node. 1600×900. A few columns, a few rows. No real phones."
  />

## Why this node

A short SKU list, office locations, canned replies — data that is not worth an API. Live inventory still belongs in [Connect To External Service](https://docs.voicelogica.ai/workflow-nodes/api/).

The editor’s lookup mode is not shipped. Treat it as a producer: columns + rows out.

## First setup — three SKUs the agent can read

1. Any trigger. **Data Table**. Columns: `sku`, `name`, `in_stock` (boolean). Three rows you can say on a call.

     <ShotPlaceholder
       src="/assets/workflow-nodes/data-table-filled.png"
       name="data-table-filled"
       alt="Data Table filled"
       capture="Workflow builder → Data Table selected. Columns sku, name, in_stock and three sample rows. 1600×900. Redact numbers/emails/PINs."
     />

2. [Filter](https://docs.voicelogica.ai/workflow-nodes/filter/) or [If/then](https://docs.voicelogica.ai/workflow-nodes/if-then-decision/) on a During Call parameter vs `sku`.

3. [AI Response](https://docs.voicelogica.ai/workflow-nodes/ai-response/) with `name` / `in_stock`.

4. **Save & go live**, attach, ask for one of those SKUs.

## What “broken” looks like

- **Needs setup** — no column key.
- `{{node_X.rows}}` is empty objects — keys missing or you pointed at the wrong node.
- Stale stock — you edited the live warehouse in a static table.

## Troubleshooting

**Table vs Google Sheet?**

Table ships with the workflow. A Sheet is shared and edited outside the builder. Use the Sheet when ops own the rows.

## Next Steps

[Filter Data](https://docs.voicelogica.ai/workflow-nodes/filter/).  
[Connect To External Service](https://docs.voicelogica.ai/workflow-nodes/api/) — when the list is live.  
[AI Response to Caller](https://docs.voicelogica.ai/workflow-nodes/ai-response/).
