A Feedback Record is one piece of feedback expressed in a normalized schema. Whether it came from a survey response, a CSV row, or an API push, it lands in the same shape so you can query everything together.Documentation Index
Fetch the complete documentation index at: https://formbricks.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
The Feedback Record schema
Every record has the following fields. Required fields must be mapped by every source.| Field | Type | Required | Description |
|---|---|---|---|
submission_id | string | Yes | Stable ID for the submission (e.g. response_id, ticket_id, order_id). Used for idempotent re-imports. |
collected_at | timestamp | Yes | When the feedback was originally collected. |
source_type | string | Yes | The kind of source (e.g. survey, csv, review). |
field_id | string | Yes | Stable identifier for the question/field. |
field_type | enum | Yes | One of text, categorical, nps, csat, ces, rating, number, boolean, date. |
tenant_id | string | No | Feedback Directory ID. Set automatically when ingesting. |
source_id | string | No | Reference to the survey/form/ticket/review ID. |
source_name | string | No | Human-readable source name for display. |
field_label | string | No | The question text or field label. |
field_group_id | string | No | Groups related fields (matrix, ranking, grid questions). |
field_group_label | string | No | Human-readable group label. |
value_text | string | No | Text responses. |
value_number | float64 | No | Numeric responses (ratings, NPS, CSAT). |
value_boolean | boolean | No | Yes/no responses. |
value_date | timestamp | No | Date responses. |
metadata | jsonb | No | Free-form context (device, campaign, custom fields). |
language | string | No | ISO 639-1 language code (en, de, fr, …). |
user_id | string | No | Anonymous user ID. Never store PII here. |
value_* field is set based on field_type. For example a nps field uses value_number, an open-text comment uses value_text.
Viewing and managing records
Inside a workspace, navigate to Unify → Feedback Records. You’ll see the latest records across every directory the workspace has access to, sorted bycollected_at.
From the table you can:
- Filter by directory, source, field type, or date range.
- Open a record drawer to see the full field set and metadata.
- Edit values inline for cleanup (e.g. relabel a categorical answer).
- Delete a record.
- Add a record manually via the ”+ Add” button.
Idempotent imports
Sources that re-ingest data (CSV uploads, API ingestions) usesubmission_id as the dedup key. Re-importing the same submission_id updates the existing record instead of creating a duplicate.