> ## Documentation Index
> Fetch the complete documentation index at: https://developers.redo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# EmailTemplateTableCollection

> An event path a DYNAMIC table can bind as `rowCollection`. Schema fields, not Mongo ids.

<ResponseField name="cellBindings" type={<a href="/docs/api-reference/v3/reference/marketing/email-template-table-cell-binding">[EmailTemplateTableCellBinding!]!</a>} required>
  Known `{{ }}` paths on each row. Empty until nested item schemas exist; empty when `openEnded` is true.

  <Expandable title="fields" lazyRender>
    <ResponseField name="description" type="String!" required>
      What the path resolves to on each row.
    </ResponseField>

    <ResponseField name="expression" type="String!" required>
      Expression to put in a dynamic cell, including the `item` alias, e.g. `item.product.title`. Write `{{ item.product.title }}`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="description" type="String!" required>
  What the collection holds.
</ResponseField>

<ResponseField name="itemAlias" type="String!" required>
  Row alias each row is bound as. Always `item`; cells must use `{{ item.… }}`.
</ResponseField>

<ResponseField name="itemDataType" type="String!" required>
  Element type, e.g. `Line Item`, `Trackable Line Item`, or `Object`.
</ResponseField>

<ResponseField name="openEnded" type="Boolean!" required>
  True when nested array paths under this object are merchant-defined (custom-event `properties`). Append the array key to `path`.
</ResponseField>

<ResponseField name="path" type="String!" required>
  Value for `rowCollection`, e.g. `relevantLineItems` or `properties.order_products`.
</ResponseField>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.