Skip to main content

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.

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.

The Feedback Record schema

Every record has the following fields. Required fields must be mapped by every source.
FieldTypeRequiredDescription
submission_idstringYesStable ID for the submission (e.g. response_id, ticket_id, order_id). Used for idempotent re-imports.
collected_attimestampYesWhen the feedback was originally collected.
source_typestringYesThe kind of source (e.g. survey, csv, review).
field_idstringYesStable identifier for the question/field.
field_typeenumYesOne of text, categorical, nps, csat, ces, rating, number, boolean, date.
tenant_idstringNoFeedback Directory ID. Set automatically when ingesting.
source_idstringNoReference to the survey/form/ticket/review ID.
source_namestringNoHuman-readable source name for display.
field_labelstringNoThe question text or field label.
field_group_idstringNoGroups related fields (matrix, ranking, grid questions).
field_group_labelstringNoHuman-readable group label.
value_textstringNoText responses.
value_numberfloat64NoNumeric responses (ratings, NPS, CSAT).
value_booleanbooleanNoYes/no responses.
value_datetimestampNoDate responses.
metadatajsonbNoFree-form context (device, campaign, custom fields).
languagestringNoISO 639-1 language code (en, de, fr, …).
user_idstringNoAnonymous user ID. Never store PII here.
The right 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 by collected_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) use submission_id as the dedup key. Re-importing the same submission_id updates the existing record instead of creating a duplicate.