# Custom Table Widget

### What is the Custom Table Widget?

The Custom Table widget is a widget type available in Birdie Dashboards. It displays data in a structured grid where each column is configured individually, giving you full control over what information appears in the table and how it is labeled. Unlike the standard Table widget, where columns are generated automatically from a secondary breakdown dimension, the Custom Table lets you define each column from scratch by choosing its dimension, metric, and title independently.

This makes the Custom Table the most flexible data widget in Birdie, and the right choice when you need to combine different metrics or dimensions side by side in a single view.

#### How to extract the most value from the Custom Table Widget?

Use the Custom Table widget when the data you want to display cannot be expressed through a single metric and a single breakdown. It is most useful when you want to answer questions such as:

* How does the overall feedback count for each area compare to the number of complaints and the CSAT score, all in one table?
* Can I see NPS, ticket volume, and overall count side by side for every area I track?
* How do different metrics from different sources look together for a specific set of segments?

Because each column is configured separately, you can mix and match dimensions and metrics freely. Each column can pull from a different data source, use a different metric category, and carry a custom label to make the table immediately readable for any audience.

<img src="/files/58M5bt8E7UZVnWIhYBO0" alt="Custom Table widget preview" width="563">

### Setting up a Custom Table Widget

{% stepper %}
{% step %}

#### Select the widget type

When adding a new widget to your dashboard, select **Custom table** from the widget type options at the top of the configuration panel.

Once selected, the preview area will display a prompt to add columns before any data can be shown.
{% endstep %}

{% step %}

#### Add a title and subtitle

In the **Title** field, enter a clear name for your widget. You can also add an optional **Subtitle** to provide additional context for other users viewing the dashboard.
{% endstep %}

{% step %}

#### Configure the rows

Navigate to the **Setup** tab. The **Rows** section controls what appears in each row of the table.

* **Primary breakdown**: Select the dimension that will define each row. For example, selecting **Areas** will render one row per feedback area.
* **Selection**: Choose which specific items within the primary breakdown to include. By default, all available items are selected.
* **Limit breakdown results to**: Toggle this on and set a number to cap how many rows are displayed. When disabled, all selected items are shown.
  {% endstep %}

{% step %}

#### Add and configure columns

The **Columns** section is where the Custom Table differs from the standard Table widget. Rather than generating columns from a single secondary breakdown, you add each column individually and configure it separately.

Click **Add column** to add a new column to the table. Each column has three fields:

* **Title**: Enter a label for the column heading. This is the name that will appear at the top of the column in the rendered table.
* **Column**: Select the dimension this column will pull data from. Available options include Org, Area, Opportunity, Segment, Reasons, Criteria, Collection, Sentiment, Intention, Source, and Feedback details. Each option may have sub-options to further specify the data source.
* **Metric**: Select the metric to display in this column. Available options include Overall, Complaints, CSAT, NPS, Reviews, Social media posts, and Tickets. Each metric may have sub-options to specify the exact calculation.

Repeat this process to add as many columns as needed. You can reorder columns by dragging the handle on the left side of each column row.

{% hint style="info" %}
Giving each column a clear, concise title is especially important in the Custom Table, as column labels are the only way viewers can understand what metric and dimension each column represents.
{% endhint %}
{% endstep %}

{% step %}

#### Configure sorting

The **Sorting** section controls how rows are ordered in the table.

* **Column**: Select which column the table should be sorted by.
* **Sort by**: Choose the sort direction. The default is **Ascending**.
  {% endstep %}

{% step %}

#### Set filters

Navigate to the **Filter** tab to control the time range of the data shown.

* **Date range**: Select the period you want the table to cover. The default is **Last 30 days**.
* **Advanced filters**: Use the **Add filter** option to refine the data further, for example by a specific tag, sentiment, or source. You can also enable **Ignore global filter** if you want this widget to display independently of any dashboard-level filters.

<img src="/files/yPeaN3mKNFTpAyEoKDJf" alt="Filter tab showing date range and advanced filter settings" width="375">

{% hint style="info" %}
Unlike the standard Table widget, the Custom Table does not have a time aggregation setting, as columns are defined individually rather than generated from a date-based secondary breakdown.
{% endhint %}
{% endstep %}

{% step %}

#### Save the widget

Once you are satisfied with the configuration, click **Save changes** to add the Custom Table widget to your dashboard.

{% hint style="info" %}
Remember to save the Dashboard itself after setting up the widget, otherwise your changes will not be persisted.
{% endhint %}
{% endstep %}
{% endstepper %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ask.birdie.ai/voice-of-customer/dashboards-and-reporting/dashboard-widgets/custom-table-widget.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
